add & bump tensorflow-1.13.2
This commit is contained in:
parent
05aa0b5412
commit
b3d494296d
23
sci-libs/tensorflow/Manifest
Normal file
23
sci-libs/tensorflow/Manifest
Normal file
@ -0,0 +1,23 @@
|
||||
AUX tensorflow-1.14.0-0001-systemlibs-unbundle-enum34.patch 1958 BLAKE2B 830ddb5ee1ffe84459879fb5cd9acdbc87d862d780cfa1e6e85f49bf46c2ca705fe25f915d8c8243bb5fae558d05b204268332bad471433b437cf15bb12a173b SHA512 73d6a225f77204daa36696d688721f8f58696dfc7cbb72a79dd2c5dbb938f26e3bd003e22a1755f0d31d2cfc8a532152c6a262cf2f1c7f49706d491021b9066f
|
||||
AUX tensorflow-1.14.0-0002-install_headers-fix-paths-of-generated-headers.patch 1059 BLAKE2B ca06d4a07ff5a55399ab84325f7c51fe2abbe969fe2a096bc50b9373b490a52c4a189559d3b92d5f95195c3895ef9bf184b4a876032122781a5edae590806b0d SHA512 c60e16fbcc104d18971cbd097d452ad9e688330a996705532ac2f2c4364bdfbc10641b3fbf42c65079b419bc469610398785f331b4ef1376c3c2f7424c7c51c0
|
||||
AUX tensorflow-1.14.0-0003-systemlibs-jsoncpp-update-header-symlinks-for-jsoncp.patch 792 BLAKE2B c51b247be2d9bc2f124c0dd07d48fa7f3685cda148b050328e45521b2eb6da555e59f89ff554057db777ec435daa58ddb786e9ef44779fcaed5cf29f76686031 SHA512 d5266f79efa9402de4cf53803d532711af8db8b40d2964ef1a6b27f6e7ac3ac95e112590c39fbd84873d9459367485e10b351f45e703ab7e095661683e5ba341
|
||||
AUX tensorflow-1.14.0-0004-pkgconfig-generate-tensorflow_cc-pkg-config-entry.patch 1420 BLAKE2B 528c26f6be43a3ecec5acbc932916a286086775deca66ccf4e87a46b63d49b0c67b787a0823ee5f5cf222e4c4e06a9b8e6d09048353c6b475efe8af945a0522d SHA512 de764fcacb035c2ffb7b02c583c5cee9297fb53ad3203bbaffbfb3cc63d3d48674c7a99a624cc77e1bf58cd70026fea5de8404a04ba6e7a0c61f2f108ddf639d
|
||||
AUX tensorflow-1.14.0-0005-gen_git_source-builtins-does-not-exist-in-python2.patch 865 BLAKE2B 3adb6688478452b6e8e093128a7ed50db5d10efa31192f0fa41d5adca1dc44004ec388171fc09a1a0579e116dd5816eabaec6431961e93719705b0186853b15b SHA512 ada76bfc06c56b19f1f2b7e88979d2dfea3bcac9a91a79e4d0dacaad3bdbf0ff4f450670ff26e49cdd6bf39062c7dfdfb17a61bc92c35a7bc748a42bedec23e0
|
||||
DIST ARM_NEON_2_x86_SSE-1200fe90bb174a6224a525ee60148671a786a71f.tar.gz 100612 BLAKE2B 84f81072d3298dde613b4c1ebabf852c67e04b5882a4ca0ed6f218b42e8fa3ea9598140b0c0009e8d6b62d08902622a6d57ee005ec3ad8a808c9fb21aa53430c SHA512 03a289d8099a5c4a5298cba8f516d2edb41220935d8db750970113ca7513372c78241c2c948d0ffcd60e84686e50ba1d7fd0b46efea6881dd320435eca92a7b9
|
||||
DIST abseil-cpp-389ec3f906f018661a5308458d623d01f96d7b23.tar.gz 1180190 BLAKE2B beec1338bf8cfa99d0de3bdb1631da5385317e68bf87f5da154ceab9455af7221f140838e41f4087d7d0064c22f93dce5860c484a8e4026b46efa103a52db307 SHA512 20d2cc8d23eb729607692d861049dccbd6b4af56fc4ed7733492348e3fe879d7acc6316f0d6e1c683f98188f028d460a40cab35667856cf334aa5f00fc830911
|
||||
DIST backports.weakref-1.0rc1.tar.gz 7761 BLAKE2B 4cb2554a4b71bb1f8c41a790268511e4b382effc7e0328f74346d086de539a177111de9e2dabac19a44b2a1cdbf59a7425e30eee4caa4bfe66b0ca97f1f460a9 SHA512 f37e9eb0d9060d2e1588a941f623460bd4477d7e180b38b5cd46d9c1db1ee094ae63e4f5eeeb422823bf3d067f46c4124cb124a9e4ddb795bc0bfbc4802ab826
|
||||
DIST bazel-toolchains-3f8c58fe530fedc446de04673bc1e32985887dea.tar.gz 416360 BLAKE2B 4d7960302cb70247f8166647b991d74aa0514d218c9de4c97fe267ecb789e9966cfd8e546fe11661c92034df7a8de72596c5c5ddea10d145d6783cdc5aba2f9b SHA512 9a810b0a70f81fe3b9a1f23b2d171bbe723f7a33374b2caf7ce398572965f21b9de00791122c32b36e68a572b1b8982be378730f1c9f22bc375ae5f5c1c32873
|
||||
DIST bazelbuild-rules_closure-dbb96841cc0a5fb2664c37822803b06dab20c7d1.tar.gz 435984 BLAKE2B 1ec325861e5e5292b2153119beff3b3be743b4833adf3571eab1a066fef06a61131ef0a761e6f8ba4bf978e7c1c073f197f48a507cd1259ee346d4209129211d SHA512 13991822624e5bdcc2424299acb1b9ce12880f46ebbf2065d7d19a66c77f1a6802862a7ea96334fc91a1c85cff516fd32a493320f0a4d98f19e9d33e5f887986
|
||||
DIST cub-1.8.0.zip 602396 BLAKE2B a5e302a52e04f85ae8e1836c59e799532a8b961a8d10c08fe1241c9045f88e31f1ebda6d26124b85c6df40968e1c7b3985a39961bf7614535aafcab2da1a576a SHA512 6167c5be94989f88e05a07508cf69cf2c6b22a5ac733804043daa46bd86a44a15a758b1ffb811bab28b82039d027516ed85b3d9f7677a740a7e00ec9c2f81aed
|
||||
DIST double-conversion-3992066a95b823efc8ccc1baf82a1cfc73f6e9b8.zip 7071029 BLAKE2B 722c190c941b169a3292ce2141c59b8eb1bcc5edd2ed09669592dddb9354e4c6c094dafe02e5a154f215aec776f9f7cebae36b9b0317b10b707282b1ca9449a5 SHA512 1db0d4805c80e9a08d9a581051d8708ddbfe1d74fd820dccde2c2405c45c06a861bd5b535b25d191cd01064e268f3fe71e58bef16fd39471812aea6c2f97da43
|
||||
DIST eigen-9f48e814419e.tar.gz 2430237 BLAKE2B 2d9df1a23ae049e57366fa6838ee8d4b3cecf2d859ec5ffa07bf18878976a2bd99d7dd94bb08f484a8941b5cf8ac091f837a533f081232c70a45ee0583143ba3 SHA512 ee6d8773d910dbf6798cb849ef7611f0f7aaef9ed68216e91c65bd996b8a92b6c107454f6d8599d83bfa6dede7144c83924de8479a9138c7b456b086cd527ebf
|
||||
DIST farmhash-816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz 467122 BLAKE2B 8b9dd426f4b9f732df6c8c09d868d1b1cc006c395b1525c46ea91c75318b723358c8e64bb0d86a73aace2032eded93f0d80cc7c2c77fddd6a39e3402ab4f2cb7 SHA512 7f5110514a8cdc7ce48d33fd94ad67d96a24e42e11b203e4d0986f4190545f051b2a63f8e09f2ac38c3aa4a5c62d9a0e02cd8ce02045037381fb62a99f0dcd00
|
||||
DIST gemmlowp-38ebac7b059e84692f53e5938f97a9943c120d98.zip 916632 BLAKE2B 0bde9faf0e185fc69999173eb0b5a2e106d252ee1bc6caf38b1adc27bde96e4e2b52a3d723c8b1af922386c0e933bfcc674be974cee059c1d9b16ff6ac631c3e SHA512 eb141182dff058048c559723e6aa7127244dcc6a5a0bfd1250bbb262f34378dccf15b1b930cf46dcb6ac22ac16e3fa2781cca63cd93865506a36ab7e463aa537
|
||||
DIST highwayhash-fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz 138574 BLAKE2B cecd95039fc31545ced38a1949e7cb31d6f34deef7c8923b573aa7a632576d0a9b60fd24fbc8a40b8a840a7d2442ea28382fe842178a77467772ed4ba8a2cfb6 SHA512 d25162ed266a8c9c00e6978fcf642cf924f03c0d196f971d0d6f6a3454ca7dfc82f758eabd038ac08e0a5dacc51eccb9b674f588f64692f37cb7a17150aefe4f
|
||||
DIST nvidia-nccl-f93fe9bfd94884cec2ba711897222e0df5569a53.tar.gz 95617 BLAKE2B 023788db444b1a50f01ab16f126c920f530a6ff5bf2a9327626db45f985b4093c1024d16d43cdee9f0b3ee5c8b7d104f2a6b1dab0460c6b1998b42a0354f6f27 SHA512 d6b4dd4d6c7c9ca2dcf0699055c9193d4b46c0c5155e0108db38094577c92f954f604b2e83ca320873288e0010eaa3c5812f05f7fafe5112bebbca78e56cb279
|
||||
DIST oourafft-20061228.tgz 72213 BLAKE2B 4a3ac2b4c0bc3275b5743df59241e1cdbd0200371c153ddf54ef6c7c4ec523ee6560547e2d5ef9f3200037c0635bf41c18991ac35f271b1e600d0dbd65d1a9a7 SHA512 f1ceac00cb7b9eb8f625eee7f1f5eea8af363343589a344226628d68baf668c176e6c23b7f904c4e682330352eaa0cd5d00731340d208e94c9657b8f85ae2240
|
||||
DIST rules_docker-a9bb1dab84cdf46e34d1b34b53a17bda129b5eba.tar.gz 446437 BLAKE2B 070e1028625c74e6fbd092a3f8c6cf6de3b98d8999fdd69527674cfc55f00bd7638f7cb1eba41d496d1de3307b81b9dfd832d7d4bc65f9d98cd53714cb24bb02 SHA512 e43c013027a7235e85c263d8cfc40f9af77f54d054665116bb8641ed7f60d077b9107aa97da5b7e102077b68be7d2cbe401091016bd46f8828ae159659ce9608
|
||||
DIST tensorflow-1.13.2.tar.gz 31619828 BLAKE2B 8ea3114ab1987b97a58d08a19b27b4d82425296b09a8d9084db9f44c92fc2f41e3d663282a365b9e6aedafe6455e3582edcc99de01924b4575fb38d1bced429b SHA512 09fe75f4bcc7f1a93c2e296b5d318c4fd8c6549246482ec35956a1e24a83cf3e6800392240028c5fa2837ffbdd6683826ef3e38fae96634684d1f151a91adb1a
|
||||
DIST tensorflow-python-license.rst.txt 45132 BLAKE2B 770ddd87adc745a021daac01a284131825a33f176002a28b20a2251246183bf7ab4686305620678285e4a216a37f01b3ad953fe7864fa79611cccde156d69ab6 SHA512 2d5a3783ec340f24797e89c78007ee95ab753eb5ee8198c739544f9e1159895f7abe816d6b3c66620f8d7b64641d2a7f44ff0a5b4f2f941928f4733157c7995e
|
||||
EBUILD tensorflow-1.13.2.ebuild 10011 BLAKE2B 8b151edc20f6b80ccaac0e6c99f2414b484eb23ec2e1706736e90f355c8e5d960d8bb5beb00adf54238243e192832f6765d0edab1a6a14d18b888a34d2be343b SHA512 d3aefaeca59c6ee8ad58c0cf0830dc1334d0c0d12d602bbb6fea3f6030d002e918414fb0a5eb900a0ad199012c454d6dba8bda889b218fe6da4daa1e55a6d95e
|
||||
MISC metadata.xml 512 BLAKE2B 39a7fc6dc76945448a9f0e8e9d79866f364d0df5036500a2ab981b6ab6f1170ef8a15e29e3a5a3d39edc0dc441985feaa45ce8069fdfb815ca1419721ba9d870 SHA512 a6dc893a523fa7dab319173914e8602434b8247aee2af6a4adbde29be440097901b0e40193e5592f3849340414a4debce1218ae3895c2c6e7d5af171c463c82b
|
@ -0,0 +1,60 @@
|
||||
From 2956ac52f8495e08d5328f672c1366c52c9f8cfe Mon Sep 17 00:00:00 2001
|
||||
From: Jason Zaman <jason@perfinion.com>
|
||||
Date: Wed, 29 May 2019 19:27:11 +0800
|
||||
Subject: [PATCH] systemlibs: unbundle enum34
|
||||
|
||||
Signed-off-by: Jason Zaman <jason@perfinion.com>
|
||||
---
|
||||
tensorflow/workspace.bzl | 1 +
|
||||
third_party/systemlibs/enum34.BUILD | 14 ++++++++++++++
|
||||
third_party/systemlibs/syslibs_configure.bzl | 1 +
|
||||
3 files changed, 16 insertions(+)
|
||||
create mode 100644 third_party/systemlibs/enum34.BUILD
|
||||
|
||||
diff --git a/tensorflow/workspace.bzl b/tensorflow/workspace.bzl
|
||||
index 55d7eb9371..a53a12e720 100755
|
||||
--- a/tensorflow/workspace.bzl
|
||||
+++ b/tensorflow/workspace.bzl
|
||||
@@ -346,6 +346,7 @@ def tf_workspace(path_prefix = "", tf_repo_name = ""):
|
||||
],
|
||||
sha256 = "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1",
|
||||
build_file = clean_dep("//third_party:enum34.BUILD"),
|
||||
+ system_build_file = clean_dep("//third_party/systemlibs:enum34.BUILD"),
|
||||
strip_prefix = "enum34-1.1.6/enum",
|
||||
)
|
||||
|
||||
diff --git a/third_party/systemlibs/enum34.BUILD b/third_party/systemlibs/enum34.BUILD
|
||||
new file mode 100644
|
||||
index 0000000000..de14bd5641
|
||||
--- /dev/null
|
||||
+++ b/third_party/systemlibs/enum34.BUILD
|
||||
@@ -0,0 +1,14 @@
|
||||
+# Description:
|
||||
+# enum34 provides a backport of the enum module for Python 2.
|
||||
+
|
||||
+licenses(["notice"]) # MIT
|
||||
+
|
||||
+filegroup(
|
||||
+ name = "LICENSE",
|
||||
+ visibility = ["//visibility:public"],
|
||||
+)
|
||||
+
|
||||
+py_library(
|
||||
+ name = "enum",
|
||||
+ visibility = ["//visibility:public"],
|
||||
+)
|
||||
diff --git a/third_party/systemlibs/syslibs_configure.bzl b/third_party/systemlibs/syslibs_configure.bzl
|
||||
index a2d4123fd6..16f3b09697 100644
|
||||
--- a/third_party/systemlibs/syslibs_configure.bzl
|
||||
+++ b/third_party/systemlibs/syslibs_configure.bzl
|
||||
@@ -21,6 +21,7 @@ VALID_LIBS = [
|
||||
"curl",
|
||||
"cython",
|
||||
"double_conversion",
|
||||
+ "enum34_archive",
|
||||
"flatbuffers",
|
||||
"gast_archive",
|
||||
"gif_archive",
|
||||
--
|
||||
2.21.0
|
||||
|
@ -0,0 +1,38 @@
|
||||
From 5176e1feb22fac2f9d4ca9d8ad261ef6893d3c76 Mon Sep 17 00:00:00 2001
|
||||
From: Jason Zaman <jason@perfinion.com>
|
||||
Date: Mon, 29 Jul 2019 01:17:06 +0800
|
||||
Subject: [PATCH 2/3] install_headers: fix paths of generated headers
|
||||
|
||||
Signed-off-by: Jason Zaman <jason@perfinion.com>
|
||||
---
|
||||
tensorflow/BUILD | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/tensorflow/BUILD b/tensorflow/BUILD
|
||||
index a04ddf9f8a..1e0cc9207b 100644
|
||||
--- a/tensorflow/BUILD
|
||||
+++ b/tensorflow/BUILD
|
||||
@@ -703,8 +703,8 @@ genrule(
|
||||
mkdir $@
|
||||
for f in $(SRCS); do
|
||||
d="$${f%/*}"
|
||||
- d="$${d#bazel-out*genfiles/}"
|
||||
- d="$${d#*external/eigen_archive/}"
|
||||
+ d="$${d#bazel-out/*/genfiles/}"
|
||||
+ d="$${d#bazel-out/*/bin/}"
|
||||
|
||||
if [[ $${d} == *local_config_* ]]; then
|
||||
continue
|
||||
@@ -716,6 +716,9 @@ genrule(
|
||||
if [[ $${TF_SYSTEM_LIBS:-} == *$${extname}* ]]; then
|
||||
continue
|
||||
fi
|
||||
+
|
||||
+ d="$${d#*external/farmhash_archive/src}"
|
||||
+ d="$${d#*external/$${extname}/}"
|
||||
fi
|
||||
|
||||
mkdir -p "$@/$${d}"
|
||||
--
|
||||
2.21.0
|
||||
|
@ -0,0 +1,27 @@
|
||||
From 22275f7dbfa2d483ed4778427b137e83144bac3d Mon Sep 17 00:00:00 2001
|
||||
From: Jason Zaman <jason@perfinion.com>
|
||||
Date: Fri, 2 Aug 2019 20:06:33 +0800
|
||||
Subject: [PATCH 3/3] systemlibs: jsoncpp: update header symlinks for jsoncpp
|
||||
1.9
|
||||
|
||||
Signed-off-by: Jason Zaman <jason@perfinion.com>
|
||||
---
|
||||
third_party/systemlibs/jsoncpp.BUILD | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/third_party/systemlibs/jsoncpp.BUILD b/third_party/systemlibs/jsoncpp.BUILD
|
||||
index 526fd0c418..7d54f9289b 100644
|
||||
--- a/third_party/systemlibs/jsoncpp.BUILD
|
||||
+++ b/third_party/systemlibs/jsoncpp.BUILD
|
||||
@@ -6,6 +6,8 @@ filegroup(
|
||||
)
|
||||
|
||||
HEADERS = [
|
||||
+ "include/json/allocator.h",
|
||||
+ "include/json/assertions.h",
|
||||
"include/json/autolink.h",
|
||||
"include/json/config.h",
|
||||
"include/json/features.h",
|
||||
--
|
||||
2.21.0
|
||||
|
@ -0,0 +1,46 @@
|
||||
From a8144189b257d515f1eb72a4b50098e9f4abd4ea Mon Sep 17 00:00:00 2001
|
||||
From: Jason Zaman <jason@perfinion.com>
|
||||
Date: Fri, 2 Aug 2019 22:21:25 +0800
|
||||
Subject: [PATCH 4/5] pkgconfig: generate tensorflow_cc pkg-config entry
|
||||
|
||||
Signed-off-by: Jason Zaman <jason@perfinion.com>
|
||||
---
|
||||
tensorflow/c/generate-pc.sh | 18 ++++++++++++++++--
|
||||
1 file changed, 16 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/tensorflow/c/generate-pc.sh b/tensorflow/c/generate-pc.sh
|
||||
index 7184ad68fb..a4d51a1b3b 100755
|
||||
--- a/tensorflow/c/generate-pc.sh
|
||||
+++ b/tensorflow/c/generate-pc.sh
|
||||
@@ -63,12 +63,26 @@ cat << EOF > tensorflow.pc
|
||||
prefix=${TF_PREFIX}
|
||||
exec_prefix=\${prefix}
|
||||
libdir=\${exec_prefix}/${LIBDIR}
|
||||
-includedir=\${prefix}/include
|
||||
+includedir=\${prefix}/include/tensorflow
|
||||
|
||||
Name: TensorFlow
|
||||
Version: ${TF_VERSION}
|
||||
Description: Library for computation using data flow graphs for scalable machine learning
|
||||
Requires:
|
||||
-Libs: -L\${libdir} -ltensorflow
|
||||
+Libs: -L\${libdir} -ltensorflow -ltensorflow_framework
|
||||
+Cflags: -I\${includedir}
|
||||
+EOF
|
||||
+
|
||||
+cat << EOF > tensorflow_cc.pc
|
||||
+prefix=${TF_PREFIX}
|
||||
+exec_prefix=\${prefix}
|
||||
+libdir=\${exec_prefix}/${LIBDIR}
|
||||
+includedir=\${prefix}/include/tensorflow
|
||||
+
|
||||
+Name: TensorFlow
|
||||
+Version: ${TF_VERSION}
|
||||
+Description: Library for computation using data flow graphs for scalable machine learning
|
||||
+Requires:
|
||||
+Libs: -L\${libdir} -ltensorflow_cc -ltensorflow_framework
|
||||
Cflags: -I\${includedir}
|
||||
EOF
|
||||
--
|
||||
2.21.0
|
||||
|
@ -0,0 +1,25 @@
|
||||
From bdbe7a572ed248bf8e53df200ffa5e66bf77b16f Mon Sep 17 00:00:00 2001
|
||||
From: Jason Zaman <jason@perfinion.com>
|
||||
Date: Fri, 2 Aug 2019 22:22:53 +0800
|
||||
Subject: [PATCH 5/5] gen_git_source: builtins does not exist in python2
|
||||
|
||||
Signed-off-by: Jason Zaman <jason@perfinion.com>
|
||||
---
|
||||
tensorflow/tools/git/gen_git_source.py | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/tensorflow/tools/git/gen_git_source.py b/tensorflow/tools/git/gen_git_source.py
|
||||
index 6cefd3900b..4d52c1fccf 100755
|
||||
--- a/tensorflow/tools/git/gen_git_source.py
|
||||
+++ b/tensorflow/tools/git/gen_git_source.py
|
||||
@@ -26,7 +26,6 @@ NOTE: this script is only used in opensource.
|
||||
from __future__ import absolute_import
|
||||
from __future__ import division
|
||||
from __future__ import print_function
|
||||
-from builtins import bytes # pylint: disable=redefined-builtin
|
||||
import argparse
|
||||
import json
|
||||
import os
|
||||
--
|
||||
2.21.0
|
||||
|
17
sci-libs/tensorflow/metadata.xml
Normal file
17
sci-libs/tensorflow/metadata.xml
Normal file
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>perfinion@gentoo.org</email>
|
||||
<name>Jason Zaman</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
An open source machine learning framework for everyone
|
||||
</longdescription>
|
||||
<use>
|
||||
<flag name="cuda">Enable support for nVidia CUDA</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="github">tensorflow/tensorflow</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
327
sci-libs/tensorflow/tensorflow-1.13.2.ebuild
Normal file
327
sci-libs/tensorflow/tensorflow-1.13.2.ebuild
Normal file
@ -0,0 +1,327 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DISTUTILS_OPTIONAL=1
|
||||
PYTHON_COMPAT=( python2_7 python{3_5,3_6,3_7} )
|
||||
MY_PV=${PV/_rc/-rc}
|
||||
MY_P=${PN}-${MY_PV}
|
||||
|
||||
inherit bazel check-reqs cuda distutils-r1 flag-o-matic 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 mpi +python"
|
||||
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/9f48e814419e.tar.gz -> eigen-9f48e814419e.tar.gz
|
||||
https://github.com/abseil/abseil-cpp/archive/389ec3f906f018661a5308458d623d01f96d7b23.tar.gz -> abseil-cpp-389ec3f906f018661a5308458d623d01f96d7b23.tar.gz
|
||||
https://github.com/bazelbuild/rules_closure/archive/dbb96841cc0a5fb2664c37822803b06dab20c7d1.tar.gz -> bazelbuild-rules_closure-dbb96841cc0a5fb2664c37822803b06dab20c7d1.tar.gz
|
||||
https://github.com/bazelbuild/rules_docker/archive/a9bb1dab84cdf46e34d1b34b53a17bda129b5eba.tar.gz -> rules_docker-a9bb1dab84cdf46e34d1b34b53a17bda129b5eba.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
|
||||
https://github.com/nlopezgi/bazel-toolchains/archive/3f8c58fe530fedc446de04673bc1e32985887dea.tar.gz -> bazel-toolchains-3f8c58fe530fedc446de04673bc1e32985887dea.tar.gz
|
||||
cuda? (
|
||||
https://github.com/nvidia/nccl/archive/f93fe9bfd94884cec2ba711897222e0df5569a53.tar.gz -> nvidia-nccl-f93fe9bfd94884cec2ba711897222e0df5569a53.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/1200fe90bb174a6224a525ee60148671a786a71f.tar.gz -> ARM_NEON_2_x86_SSE-1200fe90bb174a6224a525ee60148671a786a71f.tar.gz
|
||||
https://mirror.bazel.build/docs.python.org/2.7/_sources/license.rst.txt -> tensorflow-python-license.rst.txt
|
||||
https://pypi.python.org/packages/bc/cc/3cdb0a02e7e96f6c70bd971bc8a90b8463fda83e264fa9c5c1c98ceabd81/backports.weakref-1.0rc1.tar.gz
|
||||
)"
|
||||
|
||||
SRC_URI="https://github.com/${PN}/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
|
||||
${bazel_external_uris}"
|
||||
|
||||
# cuda-10.1 / cudnn 7.5 is not supported yet
|
||||
RDEPEND="
|
||||
app-arch/snappy
|
||||
dev-db/lmdb
|
||||
dev-db/sqlite
|
||||
dev-libs/icu
|
||||
>=dev-libs/jsoncpp-1.8.4
|
||||
dev-libs/libpcre
|
||||
dev-libs/nsync
|
||||
dev-libs/openssl:0=
|
||||
>=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.16.0
|
||||
net-misc/curl
|
||||
sys-libs/zlib
|
||||
cuda? (
|
||||
|| (
|
||||
( =dev-util/nvidia-cuda-toolkit-10.0*[profiler] =dev-libs/cudnn-7.4* )
|
||||
( =dev-util/nvidia-cuda-toolkit-9.2*[profiler] =dev-libs/cudnn-7.1* )
|
||||
( =dev-util/nvidia-cuda-toolkit-9.1*[profiler] =dev-libs/cudnn-7.0* )
|
||||
)
|
||||
)
|
||||
mpi? ( virtual/mpi )
|
||||
python? (
|
||||
${PYTHON_DEPS}
|
||||
>=dev-libs/flatbuffers-1.8.0
|
||||
dev-python/absl-py[${PYTHON_USEDEP}]
|
||||
>=dev-python/astor-0.7.1[${PYTHON_USEDEP}]
|
||||
dev-python/gast[${PYTHON_USEDEP}]
|
||||
dev-python/numpy[${PYTHON_USEDEP}]
|
||||
dev-python/google-pasta[${PYTHON_USEDEP}]
|
||||
>=dev-python/protobuf-python-3.6.0[${PYTHON_USEDEP}]
|
||||
dev-python/six[${PYTHON_USEDEP}]
|
||||
dev-python/termcolor[${PYTHON_USEDEP}]
|
||||
dev-python/grpcio[${PYTHON_USEDEP}]
|
||||
net-libs/google-cloud-cpp
|
||||
>=sci-libs/keras-applications-1.0.6[${PYTHON_USEDEP}]
|
||||
>=sci-libs/keras-preprocessing-1.0.5[${PYTHON_USEDEP}]
|
||||
>=sci-visualization/tensorboard-1.13.0[${PYTHON_USEDEP}]
|
||||
virtual/python-enum34[${PYTHON_USEDEP}]
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-python/mock"
|
||||
PDEPEND="python? (
|
||||
>=sci-libs/tensorflow-estimator-1.13.0[${PYTHON_USEDEP}]
|
||||
)"
|
||||
BDEPEND="
|
||||
app-arch/unzip
|
||||
>=dev-libs/protobuf-3.6.0
|
||||
dev-java/java-config
|
||||
dev-python/mock
|
||||
dev-lang/swig
|
||||
dev-python/cython
|
||||
<=dev-util/bazel-0.22.0
|
||||
cuda? (
|
||||
>=dev-util/nvidia-cuda-toolkit-8.0[profiler]
|
||||
)
|
||||
!python? ( dev-lang/python )
|
||||
python? (
|
||||
dev-python/grpcio-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"
|
||||
|
||||
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[*]}"
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
local num_pythons_enabled
|
||||
num_pythons_enabled=0
|
||||
count_impls(){
|
||||
num_pythons_enabled=$((${num_pythons_enabled} + 1))
|
||||
}
|
||||
use python && python_foreach_impl count_impls
|
||||
|
||||
# 5 G to build C/C++ libs, 5G per python impl
|
||||
CHECKREQS_DISK_BUILD="$((5 + 5 * $num_pythons_enabled))G"
|
||||
check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
# Only unpack the main distfile
|
||||
unpack "${P}.tar.gz"
|
||||
bazel_load_distfiles "${bazel_external_uris}"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
export JAVA_HOME=$(java-config --jre-home) # so keepwork works
|
||||
|
||||
append-flags $(get-cpu-flags)
|
||||
bazel_setup_bazelrc
|
||||
|
||||
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_ENABLE_XLA=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
|
||||
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=(
|
||||
absl_py
|
||||
astor_archive
|
||||
boringssl
|
||||
com_github_googleapis_googleapis
|
||||
com_github_googlecloudplatform_google_cloud_cpp
|
||||
com_google_protobuf
|
||||
com_google_protobuf_cc
|
||||
com_googlesource_code_re2
|
||||
curl
|
||||
cython
|
||||
flatbuffers
|
||||
gast_archive
|
||||
gif_archive
|
||||
grpc
|
||||
icu
|
||||
jpeg
|
||||
jsoncpp_git
|
||||
keras_applications_archive
|
||||
lmdb
|
||||
nasm
|
||||
nsync
|
||||
org_sqlite
|
||||
pcre
|
||||
png_archive
|
||||
protobuf_archive
|
||||
six_archive
|
||||
snappy
|
||||
swig
|
||||
termcolor_archive
|
||||
zlib_archive
|
||||
)
|
||||
|
||||
export TF_SYSTEM_LIBS="${SYSLIBS[@]}"
|
||||
export TF_IGNORE_MAX_BAZEL_VERSION=1
|
||||
|
||||
# This is not autoconf
|
||||
./configure || die
|
||||
|
||||
echo 'build --config=noaws --config=nohdfs --config=noignite --config=nokafka' >> .bazelrc || 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
|
||||
BUILD_DIR="${S}-${EPYTHON/./_}"
|
||||
cd "${BUILD_DIR}"
|
||||
fi
|
||||
|
||||
# fail early if any deps are 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
|
||||
}
|
||||
BUILD_DIR="${S}"
|
||||
cd "${BUILD_DIR}"
|
||||
use python && python_foreach_impl run_in_build_dir do_compile
|
||||
ebazel shutdown
|
||||
}
|
||||
|
||||
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* || 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-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
|
||||
}
|
Loading…
Reference in New Issue
Block a user