diff options
author | Martin Mokrejs <mmokrejs@fold.natur.cuni.cz> | 2018-04-18 18:52:50 +0200 |
---|---|---|
committer | Martin Mokrejs <mmokrejs@fold.natur.cuni.cz> | 2018-04-18 18:52:50 +0200 |
commit | d3e2915edd509df1b98cd0fb8ef70b259af9f9a0 (patch) | |
tree | 27409c9f54069534836d03e2c2c812760a7f7374 | |
parent | sci-biology/picard: use EGIT_COMMIT to fetch by a release tag (diff) | |
download | sci-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.ebuild | 42 |
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 +} |