[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