From 93a93e9a3b53c1a73142a305ea1f8136846942ee Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 22 Dec 2021 14:08:05 +0000 Subject: gentoo resync : 22.12.2021 --- sci-libs/tensorflow/Manifest | 4 +- sci-libs/tensorflow/tensorflow-2.5.0-r3.ebuild | 5 +- sci-libs/tensorflow/tensorflow-2.7.0-r1.ebuild | 412 +++++++++++++++++++++++++ 3 files changed, 416 insertions(+), 5 deletions(-) create mode 100644 sci-libs/tensorflow/tensorflow-2.7.0-r1.ebuild (limited to 'sci-libs/tensorflow') diff --git a/sci-libs/tensorflow/Manifest b/sci-libs/tensorflow/Manifest index 1c09121f655c..21d532193ef8 100644 --- a/sci-libs/tensorflow/Manifest +++ b/sci-libs/tensorflow/Manifest @@ -44,10 +44,12 @@ DIST tensorflow-1.15.0-python-license.rst.txt 45132 BLAKE2B 8a8ace4b64fd9eda1932 DIST tensorflow-2.5.0.tar.gz 55999506 BLAKE2B 0f1f29ed9ff6e5fd3fc0c98419bca636f48085810f934290885b3469c45817b2ce17e9dbd3d93d70b09ec7975088edd0973f147449f527a8f2e23b388e2592ce SHA512 637c63b1bed1c0eb7bb018f1ff7f29f7f0d78e75dac384df4ecb5dfb92bbcb28209e3d3d2204145abddf88e3247d8c31bbb4cea032a73b7122b2ef3eb0d2b947 DIST tensorflow-2.7.0.tar.gz 57751022 BLAKE2B ae022bffd0609f2bac388510e270e5ec4bf400cbebd074e4580d3a85734b238ad2daf19196246f1bc93a7679383c2527fd27bcbd7da9ddb17189a7998796bdac SHA512 f1e892583c7b3a73d4d39ec65dc135a5b02c789b357d57414ad2b6d05ad9fbfc8ef81918ba6410e314abd6928b76f764e6ef64c0b0c84b58b50796634be03f39 DIST tensorflow-patches-2.5.0-r3.tar.bz2 6385 BLAKE2B 5cd3a9639884aa67bbd192cb1b06cfedc557b8ad05aca0f4887987c615656620b9294de98b119bf9d6edafd5b56b9d5e6900f95adb06a3a49cfdf342c6195b22 SHA512 8f0d2be9ffed81aba5c85088a79ca56af889e0247516f51657d214d19d39877cfe331e60f63e8c54e2b12acd7a624b181e281534acbd9a103f6eec0aae70fd8a +DIST tensorflow-patches-2.7.0-r1.tar.bz2 6777 BLAKE2B 2705d527810b40878b250d07a90126cac66edd907aee0d97d5785235ad67b6fa0ce6e9e56ec02174a6f5c8216e42ab6d8e752e27c9e444e82d16eefcd4b6b7d2 SHA512 d0f3fb95fdfb308b0b1aa1fb4101515e7b2b7e68c569027b612470aed82fc64ca233388e9b7ed92d7d26e3da7577d4cb4f96c34ea3707a36e50eade3d9b7eeb6 DIST tensorflow-patches-2.7.0.tar.bz2 2928 BLAKE2B 4814c3b31d1c6236711c41f62b5653fbca0ff9810c08081aa070eb87c4d6c296cb6ae3c6fd3409b48dd06540098404eb60be7f74e7fdfc55808b694b8bffbbf4 SHA512 20d138d00a1d54a748bf47031ab0d308b13ed1c51ae931bc60141221a0db902d4839040ab21de7b3d87c1d890223fda0c11e18ad61157d6e07bcca9f3f90375c DIST tensorflow-runtime-64c92c8013b557087351c91b5423b6046d10f206.tar.gz 15224747 BLAKE2B b6aaaf4f6dd488dbfc49f6f9bd6d7820894b7f205ab76c38288175c70dd9ee656128a0655fc1f7ca1ada33d96193c9bb3569da02d0b591aea9ffbb9cf1f223b8 SHA512 1e66742ccda9778fdf9e0e1e83b0524d6b3e82e7792918ae058c031e81b033bc51cebf49752832aa2f27a53a6a9846256e4e9e9eec7c5285ad2db2cb8995ecfc DIST tensorflow-toolchains-v1.1.10.tar.gz 137512 BLAKE2B 774b22a599070564c0f77ed0da79f6a96359b196dd3007370be885b796c236b9a29c01597507a3049f82cf489824c8016740b778cacb2b8cd859500f9ecb1887 SHA512 1daf4684f5b364a89b3cc475cf2d13d0d0622fc14d2b32d7ad8518932538e716782d755cfcedc98d129a3986bc7c38bfc7854c8ad596891e397510b75ae2f93e DIST tensorflow-toolchains-v1.2.7.tar.gz 97867 BLAKE2B 2f613366b34b81d044da1407ff6371c6183b14593c719ea82ffc964c310df72282ba102be50a9c65655f9185b4ab59d707fe823608b6e452ebf9afc70589bcd5 SHA512 b70da3594aa0499b4e158258ba29ef30044cb6e354e2608b79274f712976b687b09e28a2576d3d89e6bd8ff41416ee19f2d5505b712ec98488c8b8cb839ede84 -EBUILD tensorflow-2.5.0-r3.ebuild 15612 BLAKE2B dd201acf46d14bff88209e3e824ef85565ec8d5a70087c86a4e086148dd6247f123eadb967be47f995794ab163ad7fb428a876923005ca6a3371081192592b7b SHA512 2cf8b9f9e2ad0a9a6429314285c3adedb4f380d9b8d950b892581851f5bf59d839de42e61ff10413ed572600b0c0c2f250f23add4c84f51a8191bdf3a333b28b +EBUILD tensorflow-2.5.0-r3.ebuild 15558 BLAKE2B 8766664141227fc2b0ad04c3061fbca8eda2e52f036e1333b2005510aabcd5d2ccb449556bb53259cb7169cb40bf608222590495f580f4e1e9258f769a5833a0 SHA512 65d239aaa14a18d9147a0830e6f2f86246a026b070830cb93959dc5b76c984486ba5bae032733069365edc6df9102285b98a7d3b0eb29d28d819e05bb6e0e076 +EBUILD tensorflow-2.7.0-r1.ebuild 15831 BLAKE2B 88c8ce81b169e496c3686dc1668f8a505187b1ce54099218a60b03e25de80fc51fd77b7b41e3ac7b67ac066ae447e2e4d5f1a2f701cd5435f2d01719d7c508f4 SHA512 48c670dbadbafa4fe3145b304f667fe5a4973c9e2db77689e4ce507f934111788592d48ef486dc1202179973340f0d8170dcfdb4eef39da111b3e53078e66c49 EBUILD tensorflow-2.7.0.ebuild 15934 BLAKE2B 9014ea213ceb9139c3cad48da4b1bcf64b82b8b8755e82b9f013bda31cce05ff35ce7f9ab3f8db2e7c1c900e17c4da4810d1910896f4b508f9782243f295096f SHA512 457015c937361ad884f7ec81cba91c5e821648a95ad5b89edb23a5455ee01ab13df207811541bdb6a7d0da19903481d1a6512b0728c723aa90af236aca915534 MISC metadata.xml 501 BLAKE2B 16095ae1e7ff9fdd7efe0bb5184ce1d7e46cb5c8f98a650ec4f69742262c678b9945d35b12ba518f8a9b36cad8cd23483a95aca0141ddbe07e4210cef16d2949 SHA512 d1f08e9360ab7c4ec516787807cc53f795d99dde6287b7024535bae4dae4a0107117548784bb25ac07cee15ad1676d98e9c9d472ec97023dfc3e0bdd72a26d28 diff --git a/sci-libs/tensorflow/tensorflow-2.5.0-r3.ebuild b/sci-libs/tensorflow/tensorflow-2.5.0-r3.ebuild index 3202fbd88400..e3c79720e512 100644 --- a/sci-libs/tensorflow/tensorflow-2.5.0-r3.ebuild +++ b/sci-libs/tensorflow/tensorflow-2.5.0-r3.ebuild @@ -87,10 +87,7 @@ RDEPEND=" sys-libs/zlib >=sys-apps/hwloc-2:= cuda? ( - || ( - =dev-util/nvidia-cuda-toolkit-10*[profiler] - =dev-util/nvidia-cuda-toolkit-11.4*[profiler] - ) + =/g" tensorflow/tools/pip_package/setup.py || die + sed -i "/config_googleapis/d" tensorflow/workspace0.bzl || die + + # Prefixify hard-coded command locations + hprefixify -w /host_compiler_prefix/ third_party/gpus/cuda_configure.bzl + + default + use python && python_copy_sources + + use cuda && cuda_add_sandbox +} + +src_configure() { + export JAVA_HOME=$(java-config --jre-home) # so keepwork works + export KERAS_HOME="${T}/.keras" # otherwise sandbox violation writing ~/.keras + + do_configure() { + export CC_OPT_FLAGS=" " + export TF_ENABLE_XLA=$(usex xla 1 0) + export TF_NEED_OPENCL_SYCL=0 + export TF_NEED_OPENCL=0 + export TF_NEED_COMPUTECPP=0 + export TF_NEED_ROCM=0 + export TF_NEED_MPI=$(usex mpi 1 0) + export TF_SET_ANDROID_WORKSPACE=0 + + if use python; then + export PYTHON_BIN_PATH="${PYTHON}" + export PYTHON_LIB_PATH="$(python_get_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 TF_CUDA_PATHS="${EPREFIX}/opt/cuda" + export GCC_HOST_COMPILER_PATH="$(cuda_gccdir)/$(tc-getCC)" + 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" + + if [[ $(cuda-config -s) != *$(gcc-version)* ]]; then + ewarn "TensorFlow is being built with Nvidia CUDA support. Your default compiler" + ewarn "version is not supported by the currently installed CUDA. TensorFlow will" + ewarn "instead be compiled using: ${GCC_HOST_COMPILER_PATH}." + ewarn "If the build fails with linker errors try rebuilding the relevant" + ewarn "dependencies using the same compiler version." + fi + + if [[ -z "$TF_CUDA_COMPUTE_CAPABILITIES" ]]; then + ewarn "WARNING: TensorFlow is being built with its default CUDA compute capabilities: 3.5 and 7.0." + ewarn "These may not be optimal for your GPU." + ewarn "" + ewarn "To configure TensorFlow with the CUDA compute capability that is optimal for your GPU," + ewarn "set TF_CUDA_COMPUTE_CAPABILITIES in your make.conf, and re-emerge tensorflow." + ewarn "For example, to use CUDA capability 7.5 & 3.5, add: TF_CUDA_COMPUTE_CAPABILITIES=7.5,3.5" + ewarn "" + ewarn "You can look up your GPU's CUDA compute capability at https://developer.nvidia.com/cuda-gpus" + ewarn "or by running /opt/cuda/extras/demo_suite/deviceQuery | grep 'CUDA Capability'" + fi + fi + + # com_googlesource_code_re2 weird branch using absl, doesnt work with released re2 + #com_github_googleapis_googleapis + local SYSLIBS=( + absl_py + astor_archive + astunparse_archive + boringssl + com_github_googlecloudplatform_google_cloud_cpp + com_github_grpc_grpc + com_google_absl + com_google_protobuf + curl + cython + dill_archive + double_conversion + enum34_archive + flatbuffers + functools32_archive + gast_archive + gif + hwloc + icu + jsoncpp_git + libjpeg_turbo + lmdb + nasm + nsync + opt_einsum_archive + org_sqlite + pasta + png + pybind11 + six_archive + snappy + tblib_archive + termcolor_archive + typing_extensions_archive + wrapt + zlib + ) + + export TF_SYSTEM_LIBS="${SYSLIBS[@]}" + export TF_IGNORE_MAX_BAZEL_VERSION=1 + + # This is not autoconf + ./configure || die + + echo 'build --config=noaws --config=nohdfs' >> .bazelrc || die + echo 'build --define tensorflow_mkldnn_contraction_kernel=0' >> .bazelrc || die + echo "build --action_env=KERAS_HOME=\"${T}/.keras\"" >> .bazelrc || die + echo "build --host_action_env=KERAS_HOME=\"${T}/.keras\"" >> .bazelrc || die + + for cflag in $($(tc-getPKG_CONFIG) jsoncpp --cflags) + do + echo "build --copt=\"${cflag}\"" >> .bazelrc || die + echo "build --host_copt=\"${cflag}\"" >> .bazelrc || die + done + } + 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 + export KERAS_HOME="${T}/.keras" # otherwise sandbox violation writing ~/.keras + + if use python; then + python_setup + BUILD_DIR="${S}-${EPYTHON/./_}" + cd "${BUILD_DIR}" + fi + + # fail early if any deps are missing + ebazel build -k --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 + } + BUILD_DIR="${S}" + cd "${BUILD_DIR}" + use python && python_foreach_impl run_in_build_dir do_compile + ebazel shutdown +} + +src_install() { + local i l + export JAVA_HOME=$(java-config --jre-home) # so keepwork works + export KERAS_HOME="${T}/.keras" # otherwise sandbox violation writing ~/.keras + + 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 + rm -f "${D}/$(python_get_sitedir)"/${PN}/lib${PN}_framework.so* || die + rm -f "${D}/$(python_get_sitedir)"/${PN}_core/lib${PN}_framework.so* || 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 BUILD_DIR="${S}-${EPYTHON/./_}" + cd "${BUILD_DIR}" || die + fi + + einfo "Installing headers" + ebazel build //tensorflow:install_headers + ebazel shutdown + insinto /usr/include/${PN}/ + doins -r bazel-bin/tensorflow/include/* + + einfo "Installing libs" + # Generate $(tc-getPKG_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 ${PN}_cc.pc + + for l in libtensorflow{,_framework,_cc}.so; do + dolib.so bazel-bin/tensorflow/${l} + dolib.so bazel-bin/tensorflow/${l}.$(ver_cut 1) + dolib.so bazel-bin/tensorflow/${l}.$(ver_cut 1-3) + done + + einstalldocs +} -- cgit v1.2.3