diff options
author | Jason Zaman <perfinion@gentoo.org> | 2018-10-05 17:23:23 +0800 |
---|---|---|
committer | Jason Zaman <perfinion@gentoo.org> | 2018-10-05 17:44:30 +0800 |
commit | 245e5a6c095ae507b221044f5504de053b6f78fb (patch) | |
tree | 827c3e8b8d81af1e5dda0abe7a948d5ef708397c /sci-libs/tensorflow | |
parent | dev-util/bazel: drop old (diff) | |
download | gentoo-245e5a6c095ae507b221044f5504de053b6f78fb.tar.gz gentoo-245e5a6c095ae507b221044f5504de053b6f78fb.tar.bz2 gentoo-245e5a6c095ae507b221044f5504de053b6f78fb.zip |
sci-libs/tensorflow: drop old RCs
Signed-off-by: Jason Zaman <perfinion@gentoo.org>
Package-Manager: Portage-2.3.49, Repoman-2.3.10
Diffstat (limited to 'sci-libs/tensorflow')
-rw-r--r-- | sci-libs/tensorflow/Manifest | 4 | ||||
-rw-r--r-- | sci-libs/tensorflow/tensorflow-1.11.0_rc0.ebuild | 433 | ||||
-rw-r--r-- | sci-libs/tensorflow/tensorflow-1.11.0_rc2.ebuild | 435 |
3 files changed, 0 insertions, 872 deletions
diff --git a/sci-libs/tensorflow/Manifest b/sci-libs/tensorflow/Manifest index 88f3f83a25be..ed42bbfd8dad 100644 --- a/sci-libs/tensorflow/Manifest +++ b/sci-libs/tensorflow/Manifest @@ -24,10 +24,6 @@ DIST oourafft-20061228.tgz 72213 BLAKE2B 4a3ac2b4c0bc3275b5743df59241e1cdbd02003 DIST protobuf-3.6.0.tar.gz 4483224 BLAKE2B b6716d33c14ab98a05676a3369b4762179df88ed3e8c34b93075c12edc10213bf1c427a59a8840bc64b53365264021b8075a02a44478c998062cf04da95c0075 SHA512 46df0187e5c9e7d213930d916f6c89e7a41eca1aaac228d8f56e3f784598a9f323d7cc2d3cf20668ceb776d3237c4eccf685ef8d7808f09107fa8e441f9899f4 DIST tensorflow-1.10.0.tar.gz 24490786 BLAKE2B 2ecec19b2b2ebb2e292ec07fee458017aa3fcc4c1445e6c9419ea9bd37990a58607c8f3134c785be0e3ae098c332a734fb85717b2ecd781551a0c8f20ffca8f2 SHA512 a25257ad7e561c2040ba9dda699acb24b757e6d79c60324cab20d8d8a428fef79a06a3627a95a59e2c8408a094666b9aa6d8af1c5419fa8c238e1f5e10e9ec33 DIST tensorflow-1.11.0.tar.gz 25024790 BLAKE2B 74129fb1e6db0317fd45266dae7aa4fab811e1ebf0d093f3153684fa4465f4319cbf8fd50c6667f9c4ddbce5c100ee00151ec2873eca93ef7d5ebbc04ab6b965 SHA512 26e9542c43e11a663cbc5cf42859ae7b6dc0e92cfa88775fd4d1badba7f08c59b60c05010fd9f3ec501313be5c042f39b17323bb4753babf365ba2a48af836c2 -DIST tensorflow-1.11.0_rc0.tar.gz 25032294 BLAKE2B 7a99630445eb51db39c9a0b948dc04b63d48a55cf56e96f431a597695bfc9f36701b42ba9de3bcbb4134661f583fec2f2068a396a559b422806b973b149e62f0 SHA512 1f537188338d09fb63705d8d1eb9e6f6e89274ded5d16f165f63ff97d6e1f534d7e9dc412fb38e00d834f8ff5ec5f00a6fa5ab464ba0ab47b501916cb8828d7f -DIST tensorflow-1.11.0_rc2.tar.gz 25032827 BLAKE2B 66235ac6c07f9855143a669716c5937badf225e4c7e656b1d0f205f00d387a197cf72bb887b28856e7a162d27b5886508d39a7004de0c204769edb8c5a94367b SHA512 6221ae7bf4f4406993428b02a5e98af846d9e5b222c2f155a89d5c7609a0dbdd6df4c93d9729a3cb57a0682c422be4fe144f47738deb11498590f35cbb273441 DIST tensorflow-patches-1.10.0.tar.bz2 4032 BLAKE2B 8588deec74179d8044af631de8e651491cc713553ee15ece9dff5052bd95b10924bdbe4301453f00d0f2fccd5d595d496b48fe45b0259837653b2de9e1898ab9 SHA512 1f57995ca9b3278735636cc42c88dc45558fa6a1d656108293f8df3fd9961d75f5e979bf0a9909136134e1cdaab41a34f83e605b48b23dddf17a6b1be684117b DIST tensorflow-patches-1.11.0.tar.bz2 11013 BLAKE2B 929cb9fee5e6b63f00341351908d3050c676670d9cc2c1241bd2e3c86601704a7495ab598b992718f0b51fc369e33e7c646bc5db3ba3b86b18326b1c2d2974a8 SHA512 76a94c9444e1d984afaf080222d430032636204d05a5e3ff5530012dfa1eba78619dd2a2942343ccc2f7fc489eb8c6f51fddd0b84cb2c2db645b2b914cc61f80 -DIST tensorflow-patches-1.11.0_rc0.tar.bz2 10103 BLAKE2B 66c9e8838f25be13851be3265af880a22355d0e8eb2cc297fff2118df1d6070bbbb216631e522f704a0d41d4029742f073a76acb01bbf150d827e69c9f6f5fc5 SHA512 05c3e7c1dfe50716b8043d7b1febf7a4f3e641c65b9c778a2fe0486ac0e9c091d50dba1c8e3c2b9417758ce8181688bb47ec0eb7804f8aa50726d52cfd202a8b -DIST tensorflow-patches-1.11.0_rc2.tar.bz2 11013 BLAKE2B 929cb9fee5e6b63f00341351908d3050c676670d9cc2c1241bd2e3c86601704a7495ab598b992718f0b51fc369e33e7c646bc5db3ba3b86b18326b1c2d2974a8 SHA512 76a94c9444e1d984afaf080222d430032636204d05a5e3ff5530012dfa1eba78619dd2a2942343ccc2f7fc489eb8c6f51fddd0b84cb2c2db645b2b914cc61f80 DIST tensorflow-python-license.txt 45132 BLAKE2B 1f572a06eeb4a58a5563b87a2db381a6e9eb0195cf1d006bda0d3da158e62a1e67e889a7d3d0da83d8609c0d048887bcbbd0d7056fd8e4f56b654047f36936fa SHA512 1b8c2f9733fcf27d560879418c366b5c3e44420d42adb3b857ee741793ddc75ad18324b016909457e5311f2143593392ce4404d12962f076e62f6036afbb521e diff --git a/sci-libs/tensorflow/tensorflow-1.11.0_rc0.ebuild b/sci-libs/tensorflow/tensorflow-1.11.0_rc0.ebuild deleted file mode 100644 index f0ce2845ea8d..000000000000 --- a/sci-libs/tensorflow/tensorflow-1.11.0_rc0.ebuild +++ /dev/null @@ -1,433 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -DISTUTILS_OPTIONAL=1 -PYTHON_COMPAT=( python2_7 python3_6 ) -MY_PV=${PV/_rc/-rc} -MY_P=${PN}-${MY_PV} - -inherit check-reqs cuda distutils-r1 eapi7-ver multiprocessing toolchain-funcs - -DESCRIPTION="Computation framework using data flow graphs for scalable machine learning" -HOMEPAGE="https://www.tensorflow.org/" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="cuda jemalloc mpi +python +system-libs" -CPU_USE_FLAGS_X86="sse sse2 sse3 sse4_1 sse4_2 avx avx2 fma3 fma4" -for i in $CPU_USE_FLAGS_X86; do - IUSE+=" cpu_flags_x86_$i" -done - -# distfiles that bazel uses for the workspace, will be copied to basel-distdir -bazel_external_uris=" - http://www.kurims.kyoto-u.ac.jp/~ooura/fft.tgz -> oourafft-20061228.tgz - https://bitbucket.org/eigen/eigen/get/fd6845384b86.tar.gz -> eigen-fd6845384b86.tar.gz - https://github.com/abseil/abseil-cpp/archive/f0f15c2778b0e4959244dd25e63f445a455870f5.tar.gz -> abseil-cpp-f0f15c2778b0e4959244dd25e63f445a455870f5.tar.gz - https://github.com/bazelbuild/rules_closure/archive/dbb96841cc0a5fb2664c37822803b06dab20c7d1.tar.gz -> bazelbuild-rules_closure-dbb96841cc0a5fb2664c37822803b06dab20c7d1.tar.gz - https://github.com/google/double-conversion/archive/3992066a95b823efc8ccc1baf82a1cfc73f6e9b8.zip -> double-conversion-3992066a95b823efc8ccc1baf82a1cfc73f6e9b8.zip - https://github.com/google/farmhash/archive/816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz -> farmhash-816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz - https://github.com/google/gemmlowp/archive/38ebac7b059e84692f53e5938f97a9943c120d98.zip -> gemmlowp-38ebac7b059e84692f53e5938f97a9943c120d98.zip - https://github.com/google/highwayhash/archive/fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz -> highwayhash-fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz - cuda? ( - https://github.com/nvidia/nccl/archive/03d856977ecbaac87e598c0c4bafca96761b9ac7.tar.gz -> nvidia-nccl-03d856977ecbaac87e598c0c4bafca96761b9ac7.tar.gz - https://github.com/NVlabs/cub/archive/1.8.0.zip -> cub-1.8.0.zip - ) - python? ( - https://github.com/intel/ARM_NEON_2_x86_SSE/archive/0f77d9d182265259b135dad949230ecbf1a2633d.tar.gz -> ARM_NEON_2_x86_SSE-0f77d9d182265259b135dad949230ecbf1a2633d.tar.gz - https://mirror.bazel.build/docs.python.org/2.7/_sources/license.txt -> tensorflow-python-license.txt - https://pypi.python.org/packages/5c/78/ff794fcae2ce8aa6323e789d1f8b3b7765f601e7702726f430e814822b96/gast-0.2.0.tar.gz - https://pypi.python.org/packages/bc/cc/3cdb0a02e7e96f6c70bd971bc8a90b8463fda83e264fa9c5c1c98ceabd81/backports.weakref-1.0rc1.tar.gz - !system-libs? ( - https://github.com/abseil/abseil-py/archive/pypi-v0.2.2.tar.gz -> abseil-py-0.2.2.tar.gz - https://github.com/googleapis/googleapis/archive/f81082ea1e2f85c43649bee26e0d9871d4b41cdb.zip -> googleapis-f81082ea1e2f85c43649bee26e0d9871d4b41cdb.zip - https://github.com/GoogleCloudPlatform/google-cloud-cpp/archive/f875700a023bdd706333cde45aee8758b272c357.tar.gz -> google-cloud-cpp-f875700a023bdd706333cde45aee8758b272c357.tar.gz - https://github.com/google/boringssl/archive/a0fb951d2a26a8ee746b52f3ba81ab011a0af778.tar.gz -> boringssl-a0fb951d2a26a8ee746b52f3ba81ab011a0af778.tar.gz - ) - ) - !system-libs? ( - https://github.com/google/protobuf/archive/v3.6.0.tar.gz -> protobuf-3.6.0.tar.gz - )" - -SRC_URI="https://github.com/${PN}/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz - https://dev.gentoo.org/~perfinion/patches/tensorflow-patches-${PVR}.tar.bz2 - ${bazel_external_uris}" - -RDEPEND=" - app-arch/snappy - dev-db/lmdb - dev-db/sqlite - >=dev-libs/jsoncpp-1.8.4 - dev-libs/libpcre - dev-libs/nsync - >=dev-libs/protobuf-3.6.0 - >=dev-libs/re2-0.2018.04.01 - media-libs/giflib - media-libs/libjpeg-turbo - media-libs/libpng:0 - >=net-libs/grpc-1.13.0 - net-misc/curl - sys-libs/zlib - cuda? ( - >=dev-util/nvidia-cuda-toolkit-8.0[profiler] - >=dev-libs/cudnn-6.0 - ) - jemalloc? ( >=dev-libs/jemalloc-4.4.0 ) - mpi? ( virtual/mpi ) - python? ( - ${PYTHON_DEPS} - >=dev-libs/flatbuffers-1.8.0 - dev-python/absl-py[${PYTHON_USEDEP}] - dev-python/astor[${PYTHON_USEDEP}] - dev-python/numpy[${PYTHON_USEDEP}] - >=dev-python/protobuf-python-3.6.0[${PYTHON_USEDEP}] - dev-python/six[${PYTHON_USEDEP}] - dev-python/termcolor[${PYTHON_USEDEP}] - >=net-libs/grpc-1.13.0[python,${PYTHON_USEDEP}] - sci-libs/keras-applications[${PYTHON_USEDEP}] - sci-libs/keras-preprocessing[${PYTHON_USEDEP}] - virtual/python-enum34[${PYTHON_USEDEP}] - system-libs? ( - net-libs/google-cloud-cpp - ) - ) - system-libs? ( - dev-libs/openssl:0 - )" -DEPEND="${RDEPEND} - !python? ( dev-lang/python ) - app-arch/unzip - >=dev-util/bazel-0.16.0 - dev-java/java-config - dev-python/mock - dev-lang/nasm - dev-lang/swig - dev-python/cython" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -S="${WORKDIR}/${MY_P}" - -DOCS=( AUTHORS CONTRIBUTING.md ISSUE_TEMPLATE.md README.md RELEASE.md ) -CHECKREQS_MEMORY="5G" -CHECKREQS_DISK_BUILD="5G" - -bazel-get-cpu-flags() { - local i f=() - # Keep this list in sync with tensorflow/core/platform/cpu_feature_guard.cc. - for i in sse sse2 sse3 sse4_1 sse4_2 avx avx2 fma4; do - use cpu_flags_x86_${i} && f+=( -m${i/_/.} ) - done - use cpu_flags_x86_fma3 && f+=( -mfma ) - echo "${f[*]}" -} - -bazel-get-flags() { - local i fs=() - for i in ${CFLAGS} $(bazel-get-cpu-flags); do - fs+=( "--copt=${i}" "--host_copt=${i}" ) - done - for i in ${CXXFLAGS} $(bazel-get-cpu-flags); do - fs+=( "--cxxopt=${i}" "--host_cxxopt=${i}" ) - done - for i in ${CPPFLAGS}; do - fs+=( "--copt=${i}" "--host_copt=${i}" ) - fs+=( "--cxxopt=${i}" "--host_cxxopt=${i}" ) - done - for i in ${LDFLAGS}; do - fs+=( "--linkopt=${i}" "--host_linkopt=${i}" ) - done - echo "${fs[*]}" -} - -setup_bazelrc() { - if [[ -f "${T}/bazelrc" ]]; then - return - fi - - # F: fopen_wr - # P: /proc/self/setgroups - # Even with standalone enabled, the Bazel sandbox binary is run for feature test: - # https://github.com/bazelbuild/bazel/blob/7b091c1397a82258e26ab5336df6c8dae1d97384/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedSpawnRunner.java#L61 - # https://github.com/bazelbuild/bazel/blob/76555482873ffcf1d32fb40106f89231b37f850a/src/main/tools/linux-sandbox-pid1.cc#L113 - addpredict /proc - - mkdir -p "${T}/bazel-cache" || die - mkdir -p "${T}/bazel-distdir" || die - - cat > "${T}/bazelrc" <<-EOF || die - startup --batch - - # dont strip HOME, portage sets a temp per-package dir - build --action_env HOME - - # make bazel respect MAKEOPTS - build --jobs=$(makeopts_jobs) $(bazel-get-flags) - build --compilation_mode=opt --host_compilation_mode=opt - - # Use standalone strategy to deactivate the bazel sandbox, since it - # conflicts with FEATURES=sandbox. - build --spawn_strategy=standalone --genrule_strategy=standalone - test --spawn_strategy=standalone --genrule_strategy=standalone - - build --strip=never - build --verbose_failures --noshow_loading_progress - test --verbose_test_summary --verbose_failures --noshow_loading_progress - - # make bazel only fetch distfiles from the cache - fetch --repository_cache=${T}/bazel-cache/ --distdir=${T}/bazel-distdir/ - build --repository_cache=${T}/bazel-cache/ --distdir=${T}/bazel-distdir/ - - build --define=PREFIX=${EPREFIX%/}/usr - build --define=LIBDIR=\$(PREFIX)/$(get_libdir) - - EOF -} - -ebazel() { - # Use different build folders for each multibuild variant. - local base_suffix="${MULTIBUILD_VARIANT+-}${MULTIBUILD_VARIANT}" - local output_base="${WORKDIR}/bazel-base${base_suffix}" - mkdir -p "${output_base}" || die - - einfo Running: bazel --output_base="${output_base}" "$@" - bazel --output_base="${output_base}" $@ || die -} - -load_distfiles() { - # Populate the bazel distdir to fetch from since it cannot use the network - # Bazel looks in distdir but will only look for the original filename, not - # the possibly renamed one that portage downloaded. If the line has -> we - # need to rename it back, otherwise a simple copy is fine. - - local src dst uri rename - - while read uri rename dst; do - src="${uri##*/}" - [[ -z $src ]] && continue - if [[ "$rename" != "->" ]]; then - dst="${src}" - fi - - [[ ${A} =~ ${dst} ]] || continue - - if [[ "$dst" == "$src" ]]; then - einfo "Copying $dst to bazel distdir ..." - else - einfo "Copying $dst to bazel distdir $src ..." - fi - ln -s "${DISTDIR}/${dst}" "${T}/bazel-distdir/${src}" || die - done <<< "$(sed -re 's/!?[A-Za-z]+\?\s+\(\s*//g; s/\s+\)//g' <<< "${bazel_external_uris}")" -} - -pkg_setup() { - check-reqs_pkg_setup -} - -src_unpack() { - # Only unpack the main distfile - unpack "${P}.tar.gz" - unpack tensorflow-patches-${PVR}.tar.bz2 -} - -src_prepare() { - export JAVA_HOME=$(java-config --jre-home) # so keepwork works - - setup_bazelrc - load_distfiles - - eapply "${WORKDIR}"/patches/*.patch - - default - use python && python_copy_sources - - if use cuda; then - local i - for i in /dev/nvidia*; do - addpredict $i - done - fi -} - -src_configure() { - export JAVA_HOME=$(java-config --jre-home) # so keepwork works - - do_configure() { - export CC_OPT_FLAGS=" " - export TF_NEED_JEMALLOC=$(usex jemalloc 1 0) - export TF_NEED_GCP=0 - export TF_NEED_HDFS=0 - export TF_NEED_S3=0 - export TF_NEED_AWS=0 - export TF_NEED_KAFKA=0 - export TF_ENABLE_XLA=0 - export TF_NEED_GDR=0 - export TF_NEED_VERBS=0 - export TF_NEED_NGRAPH=0 - export TF_NEED_OPENCL_SYCL=0 - export TF_NEED_OPENCL=0 - export TF_NEED_COMPUTECPP=0 - export TF_NEED_MKL=0 - export TF_NEED_MPI=$(usex mpi 1 0) - export TF_SET_ANDROID_WORKSPACE=0 - - if use python; then - python_export PYTHON_SITEDIR - export PYTHON_BIN_PATH="${PYTHON}" - export PYTHON_LIB_PATH="${PYTHON_SITEDIR}" - else - export PYTHON_BIN_PATH="$(which python)" - export PYTHON_LIB_PATH="$(python -c 'from distutils.sysconfig import *; print(get_python_lib())')" - fi - - export TF_NEED_CUDA=$(usex cuda 1 0) - export TF_DOWNLOAD_CLANG=0 - export TF_CUDA_CLANG=0 - export TF_NEED_TENSORRT=0 - if use cuda; then - export CUDA_TOOLKIT_PATH="${EPREFIX%/}/opt/cuda" - export CUDNN_INSTALL_PATH="${EPREFIX%/}/opt/cuda" - export GCC_HOST_COMPILER_PATH="$(cuda_gccdir)/$(tc-getCC)" - export TF_NCCL_VERSION="1" - - TF_CUDA_VERSION="$(best_version dev-util/nvidia-cuda-toolkit)" - TF_CUDA_VERSION="${TF_CUDA_VERSION##*cuda-toolkit-}" - export TF_CUDA_VERSION="$(ver_cut 1-2 ${TF_CUDA_VERSION})" - einfo "Setting CUDA version: $TF_CUDA_VERSION" - - TF_CUDNN_VERSION="$(best_version dev-libs/cudnn)" - TF_CUDNN_VERSION="${TF_CUDNN_VERSION##*cudnn-}" - export TF_CUDNN_VERSION="$(ver_cut 1-2 ${TF_CUDNN_VERSION})" - einfo "Setting CUDNN version: $TF_CUDNN_VERSION" - fi - - local SYSLIBS=( - astor_archive - com_googlesource_code_re2 - curl - cython - flatbuffers - gif_archive - grpc - jemalloc - jpeg - jsoncpp_git - lmdb - nasm - nsync - org_sqlite - pcre - png_archive - six_archive - snappy - swig - termcolor_archive - zlib_archive - ) - if use system-libs; then - SYSLIBS+=( - absl_py - astor_archive - boringssl - com_github_googleapis_googleapis - com_github_googlecloudplatform_google_cloud_cpp - com_google_protobuf - com_google_protobuf_cc - protobuf_archive - ) - fi - - SYSLIBS="${SYSLIBS[@]}" - export TF_SYSTEM_LIBS="${SYSLIBS// /,}" - - # Only one bazelrc is read, import our one before configure sets its options - echo "import ${T}/bazelrc" >> ./.bazelrc - - # This is not autoconf - ./configure || die - } - if use python; then - python_foreach_impl run_in_build_dir do_configure - else - do_configure - fi -} - -src_compile() { - export JAVA_HOME=$(java-config --jre-home) # so keepwork works - - if use python; then - python_setup - local MULTIBUILD_VARIANT="${EPYTHON/./_}" - cd "${S}-${MULTIBUILD_VARIANT}" || die - fi - - # fail early if anything is missing - ebazel build --nobuild \ - //tensorflow:libtensorflow_framework.so \ - //tensorflow:libtensorflow.so \ - //tensorflow:libtensorflow_cc.so \ - $(usex python '//tensorflow/tools/pip_package:build_pip_package' '') - - ebazel build \ - //tensorflow:libtensorflow_framework.so \ - //tensorflow:libtensorflow.so - ebazel build //tensorflow:libtensorflow_cc.so - - do_compile() { - ebazel build //tensorflow/tools/pip_package:build_pip_package - } - use python && python_foreach_impl run_in_build_dir do_compile -} - -src_install() { - local i j - export JAVA_HOME=$(java-config --jre-home) # so keepwork works - - do_install() { - einfo "Installing ${EPYTHON} files" - local srcdir="${T}/src-${MULTIBUILD_VARIANT}" - mkdir -p "${srcdir}" || die - bazel-bin/tensorflow/tools/pip_package/build_pip_package --src "${srcdir}" || die - cd "${srcdir}" || die - esetup.py install - - # libtensorflow_framework.so is in /usr/lib already - python_export PYTHON_SITEDIR PYTHON_SCRIPTDIR - rm -f "${D}/${PYTHON_SITEDIR}/${PN}/lib${PN}_framework.so" "${D}/${PYTHON_SCRIPTDIR}/tensorboard" || die - python_optimize - } - - if use python; then - python_foreach_impl run_in_build_dir do_install - - # Symlink to python-exec scripts - for i in "${ED}"/usr/lib/python-exec/*/*; do - n="${i##*/}" - [[ -e "${ED}/usr/bin/${n}" ]] || dosym ../lib/python-exec/python-exec2 "/usr/bin/${n}" - done - - python_setup - local MULTIBUILD_VARIANT="${EPYTHON/./_}" - cd "${S}-${MULTIBUILD_VARIANT}" || die - fi - - einfo "Installing headers" - ebazel build //tensorflow:install_headers - insinto /usr/include/${PN}/ - doins -r bazel-genfiles/tensorflow/include/* - - einfo "Installing libs" - # Generate pkg-config file - ${PN}/c/generate-pc.sh --prefix="${EPREFIX}"/usr --libdir=$(get_libdir) --version=${MY_PV} || die - insinto /usr/$(get_libdir)/pkgconfig - doins ${PN}.pc - - dolib.so bazel-bin/tensorflow/lib${PN}_framework.so - dolib.so bazel-bin/tensorflow/lib${PN}.so - dolib.so bazel-bin/tensorflow/lib${PN}_cc.so - - einstalldocs -} diff --git a/sci-libs/tensorflow/tensorflow-1.11.0_rc2.ebuild b/sci-libs/tensorflow/tensorflow-1.11.0_rc2.ebuild deleted file mode 100644 index 2d82b286c6e6..000000000000 --- a/sci-libs/tensorflow/tensorflow-1.11.0_rc2.ebuild +++ /dev/null @@ -1,435 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DISTUTILS_OPTIONAL=1 -PYTHON_COMPAT=( python2_7 python3_6 ) -MY_PV=${PV/_rc/-rc} -MY_P=${PN}-${MY_PV} - -inherit check-reqs cuda distutils-r1 multiprocessing toolchain-funcs - -DESCRIPTION="Computation framework using data flow graphs for scalable machine learning" -HOMEPAGE="https://www.tensorflow.org/" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="cuda jemalloc mpi +python +system-libs" -CPU_USE_FLAGS_X86="sse sse2 sse3 sse4_1 sse4_2 avx avx2 fma3 fma4" -for i in $CPU_USE_FLAGS_X86; do - IUSE+=" cpu_flags_x86_$i" -done - -# distfiles that bazel uses for the workspace, will be copied to basel-distdir -bazel_external_uris=" - http://www.kurims.kyoto-u.ac.jp/~ooura/fft.tgz -> oourafft-20061228.tgz - https://bitbucket.org/eigen/eigen/get/fd6845384b86.tar.gz -> eigen-fd6845384b86.tar.gz - https://github.com/abseil/abseil-cpp/archive/f0f15c2778b0e4959244dd25e63f445a455870f5.tar.gz -> abseil-cpp-f0f15c2778b0e4959244dd25e63f445a455870f5.tar.gz - https://github.com/bazelbuild/rules_closure/archive/dbb96841cc0a5fb2664c37822803b06dab20c7d1.tar.gz -> bazelbuild-rules_closure-dbb96841cc0a5fb2664c37822803b06dab20c7d1.tar.gz - https://github.com/google/double-conversion/archive/3992066a95b823efc8ccc1baf82a1cfc73f6e9b8.zip -> double-conversion-3992066a95b823efc8ccc1baf82a1cfc73f6e9b8.zip - https://github.com/google/farmhash/archive/816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz -> farmhash-816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz - https://github.com/google/gemmlowp/archive/38ebac7b059e84692f53e5938f97a9943c120d98.zip -> gemmlowp-38ebac7b059e84692f53e5938f97a9943c120d98.zip - https://github.com/google/highwayhash/archive/fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz -> highwayhash-fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz - cuda? ( - https://github.com/nvidia/nccl/archive/03d856977ecbaac87e598c0c4bafca96761b9ac7.tar.gz -> nvidia-nccl-03d856977ecbaac87e598c0c4bafca96761b9ac7.tar.gz - https://github.com/NVlabs/cub/archive/1.8.0.zip -> cub-1.8.0.zip - ) - python? ( - https://github.com/intel/ARM_NEON_2_x86_SSE/archive/0f77d9d182265259b135dad949230ecbf1a2633d.tar.gz -> ARM_NEON_2_x86_SSE-0f77d9d182265259b135dad949230ecbf1a2633d.tar.gz - https://mirror.bazel.build/docs.python.org/2.7/_sources/license.txt -> tensorflow-python-license.txt - https://pypi.python.org/packages/bc/cc/3cdb0a02e7e96f6c70bd971bc8a90b8463fda83e264fa9c5c1c98ceabd81/backports.weakref-1.0rc1.tar.gz - !system-libs? ( - https://github.com/abseil/abseil-py/archive/pypi-v0.2.2.tar.gz -> abseil-py-0.2.2.tar.gz - https://github.com/googleapis/googleapis/archive/f81082ea1e2f85c43649bee26e0d9871d4b41cdb.zip -> googleapis-f81082ea1e2f85c43649bee26e0d9871d4b41cdb.zip - https://github.com/GoogleCloudPlatform/google-cloud-cpp/archive/f875700a023bdd706333cde45aee8758b272c357.tar.gz -> google-cloud-cpp-f875700a023bdd706333cde45aee8758b272c357.tar.gz - https://github.com/google/boringssl/archive/a0fb951d2a26a8ee746b52f3ba81ab011a0af778.tar.gz -> boringssl-a0fb951d2a26a8ee746b52f3ba81ab011a0af778.tar.gz - https://pypi.python.org/packages/5c/78/ff794fcae2ce8aa6323e789d1f8b3b7765f601e7702726f430e814822b96/gast-0.2.0.tar.gz - ) - ) - !system-libs? ( - https://github.com/google/protobuf/archive/v3.6.0.tar.gz -> protobuf-3.6.0.tar.gz - )" - -SRC_URI="https://github.com/${PN}/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz - https://dev.gentoo.org/~perfinion/patches/tensorflow-patches-${PVR}.tar.bz2 - ${bazel_external_uris}" - -RDEPEND=" - app-arch/snappy - dev-db/lmdb - dev-db/sqlite - >=dev-libs/jsoncpp-1.8.4 - dev-libs/libpcre - dev-libs/nsync - >=dev-libs/protobuf-3.6.0 - >=dev-libs/re2-0.2018.04.01 - media-libs/giflib - media-libs/libjpeg-turbo - media-libs/libpng:0 - >=net-libs/grpc-1.13.0 - net-misc/curl - sys-libs/zlib - cuda? ( - >=dev-util/nvidia-cuda-toolkit-8.0[profiler] - >=dev-libs/cudnn-6.0 - ) - jemalloc? ( >=dev-libs/jemalloc-4.4.0 ) - mpi? ( virtual/mpi ) - python? ( - ${PYTHON_DEPS} - >=dev-libs/flatbuffers-1.8.0 - dev-python/absl-py[${PYTHON_USEDEP}] - dev-python/astor[${PYTHON_USEDEP}] - dev-python/gast[${PYTHON_USEDEP}] - dev-python/numpy[${PYTHON_USEDEP}] - >=dev-python/protobuf-python-3.6.0[${PYTHON_USEDEP}] - dev-python/six[${PYTHON_USEDEP}] - dev-python/termcolor[${PYTHON_USEDEP}] - >=net-libs/grpc-1.13.0[python,${PYTHON_USEDEP}] - sci-libs/keras-applications[${PYTHON_USEDEP}] - sci-libs/keras-preprocessing[${PYTHON_USEDEP}] - virtual/python-enum34[${PYTHON_USEDEP}] - system-libs? ( - net-libs/google-cloud-cpp - ) - ) - system-libs? ( - dev-libs/openssl:0 - )" -DEPEND="${RDEPEND} - dev-python/mock" -BDEPEND=" - app-arch/unzip - >=dev-libs/protobuf-3.6.0 - >=dev-util/bazel-0.16.0 - dev-java/java-config - dev-python/mock - dev-lang/swig - dev-python/cython - cuda? ( - >=dev-util/nvidia-cuda-toolkit-8.0[profiler] - ) - !python? ( dev-lang/python ) - python? ( - >=net-libs/grpc-1.13.0[tools] - )" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -S="${WORKDIR}/${MY_P}" - -DOCS=( AUTHORS CONTRIBUTING.md ISSUE_TEMPLATE.md README.md RELEASE.md ) -CHECKREQS_MEMORY="5G" -CHECKREQS_DISK_BUILD="5G" - -bazel-get-cpu-flags() { - local i f=() - # Keep this list in sync with tensorflow/core/platform/cpu_feature_guard.cc. - for i in sse sse2 sse3 sse4_1 sse4_2 avx avx2 fma4; do - use cpu_flags_x86_${i} && f+=( -m${i/_/.} ) - done - use cpu_flags_x86_fma3 && f+=( -mfma ) - echo "${f[*]}" -} - -bazel-get-flags() { - local i fs=() - for i in ${CFLAGS} $(bazel-get-cpu-flags); do - fs+=( "--copt=${i}" "--host_copt=${i}" ) - done - for i in ${CXXFLAGS} $(bazel-get-cpu-flags); do - fs+=( "--cxxopt=${i}" "--host_cxxopt=${i}" ) - done - for i in ${CPPFLAGS}; do - fs+=( "--copt=${i}" "--host_copt=${i}" ) - fs+=( "--cxxopt=${i}" "--host_cxxopt=${i}" ) - done - for i in ${LDFLAGS}; do - fs+=( "--linkopt=${i}" "--host_linkopt=${i}" ) - done - echo "${fs[*]}" -} - -setup_bazelrc() { - if [[ -f "${T}/bazelrc" ]]; then - return - fi - - # F: fopen_wr - # P: /proc/self/setgroups - # Even with standalone enabled, the Bazel sandbox binary is run for feature test: - # https://github.com/bazelbuild/bazel/blob/7b091c1397a82258e26ab5336df6c8dae1d97384/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedSpawnRunner.java#L61 - # https://github.com/bazelbuild/bazel/blob/76555482873ffcf1d32fb40106f89231b37f850a/src/main/tools/linux-sandbox-pid1.cc#L113 - addpredict /proc - - mkdir -p "${T}/bazel-cache" || die - mkdir -p "${T}/bazel-distdir" || die - - cat > "${T}/bazelrc" <<-EOF || die - startup --batch - - # dont strip HOME, portage sets a temp per-package dir - build --action_env HOME - - # make bazel respect MAKEOPTS - build --jobs=$(makeopts_jobs) $(bazel-get-flags) - build --compilation_mode=opt --host_compilation_mode=opt - - # Use standalone strategy to deactivate the bazel sandbox, since it - # conflicts with FEATURES=sandbox. - build --spawn_strategy=standalone --genrule_strategy=standalone - test --spawn_strategy=standalone --genrule_strategy=standalone - - build --strip=never - build --verbose_failures --noshow_loading_progress - test --verbose_test_summary --verbose_failures --noshow_loading_progress - - # make bazel only fetch distfiles from the cache - fetch --repository_cache="${T}/bazel-cache/" --distdir="${T}/bazel-distdir/" - build --repository_cache="${T}/bazel-cache/" --distdir="${T}/bazel-distdir/" - - build --define=PREFIX=${EPREFIX%/}/usr - build --define=LIBDIR=\$(PREFIX)/$(get_libdir) - - EOF - - tc-is-cross-compiler || \ - echo "build --nodistinct_host_configuration" >> "${T}/bazelrc" || die -} - -ebazel() { - # Use different build folders for each multibuild variant. - local base_suffix="${MULTIBUILD_VARIANT+-}${MULTIBUILD_VARIANT}" - local output_base="${WORKDIR}/bazel-base${base_suffix}" - mkdir -p "${output_base}" || die - - einfo Running: bazel --output_base="${output_base}" "$@" - bazel --output_base="${output_base}" $@ || die -} - -load_distfiles() { - # Populate the bazel distdir to fetch from since it cannot use the network - # Bazel looks in distdir but will only look for the original filename, not - # the possibly renamed one that portage downloaded. If the line has -> we - # need to rename it back, otherwise a simple copy is fine. - - local src dst uri rename - - while read uri rename dst; do - src="${uri##*/}" - [[ -z $src ]] && continue - if [[ "$rename" != "->" ]]; then - dst="${src}" - fi - - [[ ${A} =~ ${dst} ]] || continue - - if [[ "$dst" == "$src" ]]; then - einfo "Copying $dst to bazel distdir ..." - else - einfo "Copying $dst to bazel distdir $src ..." - fi - dst="$(readlink -f "${DISTDIR}/${dst}")" - ln -s "${dst}" "${T}/bazel-distdir/${src}" || die - done <<< "$(sed -re 's/!?[A-Za-z]+\?\s+\(\s*//g; s/\s+\)//g' <<< "${bazel_external_uris}")" -} - -pkg_setup() { - check-reqs_pkg_setup -} - -src_unpack() { - # Only unpack the main distfile - unpack "${P}.tar.gz" - unpack tensorflow-patches-${PVR}.tar.bz2 -} - -src_prepare() { - export JAVA_HOME=$(java-config --jre-home) # so keepwork works - - setup_bazelrc - load_distfiles - - eapply "${WORKDIR}"/patches/*.patch - - default - use python && python_copy_sources - - use cuda && cuda_add_sandbox -} - -src_configure() { - export JAVA_HOME=$(java-config --jre-home) # so keepwork works - - do_configure() { - export CC_OPT_FLAGS=" " - export TF_NEED_JEMALLOC=$(usex jemalloc 1 0) - export TF_NEED_GCP=0 - export TF_NEED_HDFS=0 - export TF_NEED_S3=0 - export TF_NEED_AWS=0 - export TF_NEED_KAFKA=0 - export TF_ENABLE_XLA=0 - export TF_NEED_GDR=0 - export TF_NEED_VERBS=0 - export TF_NEED_NGRAPH=0 - export TF_NEED_OPENCL_SYCL=0 - export TF_NEED_OPENCL=0 - export TF_NEED_COMPUTECPP=0 - export TF_NEED_MKL=0 - export TF_NEED_MPI=$(usex mpi 1 0) - export TF_SET_ANDROID_WORKSPACE=0 - - if use python; then - python_export PYTHON_SITEDIR - export PYTHON_BIN_PATH="${PYTHON}" - export PYTHON_LIB_PATH="${PYTHON_SITEDIR}" - else - export PYTHON_BIN_PATH="$(which python)" - export PYTHON_LIB_PATH="$(python -c 'from distutils.sysconfig import *; print(get_python_lib())')" - fi - - export TF_NEED_CUDA=$(usex cuda 1 0) - export TF_DOWNLOAD_CLANG=0 - export TF_CUDA_CLANG=0 - export TF_NEED_TENSORRT=0 - if use cuda; then - export CUDA_TOOLKIT_PATH="${EPREFIX%/}/opt/cuda" - export CUDNN_INSTALL_PATH="${EPREFIX%/}/opt/cuda" - export GCC_HOST_COMPILER_PATH="$(cuda_gccdir)/$(tc-getCC)" - export TF_NCCL_VERSION="1" - export TF_CUDA_VERSION="$(cuda_toolkit_version)" - export TF_CUDNN_VERSION="$(cuda_cudnn_version)" - einfo "Setting CUDA version: $TF_CUDA_VERSION" - einfo "Setting CUDNN version: $TF_CUDNN_VERSION" - fi - - local SYSLIBS=( - astor_archive - com_googlesource_code_re2 - curl - cython - flatbuffers - gif_archive - grpc - jemalloc - jpeg - jsoncpp_git - lmdb - nasm - nsync - org_sqlite - pcre - png_archive - six_archive - snappy - swig - termcolor_archive - zlib_archive - ) - if use system-libs; then - SYSLIBS+=( - absl_py - astor_archive - boringssl - com_github_googleapis_googleapis - com_github_googlecloudplatform_google_cloud_cpp - com_google_protobuf - com_google_protobuf_cc - protobuf_archive - gast_archive - ) - fi - - export TF_SYSTEM_LIBS="${SYSLIBS[@]}" - - # Only one bazelrc is read, import our one before configure sets its options - echo "import ${T}/bazelrc" >> ./.bazelrc - - # This is not autoconf - ./configure || die - } - if use python; then - python_foreach_impl run_in_build_dir do_configure - else - do_configure - fi -} - -src_compile() { - export JAVA_HOME=$(java-config --jre-home) # so keepwork works - - if use python; then - python_setup - local MULTIBUILD_VARIANT="${EPYTHON/./_}" - cd "${S}-${MULTIBUILD_VARIANT}" || die - fi - - # fail early if anything is missing - ebazel build --nobuild \ - //tensorflow:libtensorflow_framework.so \ - //tensorflow:libtensorflow.so \ - //tensorflow:libtensorflow_cc.so \ - $(usex python '//tensorflow/tools/pip_package:build_pip_package' '') - - ebazel build \ - //tensorflow:libtensorflow_framework.so \ - //tensorflow:libtensorflow.so - ebazel build //tensorflow:libtensorflow_cc.so - - do_compile() { - ebazel build //tensorflow/tools/pip_package:build_pip_package - } - use python && python_foreach_impl run_in_build_dir do_compile -} - -src_install() { - local i j - export JAVA_HOME=$(java-config --jre-home) # so keepwork works - - do_install() { - einfo "Installing ${EPYTHON} files" - local srcdir="${T}/src-${MULTIBUILD_VARIANT}" - mkdir -p "${srcdir}" || die - bazel-bin/tensorflow/tools/pip_package/build_pip_package --src "${srcdir}" || die - cd "${srcdir}" || die - esetup.py install - - # libtensorflow_framework.so is in /usr/lib already - python_export PYTHON_SITEDIR PYTHON_SCRIPTDIR - rm -f "${D}/${PYTHON_SITEDIR}/${PN}/lib${PN}_framework.so" "${D}/${PYTHON_SCRIPTDIR}/tensorboard" || die - python_optimize - } - - if use python; then - python_foreach_impl run_in_build_dir do_install - - # Symlink to python-exec scripts - for i in "${ED}"/usr/lib/python-exec/*/*; do - n="${i##*/}" - [[ -e "${ED}/usr/bin/${n}" ]] || dosym ../lib/python-exec/python-exec2 "/usr/bin/${n}" - done - - python_setup - local MULTIBUILD_VARIANT="${EPYTHON/./_}" - cd "${S}-${MULTIBUILD_VARIANT}" || die - fi - - einfo "Installing headers" - ebazel build //tensorflow:install_headers - insinto /usr/include/${PN}/ - doins -r bazel-genfiles/tensorflow/include/* - - einfo "Installing libs" - # Generate pkg-config file - ${PN}/c/generate-pc.sh --prefix="${EPREFIX}"/usr --libdir=$(get_libdir) --version=${MY_PV} || die - insinto /usr/$(get_libdir)/pkgconfig - doins ${PN}.pc - - dolib.so bazel-bin/tensorflow/lib${PN}_framework.so - dolib.so bazel-bin/tensorflow/lib${PN}.so - dolib.so bazel-bin/tensorflow/lib${PN}_cc.so - - einstalldocs -} |