aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Mokrejs <mmokrejs@fold.natur.cuni.cz>2018-04-18 18:52:50 +0200
committerMartin Mokrejs <mmokrejs@fold.natur.cuni.cz>2018-04-18 18:52:50 +0200
commitd3e2915edd509df1b98cd0fb8ef70b259af9f9a0 (patch)
tree27409c9f54069534836d03e2c2c812760a7f7374
parentsci-biology/picard: use EGIT_COMMIT to fetch by a release tag (diff)
downloadsci-d3e2915edd509df1b98cd0fb8ef70b259af9f9a0.tar.gz
sci-d3e2915edd509df1b98cd0fb8ef70b259af9f9a0.tar.bz2
sci-d3e2915edd509df1b98cd0fb8ef70b259af9f9a0.zip
sci-libs/tensorflow: more ebuild tweaks (still not working)
- partially incorporate changes from https://github.com/gentoo/sci/issues/862 - respect more USE flags: cuda mpi - similar addition of opencl use flag doe snot work for me, repoman complains with: IUSE.invalid [fatal] 1 sci-libs/tensorflow/tensorflow-1.7.0.ebuild: opencl - try to install into python's site-packages properly (cannot test it) - the ebuild does not work for me still (SANDBOX VIOLATION due to /proc/self/setgroups access) Package-Manager: Portage-2.3.28, Repoman-2.3.9
-rw-r--r--sci-libs/tensorflow/tensorflow-1.7.0.ebuild42
1 files changed, 34 insertions, 8 deletions
diff --git a/sci-libs/tensorflow/tensorflow-1.7.0.ebuild b/sci-libs/tensorflow/tensorflow-1.7.0.ebuild
index d411ba0ac..75f5d499d 100644
--- a/sci-libs/tensorflow/tensorflow-1.7.0.ebuild
+++ b/sci-libs/tensorflow/tensorflow-1.7.0.ebuild
@@ -23,24 +23,25 @@ IUSE="cuda mpi"
# TensorFlow 1.7 may be the last time we support cuDNN versions below 6.0.
# Starting with TensorFlow 1.8 release, 6.0 will be the minimum supported
# version.
-DEPEND="dev-util/bazel
+DEPEND="
+ dev-util/bazel
dev-python/wheel
dev-python/numpy
dev-libs/protobuf-c
dev-python/absl-py
cuda? ( >=dev-util/nvidia-cuda-toolkit-7.0[profiler] >=dev-libs/cudnn-3 )
mpi? ( virtual/mpi )"
+ #opencl? ( virtual/opencl )"
RDEPEND="${DEPEND}"
-# TODO: seems it also supports some MPI implementation
-
+# TODO: seems it also supports some MPI implementations
src_configure(){
# there is no setup.py but there is configure
# https://www.tensorflow.org/install/install_sources
# https://www.tensorflow.org/install/install_linux#InstallingNativePip
#
# usage: configure.py [-h] [--workspace WORKSPACE]
- python_configure() {
+ python_configure() {
export PYTHON_BIN_PATH=${PYTHON}
export PYTHON_LIB_PATH=${PYTHON_SITEDIR}
export TF_NEED_JEMALLOC=1
@@ -52,8 +53,16 @@ src_configure(){
export TF_NEED_GDR=0
export TF_NEED_VERBS=0
export TF_NEED_OPENCL=0
- export TF_NEED_CUDA=0
- export TF_NEED_MPI=0
+ if use cuda; then
+ export TF_NEED_CUDA=1
+ else
+ export TF_NEED_CUDA=0
+ fi
+ if use mpi; then
+ export TF_NEED_MPI=1
+ else
+ export TF_NEED_MPI=0
+ fi
export TF_NEED_OPENCL_SYCL=0
export CC_OPT_FLAGS=${CFLAGS}
export JAVA_HOME=$(java-config -O)
@@ -63,12 +72,16 @@ src_configure(){
python_foreach_impl python_configure
}
-
src_compile() {
python_compile() {
# huh, by default tensorflow links static libs? See BUILD file
# set framework_shared_object=true somehow
- bazel build --config=opt /tensorflow/tools/pip_package:build_pip_package || die
+ if use cuda; then
+ opt="--config=cuda"
+ else
+ opt=""
+ fi
+ bazel build --config=opt ${opt} /tensorflow/tools/pip_package:build_pip_package || die
bazel-bin/tensorflow/tools/pip_package/build_pip_package tensorflow_pkg || die
unzip -o -d tensorflow_pkg tensorflow_pkg/${P}-cp35-cp35m-linux_x86_64.whl || die
python_domodule tensorflow_pkg/${P}.data/purelib/tensorflow
@@ -77,3 +90,16 @@ src_compile() {
}
python_foreach_impl python_compile
}
+
+src_test() {
+ python_foreach_impl python_test
+}
+
+src_install() {
+ python_install() {
+ python_copy_sources tensorflow_pkg/${P}.data/purelib/tensorflow/
+ python_copy_sources tensorflow_pkg/${P}.dist-info
+ }
+ python_foreach_impl python_install
+ einstalldocs
+}