commit:     d3e2915edd509df1b98cd0fb8ef70b259af9f9a0
Author:     Martin Mokrejs <mmokrejs <AT> fold <DOT> natur <DOT> cuni <DOT> cz>
AuthorDate: Wed Apr 18 16:52:50 2018 +0000
Commit:     Martin Mokrejs <mmokrejs <AT> fold <DOT> natur <DOT> cuni <DOT> cz>
CommitDate: Wed Apr 18 16:52:50 2018 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=d3e2915e

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

 sci-libs/tensorflow/tensorflow-1.7.0.ebuild | 42 +++++++++++++++++++++++------
 1 file 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
+}

Reply via email to