[arch-commits] Commit in tensorflow/trunk (PKGBUILD)

Sven-Hendrik Haase svenstaro at archlinux.org
Wed May 10 08:14:51 UTC 2017


    Date: Wednesday, May 10, 2017 @ 08:14:50
  Author: svenstaro
Revision: 227662

upgpkg: tensorflow 1.1.0-3

Make a CUDA and a non-CUDA split package

Modified:
  tensorflow/trunk/PKGBUILD

----------+
 PKGBUILD |   63 ++++++++++++++++++++++++++++++++++++++++++++++---------------
 1 file changed, 48 insertions(+), 15 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2017-05-10 08:05:34 UTC (rev 227661)
+++ PKGBUILD	2017-05-10 08:14:50 UTC (rev 227662)
@@ -3,21 +3,19 @@
 # Contributor: Thibault Lorrain (fredszaq) <fredszaq at gmail.com>
 
 pkgbase=tensorflow
-pkgname=(tensorflow python-tensorflow)
+pkgname=(tensorflow tensorflow-cuda python-tensorflow python-tensorflow-cuda)
 pkgver=1.1.0
-pkgrel=2
+pkgrel=3
 pkgdesc="Library for computation using data flow graphs for scalable machine learning"
 url="https://www.tensorflow.org/"
 license=('Apache2')
 arch=('x86_64')
 makedepends=('git' 'bazel' 'python-numpy' 'gcc5' 'cuda' 'cudnn' 'python-pip' 'python-wheel' 'python-setuptools')
-optdepends=('cuda: GPU support'
-            'cudnn: GPU support')
 source=("https://github.com/tensorflow/tensorflow/archive/v${pkgver}.tar.gz")
 sha512sums=('5dc0e13742c06cbc6407cc54de02d825928e9c16eeee169b198bbec95acd2a9af49bf3df092c99be1e3adadd40c5f4edf8735c6ad67a370c90c1e74146c32eac')
 
 prepare() {
-  cd tensorflow-${pkgver}
+  cp -r tensorflow-${pkgver} tensorflow-${pkgver}-cuda
   # These environment variables influence the behavior of the configure call below.
   export PYTHON_BIN_PATH=/usr/bin/python
   export USE_DEFAULT_PYTHON_LIB_PATH=1
@@ -28,30 +26,37 @@
   export TF_ENABLE_XLA=1
   export TF_NEED_VERBS=0
   export TF_NEED_OPENCL=0
+}
+
+build() {
+  cd ${srcdir}/tensorflow-${pkgver}
+
+  export TF_NEED_CUDA=0
+
+  ./configure
+  bazel build --config=opt //tensorflow:libtensorflow.so //tensorflow/tools/pip_package:build_pip_package
+  bazel-bin/tensorflow/tools/pip_package/build_pip_package ${srcdir}/tmp
+
+  cd ${srcdir}/tensorflow-${pkgver}-cuda
+
   export TF_NEED_CUDA=1
   export GCC_HOST_COMPILER_PATH=/usr/bin/gcc-5
-
   # For next version instead of the gcc-5 stuff:
   # export TF_CUDA_CLANG=1
   # export CLANG_CUDA_COMPILER_PATH=/usr/bin/clang
-
   export CUDA_TOOLKIT_PATH=/opt/cuda
   export TF_CUDA_VERSION=$($CUDA_TOOLKIT_PATH/bin/nvcc --version | sed -n 's/^.*release \(.*\),.*/\1/p')
   export CUDNN_INSTALL_PATH=/opt/cuda
   export TF_CUDNN_VERSION=$(sed -n 's/^#define CUDNN_MAJOR\s*\(.*\).*/\1/p' $CUDNN_INSTALL_PATH/include/cudnn.h)
-  export TF_CUDA_COMPUTE_CAPABILITIES=3.5,5.2,6.1
-}
+  export TF_CUDA_COMPUTE_CAPABILITIES=3.0,3.5,5.2,6.1
 
-build() {
-  cd tensorflow-${pkgver}
-
   ./configure
   bazel build --config=opt --config=cuda //tensorflow:libtensorflow.so //tensorflow/tools/pip_package:build_pip_package
-  bazel-bin/tensorflow/tools/pip_package/build_pip_package ${srcdir}/tmp
+  bazel-bin/tensorflow/tools/pip_package/build_pip_package ${srcdir}/tmpcuda
 }
 
 package_tensorflow() {
-  cd tensorflow-${pkgver}
+  cd ${srcdir}/tensorflow-${pkgver}
 
   install -Dm755 bazel-bin/tensorflow/libtensorflow.so ${pkgdir}/usr/lib/lib${pkgname}.so
   install -Dm644 tensorflow/c/c_api.h ${pkgdir}/usr/include/${pkgname}/c_api.h
@@ -58,9 +63,23 @@
   install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
 }
 
+package_tensorflow-cuda() {
+  depends=(cuda cudnn)
+  conflicts=(tensorflow)
+  provides=(tensorflow)
+
+  cd ${srcdir}/tensorflow-${pkgver}-cuda
+
+  install -Dm755 bazel-bin/tensorflow/libtensorflow.so ${pkgdir}/usr/lib/lib${pkgname}.so
+  install -Dm644 tensorflow/c/c_api.h ${pkgdir}/usr/include/${pkgname}/c_api.h
+  install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
+
 package_python-tensorflow() {
-  cd tensorflow-${pkgver}
+  depends=(python)
 
+  cd ${srcdir}/tensorflow-${pkgver}
+
   WHEEL_PACKAGE=$(find ${srcdir}/tmp -name "tensor*.whl")
   pip install --ignore-installed --upgrade --root $pkgdir/ $WHEEL_PACKAGE --no-dependencies
   find ${pkgdir} -name __pycache__ -exec rm -r {} +
@@ -68,4 +87,18 @@
   install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
 }
 
+package_python-tensorflow-cuda() {
+  depends=(python cuda cudnn)
+  conflicts=(python-tensorflow)
+  provides=(python-tensorflow)
+
+  cd ${srcdir}/tensorflow-${pkgver}-cuda
+
+  WHEEL_PACKAGE=$(find ${srcdir}/tmpcuda -name "tensor*.whl")
+  pip install --ignore-installed --upgrade --root $pkgdir/ $WHEEL_PACKAGE --no-dependencies
+  find ${pkgdir} -name __pycache__ -exec rm -r {} +
+
+  install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
+
 # vim:set ts=2 sw=2 et:



More information about the arch-commits mailing list