summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwangjiezhe <wangjiezhe@gmail.com>2024-01-20 19:23:54 +0800
committerJason Zaman <perfinion@gentoo.org>2024-02-03 11:33:00 -0800
commite17026a6281b2cbef77b066992a2d0b304c6929b (patch)
treed5db48fef03e00e103f0a225eeb9a47e8d819772 /sci-libs/tensorflow
parentsci-visualization/tensorboard: add 2.15.1 (diff)
downloadgentoo-e17026a6281b2cbef77b066992a2d0b304c6929b.tar.gz
gentoo-e17026a6281b2cbef77b066992a2d0b304c6929b.tar.bz2
gentoo-e17026a6281b2cbef77b066992a2d0b304c6929b.zip
sci-libs/tensorflow: add 2.15.0
Signed-off-by: wangjiezhe <wangjiezhe@gmail.com> Signed-off-by: Jason Zaman <perfinion@gentoo.org>
Diffstat (limited to 'sci-libs/tensorflow')
-rw-r--r--sci-libs/tensorflow/Manifest16
-rw-r--r--sci-libs/tensorflow/files/tensorflow-2.15.0-0001-WORKSPACE-add-rules-docker-http_archive-bazel-toolch.patch37
-rw-r--r--sci-libs/tensorflow/files/tensorflow-2.15.0-0002-systemlib-Latest-absl-LTS-has-split-cord-libs.patch32
-rw-r--r--sci-libs/tensorflow/files/tensorflow-2.15.0-0003-mkl_dnn-Must-link-against-libm-for-round-and-log2.patch29
-rw-r--r--sci-libs/tensorflow/files/tensorflow-2.15.0-0004-tensorflow_cc-Add-systemlib-nsync-linkopts.patch35
-rw-r--r--sci-libs/tensorflow/files/tensorflow-2.15.0-0005-systemlib-Updates-for-Abseil-20220623-LTS.patch71
-rw-r--r--sci-libs/tensorflow/files/tensorflow-2.15.0-0006-systemlib-Update-targets-for-absl_py.patch24
-rw-r--r--sci-libs/tensorflow/files/tensorflow-2.15.0-0007-systemlib-Add-well_known_types_py_pb2-target.patch28
-rw-r--r--sci-libs/tensorflow/files/tensorflow-2.15.0-0008-Relax-setup.py-version-requirements.patch86
-rw-r--r--sci-libs/tensorflow/files/tensorflow-2.15.0-0009-systemlib-update-targets-for-absl.patch365
-rw-r--r--sci-libs/tensorflow/files/tensorflow-2.15.0-0010-systemlib-fix-missing-osx-in-pybind11.patch25
-rw-r--r--sci-libs/tensorflow/files/tensorflow-2.15.0-0011-systemlib-fix-missing-LICENSE-in-flatbuffers.patch25
-rw-r--r--sci-libs/tensorflow/files/tensorflow-2.15.0-0012-installation-remove-cp_local_config_python.patch68
-rw-r--r--sci-libs/tensorflow/files/tensorflow-2.15.0-0013-build-use-non-hermetic-python.patch990
-rw-r--r--sci-libs/tensorflow/tensorflow-2.15.0.ebuild464
15 files changed, 2295 insertions, 0 deletions
diff --git a/sci-libs/tensorflow/Manifest b/sci-libs/tensorflow/Manifest
index 8d8e59ab8231..0edb4d42f136 100644
--- a/sci-libs/tensorflow/Manifest
+++ b/sci-libs/tensorflow/Manifest
@@ -1,9 +1,11 @@
DIST ARM_NEON_2_x86_SSE-a15b489e1222b2087007546b4912e21293ea86ff.tar.gz 103972 BLAKE2B 77d843aae7d471f7bb916caa40f66ec66322c11bab18ac338360c1a1faeb51a54fb394a35bee7ad3095ba34835e51441416d0c09ecc627769d9181678494eada SHA512 1d9a4192baf05be8cd36ffa55b9bf97e09ab6f714b303bd2ca7b16bbffbb661475c11b130437cafe234fce66d046d7b041f7daf9c25263c5921584412a5c1c12
DIST FP16-4dfe081cf6bcd15db339cf2680b9281b8451eeb3.zip 91462 BLAKE2B dc40d6129c009fc28b40d58b81b89e96a2deeeda3ea19c680b66073f02f955cc5dfc379d7843ec8aeed9fedeae6a70594b45752014526deee5c6226ec4b952e9 SHA512 15ae434977209a938739691eb91150556bac75a4a5449a9b4f135424f42beabd67ede4cf12c3a5594dea5028cc4aadaf989d0b42c2bb6f741db55ebd34717e24
DIST FXdiv-63058eff77e11aa15bf531df5dd34395ec3017c8.zip 16646 BLAKE2B 8f6ca6feee16cb57d9b4504e7615703c2c7ea86fa8ea3f814668478cc13b8cb3cb1429200359be5521ca11f77e1c3d575b2222d123d3ac03586faab88a131ac2 SHA512 6b4830a56137e226d51ba8166fe1a31c51256f1666cc0a683abfb154fbe313d415ce15e362756865a1dd91510cf581c619604b29e8a5288c328c85da57d53308
+DIST Implib.so-5fb84c2a750434b9df1da67d67b749eb929598f1.tar.gz 27694 BLAKE2B 6c3339a98dbf36a77290c1b58da3005cfbf358d9f7759d6fba9047a82d7d240e5c7168d1a172447770559e1cd4ad37aaae6c4e884896ecbc636740d24bf2137a SHA512 694c392754f3b483176515096f98add0cb453c6c36d729ac8609c35fc3d6f01e2982b01c20bb1c5a2ed0776559aca5b8e86967d1984a16678ba047475c21f3d6
DIST OouraFFT-v1.0.tar.gz 110531 BLAKE2B de0e280407e21118e2bc6ca93a7caf3c4a49d0a13eda018b1497f98851af73dda4cef56460dba310336c7ed958e34feef4784ca2575a13287dec2c1ac9a5af6d SHA512 89c6e8fd57abf26351b3efb792008a1bbe62d404a4225dcae8aa666b3782a421be071bdc9760ebb0c95b5336ee5ea517d2fa43ab915045f7cf6fd76e73578079
DIST XNNPACK-659147817805d17c7be2d60bd7bbca7e780f9c82.zip 20341886 BLAKE2B 9aa37b3622e62e554b9021fca88f9f8d274989d4799d942c27a6d13ebb59409b130423a23f60f4e42042b8894457d8d691e17e3f21555562c8e9d1f97bb1ae13 SHA512 13c87064ec57adb29320c4d061ce0ae6cdb42b5e7584fbb758e3703f7f0a96d47e618b7ef584bf10d5b11d3658c43c6822e3b13748b6e659a5820ef534652ebf
DIST XNNPACK-b9d4073a6913891ce9cbd8965c8d506075d2a45a.zip 24168206 BLAKE2B ba6d612cb09823a655f065a76bd9b956a37664eade90aede2d30d9892f6bcfa2c6134f5332eb31247bea6b46e51f47250ae09a6810bde181c72f715550811f49 SHA512 29c844e758ec2f2913dc477866b016afc04679f16da5774069dabbc9373ed210d510c4b1205eb681de20669e49f34098f490340f5524139b079461589f41e7b0
+DIST XNNPACK-bbbaa7352a3ea729987d3e654d37be93e8009691.zip 26938397 BLAKE2B fa8b24435529958833bae368d554a6a71c04bad96a53c26b8f247c1dff2ffcccd0b5382a6b9ae07da111f3f071fc4a96ea28abf5f5a09e3f3099ab032bcc92b3 SHA512 b542c6850c6698f2d46cd2a7a6de4b18f14558a9720c5b169fa9898c5cff5b499005adc767962fcf2a38b4f06b5eb038e4c1fecee0eac0524dde23aafe55ee15
DIST XNNPACK-e8f74a9763aa36559980a0c2f37f587794995622.zip 18756888 BLAKE2B 0a1787166e8bbfda4aa6010075d92573112a21f3f9d3b1c13bc931fae6fa4cafb71685e4c57e86d7a662912bb6431c2d39a24378bf82361b50e5855d1b62f524 SHA512 a6802f0995742af0ca82de010cbd42da230b36cc884612d4ba2de20ba0ca56da6a11209bfb01ee1a5ddc31dc891a69438fa4836ec9d62d56e32c6aa144c6e7aa
DIST apple_support.1.1.0.tar.gz 27105 BLAKE2B 6982ed0188760caeb6951dd28d211449d37a3192fa75e22f5ea86b599a5a92bf8efcfe5a549146533b725aa0fd41584c4d12db3fab41ffbcbca60f657e9590f5 SHA512 db291209ab9a54238b244e02abbca749a695ca3b9b9dc2e207227d3ea32f13144f3236fa921df4c6ba954850635db56584582d8916bdf4c90a2adc55dc90cd3a
DIST apple_support.1.6.0.tar.gz 66375 BLAKE2B 7106e02676861b6ae4b0b42a12fb1fcde0470a99b49088beceabca87743430d6f691688aac5d4cf27e4c4e941781ee9d899fc7c3219095c00bbfe5b6eddafeb5 SHA512 e1d7a119d685fcfd9af1b9b48bb5685743af2d66e86d109575853172c1d9d7c1ce1beaa3fe65d21b55943d243506cdccadc724c603adc5566293b0c0846f874d
@@ -25,15 +27,19 @@ DIST bazelbuild-rules_proto-11bf7c25e666dd7ddacbcd4d4c4a9de7a25175f8.tar.gz 1430
DIST bazelbuild-rules_python-0.0.1.tar.gz 2302092 BLAKE2B 1db52eebf2461d779f764f2afdd070d1d0dd65eb2b83ccd98c2831da1784614ca281b114064729a9f257c64eceb62975aac8362d231c84f32abdf19aee7a1852 SHA512 40fa069a4482e2f83e29dc8e109652d14d187b2ec8efdcd36e98d117de93d66a938ed74999b42a2293fcb6eccc0a111cbbcf65c5c155579214bb1b96644280a5
DIST bazelbuild-rules_python-0.1.0.tar.gz 2490176 BLAKE2B dfb4df19ba787c3cb2c2b0ab7115b9678b64ba03b61b60af0253031333aef2ac37942e425ff724e3e759e5198e8ff45b55866a20f7b497f5735adb9f8deb1e72 SHA512 b83b35f5b200f115d9d5e89b2c81745dd834155f52be0ad2972007d4654ae9438f24c7bea3c9122e6056924a69b348ec3c53d649e092dbe5ae8af3b2119bbc5e
DIST bazelbuild-rules_swift.1.0.0.tar.gz 199181 BLAKE2B 8261cf061ab630cff5bd0bf55c0b62252d3c7cc34a368eef80c0d1e70534dc43b5596077754306e87ba3e5bbc4b77710ba4934ff748079b8e03e72143e15deab SHA512 9e4acdd0a168462b5b480aad72cda9b3b16aaaf86fdf367c4de80dfcc093cb80c74f2f2219190730be10471d07c94c4f9bf8756a938fb9aaee9d1a4d983c4761
+DIST bazelbuild-rules_swift.1.5.0.tar.gz 206209 BLAKE2B 3d0289129ec42e12cf17dcac0f633cd043d9f758fc7c73ff2acd27a9c8c1a0ac6a5b29270599121215f10bc024a5cc52612b3448499a074dd4ec1b79c827e8d3 SHA512 b3699a9f05b73c3fd79c956eefac367e8d6b0ce43c410e87d8e5e67f9b4d5c6632d701a64a09357e67abda9c810a9293f3a7b85213fa7995c57fdf5ce9b3a9e9
DIST benchmark-f7547e29ccaed7b64ef4f7495ecfff1c9f6f3d03.tar.gz 204856 BLAKE2B a1601a38e71e08490f42e85e87675b2451082c531e2712f7e78ac0267c7fab0b6f1ac96fde34933d82380c61097a4467b277790657695fa51c97ac9504435959 SHA512 e4323f2e7b05566e7b634cc1ec18ae64c7cee1bf4ecdb2a3da97dec8393b1ef26580975e7823d4ee9d51d151db6456bc685717836eb3209574ada22a07451063
+DIST brotli-3914999fcc1fda92e750ef9190aa6db9bf7bdb07.zip 592501 BLAKE2B 47ddd728b35eac1b8c4ecc7a198b2dd1270a44b18b437988ccc7f05041135c0d42aa0afebe88b07cd1f26cc1363877b11327f4ed09340268304620725e1c0586 SHA512 d68afb576e5ed1239f2a3b0f2f9434dc95b650ae51ab3296075db871bc1f6b75febb07d8b6934e5acafb9baab2bafb6fb3916415241e130f95d0f28ec8768279
DIST cub-1.9.9.zip 619595 BLAKE2B 265b797a906b03da886de88863236c9ab90daa31498ddf848fcaf5e5ee1342614ad9a41618120ca09cc4c0da3e96eeec5e20ca9d7ba3f9860c507f06d15e59e1 SHA512 8c9c0a3f66f8d518ec07f857b5625e006d52f28bade1c1478a0f37420e2f7586dc3ff029d551748a1802bb5544b16fde5388e8d5a45d61eec595201b9db7a30d
DIST cudnn-frontend-v0.7.1.zip 20112411 BLAKE2B 6f836f6b484e708d43833aef3ae52b930b80845d9e85c61f0fa4670c04a9274975eb65f682a989b9ce5ce1c3992cf43afa6f0c8e684b1754965966a79bcfda65 SHA512 f211c5e8f2a80e445d15fc9003a63485a85dcfb91c170f92e0464d494509ef44c0083a745372ff2e17dc25791f90402e4a672f795eb3faa9650e6776266b6a36
DIST cudnn-frontend-v0.7.3.zip 20124177 BLAKE2B 9c32d99d69d4c7bc96fd6189aa1c2cdfac6fa31dfe84beebaee0e791e7a27768864067159da4473f737612973388daf39c7770ad9c1270bed840221bb603fc4d SHA512 68f5dba9873b317d8239187b57e7b4306e9078e52ef0992e6f23982aa374eff6c2ef2232b6cfff8012f50d9105d6f61c84f7f7c9ab4139d4db451599f896e0b4
DIST cudnn-frontend-v0.9.zip 20077185 BLAKE2B fcd9425be4c2ecc39db0fd92be355a7767b3d00cea990ff4b63ade3dff957f97a6e5fdb1e6f287f6473b2212a66e160940328062a70485c38d5619cf3cc2eb54 SHA512 f38fc912303f4f61ae76d3159ac51b105aba0f728e895b850a164480a729ec144bd8f99764db3e2203210dc114662aba4b4ffe0435d027c0cf620cb42a50df64
DIST dlpack-9351cf542ab478499294864ff3acfdab5c8c5f3d.tar.gz 76170 BLAKE2B c28873deab233d73996137c254acecc4adb0a750cee675cfd0777ccdfa91ea704e338e7166705d47e775c45b46b152834268d89c0443a08c57b4b830bd07ac71 SHA512 e6a4fe9356b8f75f96e7f9960df40e227f8e5242e609f8cc8bf28e8161bd4f58e8c6de374d9cf216edf7e0e09ca502bc158d41c3058bc6e6e7b2bbfb9c5483ff
+DIST ducc-3d28aadfd8bb0219e3df188613dbbcdfffccc3cd.tar.gz 402963 BLAKE2B e178b7358e95643f118cdc210e2a33fb66b4e436636171e292f609d01b4559c9c508c2b07a3bd8008ccdc29f0b442d7a41bf47aa31ba6d4c8edef66aebd80810 SHA512 364d39cb0777e1ced0e5d778d1249bdf95dd75f437df45e0b585c11b0327169eb1c4bcc07dfc99dd1d517dd9b939ee1fa74485bbd231dc128e41850211d534a6
DIST eigen-0b51f763cbbd0ed08168f88972724329f0375498.tar.gz 2848019 BLAKE2B 005e353f101ee9db0a794843b03169e35d0b74867b7c5638036b973ec2424539646f61e063c892de577e04c78e647c8cb11ede67134b7a8b0471286be7429dfc SHA512 9885feb9ae493bb8860799c69d795df199f3ab84afd2bed5b1e71fff221ccd22023b512b4ab763e1b0c684a93d20d5d202088246fc5ffe211f0995e3839ece55
DIST eigen-3460f3558e7b469efb8a225894e21929c8c77629.tar.gz 2833459 BLAKE2B f624102a174d80860314f0e895f641fb86369a2df88ba2e2589da86e5ff0802b36c64be44211f6013997e0251d74bb28051e3e7edcc6cc43ab88448524db3152 SHA512 c015dae59e0df1f25b6caef5f3c724cfd91cd440df6c3eba1ee7c129b20caf9ec4010209cc5edb82ed6534503a697ba6ee49f64be0359de332ed023cdede05cf
DIST eigen-3bb6a48d8c171cf20b5f8e48bfb4e424fbd4f79e.tar.gz 2810518 BLAKE2B 97c9221024f765e6899c676602ee2c850fae661dad613957cead4bce29fce8d9cbb1ac20b812b71c699feea75768be2da945fc39e9b9e9cd2e5b3c6bcf034c60 SHA512 de2c35d3ab859021dac9de35b83cb94e824814e436cd40e45ca2f5f7f9fefadac2b4222f05de9eb1b03d04a29c751f9da3a2b804e6c0fc97b4a5508f25b1e7d4
+DIST eigen-66e8f38891841bf88ee976a316c0c78a52f0cee5.tar.gz 2856636 BLAKE2B 64ce221dd6b77790bb5f2b21006163314c88d18596c4394db5186a741da5c74064f24acb2fb1b8bdfada464a70cd3abe25bcfed904248f509980d7c10f0f8162 SHA512 d54d8bbd92677fe1e8109f6fc9d35dc8e8b6efa8060c6c88bf1f84c40dff36823de0901d6eefbb29468401d6038e4dece1e1de8fce36f4185dfff81b095ead7e
DIST eigen-b0f877f8e01e90a5b0f3a79d46ea234899f8b499.tar.gz 2833536 BLAKE2B 04bb103b64fa8c81ed337c67f5484fb15097f03905a504b19ebeaad4b33ab75baf1e3a2e060c91f1974272f55998555cd16c3da9d8a54a725aef39da7d39dae0 SHA512 1b239db63199aa6f3f9c35198294aff5b89c817befe6f394d69d2f4d6c6e3d946fda32119592da0d7894ea8b4fff12a1c1b8c5eda2e52f7365dc5aedda11f90f
DIST farmhash-0d859a811870d10f53a594927d0d0b97573ad06d.tar.gz 467251 BLAKE2B 74fd0cf3de41a6db0aac74148f795335df58b5a3bdd370b22ae0763aba5a4952dcd0133ed300350636a4678ff54a5c59eedee749dfcef7283e21c181b88f92cb SHA512 7bc14931e488464c1cedbc17551fb90a8cec494d0e0860db9df8efff09000fd8d91e01060dd5c5149b1104ac4ac8bf7eb57e5b156b05ef42636938edad1518f1
DIST gemmlowp-e844ffd17118c1e17d94e1ba4354c075a4577b88.zip 940590 BLAKE2B 72e8ef48e6c20d3f3510eb3a891748df386f3ac127e79cd5c594b7289826294e29be5987632800898d94d6ded9016e398672fbdabd07af8f55d458540e66ec7b SHA512 b5683bd6e1cb942d0e1e07c3bd28d83d74706c45a33b59896124f659f361bb4f93181d3ccd282d9dd61df49695b38470f138ffd2c88b6d11fe160a0266d3909a
@@ -41,10 +47,12 @@ DIST googleapis-6b3fdcea8bc5398be4e7e9930c693f0ea09316a0.tar.gz 6091152 BLAKE2B
DIST highwayhash-c13d28517a4db259d738ea4886b1f00352a3cc33.tar.gz 160745 BLAKE2B f2ffe8f13b1a8346b5b29e719c0a57f34e1fa6320d0f2d0575e4e97e813ed1a8f55acfb44b57aba70ea7d372ade18aee5ef82a881ecf457f580ffc92d6528c7b SHA512 4d6a7e8e321df82c009a0849b8da097a551f6c35a49fef65b89e731075a6af624918c0e55be9fd3a5bf07c519ab09bdefed57e0e39d4df0e79e189c468939de7
DIST kissfft-131.1.0.tar.gz 52383 BLAKE2B 74e6d2e7d132a311b31c28a468e13d9772a53f0ea0abed0e0f49d8db9c183fb0646f58fd38df3e797b8577285899daf6b80446b149ce2582bb828410656d96df SHA512 bd715868ce0e93a291a0592fb1f8b960e832fc64efe863755e52b67d5addff9bcb444a1bf2570d1914c52b41dad1023d0d86400f5ea30c9fb84cd6b4f7210708
DIST llvm-project-10939d1d580b9d3c9c2f3539c6bdb39f408179c0.tar.gz 179559452 BLAKE2B ccdf998502aea7e87ba128560f5458b2a959d32a13f56dc795b8a0ed794c0348ca035ca601a34c0c288990f358dc5c3c01712b7458ebd15c48b1c41b4413fcd2 SHA512 36997be5da7caeaf949ae093b3ec1d81dda668087cc94de1fee9f5262a019f40fca61e652787e3f9498cd8b021b8ffc8002daef189ae0e15fda281ef6d56ecd7
+DIST llvm-project-49cb1595c1b3ae1de3684fea6148363c15bae12a.tar.gz 198655180 BLAKE2B d29cc1ea0045ce9d05ebd2716389be01d1651ee84b401e9f0625c964134d835c3079eb83b8de26f0f5cb617bd857412a07514bdab1d90e9208e5371c04c3ab76 SHA512 0150749286084fc7c6e7df7dc29aa8a56403da24cf6237a9a344b40216e55ad5f169d96a74ea3021d0987593ddef4822877332c55bd4c6a467a3a098b81abdad
DIST llvm-project-668e33c6401abe7844691fb7d47a3cf2d2012dbc.tar.gz 195368050 BLAKE2B 4fe9c27ce35e579e36f1bdca7281206eeb530eeab00089b4c71834f7b47c96e8f951f3ff8477e2946a30c21cd4dfee5a9b485282e5f4f449a70ad7652f378a45 SHA512 6ef3796c8931503f8e7000087262feb011995c1df79f7a7776ab508e9fb37a7bf5bad471d3317d550142b68818a1b3a26d39e23214a3fff852de0c763cf05b2f
DIST llvm-project-d8415b02a519f222ecf71b069c96cc85ac635de3.tar.gz 169045379 BLAKE2B fe25f9c889c5159fbc1d251640f65b3097b4260ec7b27d5133843502ee397995c1075fb10f1a6519c6f693757ab8fe0fe2b82bb96678ef4ec4086c09ce3c90c3 SHA512 546edd97778b4298d7bb645620010e00569813fab07b925a909db4cdd8feb9adc4898e488f7bb31e70587d7b4134820a3f49a98d4f87bcf1dcad9adf5eed7e4c
DIST llvm-project-dc275fd03254d67d29cc70a5a0569acf24d2280d.tar.gz 182909064 BLAKE2B ba2a2db104849d1b09115cc2decdbb2e5dc84c58b61074500ff728e29c2f380a0818a4e8df22f4a1552c04e243dd114862492d7f8df06132348034c500200e14 SHA512 4f51271b765a666b023547382f3f983453afbfc69b793336e381e335d6103978292e781f86fffe16cba8b6d6ea309b64e6d899570060c275779aa0a2b90948c7
DIST llvmorg-10.0.1-openmp-10.0.1.src.tar.xz 955492 BLAKE2B 4197ecfb2e3498a95a2ba5923f2b4bdafbab645ddf2d3f1875d39752d3ab7304fb35bce918d2dc6e40e5ea809545ae0907d6bc0b94a3d68b8d96da48f5a62adc SHA512 5b6f6487feaabd2a18ef2bbb1a5f86bb567e264f9fdf56805cfdd3f65f36f21e7c1392ba5170fafb52a395fc1606b277233beba3df31dc2ab825ef8924e7a05a
+DIST ml_dtypes-2ca30a2b3c0744625ae3d6988f5596740080bbd0.tar.gz 69192 BLAKE2B 74fcbdbc5d788a12e01bbeaaf17a493f10b40be2724751a2b04bd877ba202a20e194ddf0d0161235eca233222b4292a2465f1d712acc407e984d17d3268829e0 SHA512 4912e0e224e618280c9b908500f865ba92cfd99341fb100b784bebab0489b283a01d65b9a34ae7984e026a9a06864009400cbcbcdfeed975581d2e61b563a4e0
DIST ml_dtypes-5b9fc9ad978757654843f4a8d899715dbea30e88.tar.gz 66243 BLAKE2B 541ce280fff68b51eb9e7f9eaff7c03d0c095ed5b219d3ca3d61c31650a21a63bae6fd6a8efddaced6de4d2601d5a7c6924d300d120c30907ea5e239c00ec70d SHA512 78f7e25e37ea30b0dc0cfd0dec4e03d4e208cbf223c239fa386eec9f9912f1adea290eefcca7b15b73f2329c457b34fef4374fb1ad0f3cedb02b310e0eb9fdb6
DIST nvidia-nccl-v2.13.4-1.tar.gz 287269 BLAKE2B 8719e26978225a9697101fb7998388c3179bb0af5c396602689242e5529492ad7a81a142e3a8492c9fa4c92adc251c58e67f97fee64a4fd1a046134ac7d737d7 SHA512 5f7077f69a0c1624a1c8ca3d2f503d8269751e26cb6ee63e1a165fb86877b62073ec4e182d939b9aacce4ee8bb8295a39d1b6d65ef3dc0fce795735341a13fc6
DIST nvidia-nccl-v2.16.2-1.tar.gz 326883 BLAKE2B 86db7adc67ba311b72e7e013dbc2a04918c0746c1fb62079ccd3300691479e1f6e35e379d6ee4320e343666b68372c56607ae521f5ff2d7e59d5f4dc3b894097 SHA512 e6572c2e7adc03053048c0b1e5290ffaf6f294239d78038887582c847aa549e5e95c7970b943f1d0b8964c32b4cdee3785bf40886f274907b613f320e9de10d0
@@ -55,12 +63,15 @@ DIST oneDNN-v3.1.tar.gz 7556565 BLAKE2B db6865410e902778c0153c50cc1f16c12e358b36
DIST oneDNN-v3.2.1.tar.gz 9186820 BLAKE2B f85cb1b410c3f57e098106ca13939c8c93c396e012b15a63c4f728ba75138a6f371db5fd182a54711479beca8f215578ea52d9c3d07be36647f6befb6c16746a SHA512 115819dc47fce5ef8fc7403f88e141743b360bc33243c90740d1b3871849ac379930d23e3e1d62d0abaaa3af5d2cdbd4218b80aa1be1edb09d0d949f7532a559
DIST openxla-stablehlo-43d81c6883ade82052920bd367c61f9e52f09954.zip 27954369 BLAKE2B 30dddfcf2102e344d82171d8fcb2df68a3c2dedfc349a3f248c060e591535127d7716e1bf10c5eef20369eb0d81a6cc0eb5350a6979adb8a164b7bda62d6c745 SHA512 2432e4256bfd2d92ba717895967d87e05bb0201a5086314b1de5fe9078bfea37c14245b88b720ec82f2906751ab344da0dab9f714a6fffe79a0423cf7659e5ac
DIST openxla-stablehlo-51f005f0a8ff6e28f535adfec4de936cb4097aa4.zip 6902721 BLAKE2B ef9766377a38f816f5a6dc60f34d5300b2775bc282084e9f34c7a5ccc6104a0154d44f2c57aba081889de50fc141a6059255fca3f681322343e316289d6540d7 SHA512 ffe46e21be6f617b6ecbc7ef35e83d441256e429150af60451cf04c02085fb1a0b60a9687d8d60d6f1f9321e6f6a92f24749a3c1cf1ee694a8ffc0fcd13f64f4
+DIST openxla-stablehlo-78f57e34a25367ef3192cd35da36b01c763f4ecf.zip 17845568 BLAKE2B d745a8c61c78bea3b2cd2408fb1a93c2f47b5166b8b92515fb32e3f23c21a20d2278fbfe8a4b9bb3993f79884a1a914e7525f11c59b7e9c059b3bf71fc52282b SHA512 6c9a7f5e2dfe3323af7d6753740b25dd1075cd315edb9b2e9d65521df54fbcf62e9d8a16006e94fd64649b8c4fa7bf0fd6566504ee6b145fdf344b142f91503d
DIST openxla-stablehlo-9ae6c373a6e2941ff84a8831bb3724728cb2b49a.zip 17784280 BLAKE2B 99bd410d36d78c4dbefef46d7df137b0bf583cc9cb2d34832f3d95360237647a05511c904ce23030d23ce6d95c34af11c29085db9f775aa96a702c28cec1891d SHA512 b098c2ec986ffae14f916a62095561942a809f80d2159005fbaa08691532ae2a3383b11d8672907b116fcedcf21c88ad86f3f4911b666a66543eab16fae06d86
DIST openxla-stablehlo-fdd47908468488cbbb386bb7fc723dc19321cb83.zip 301572 BLAKE2B c8242b3d9612fbdfa1c34ae5cb610aadd68464498e6cc84d48bcc38abb9e8636fa31b9a03b5a604a29cafe12a47e5b7be90c48d52fb6587bcd376d6307775197 SHA512 61b89d0dafe450ae95d770878385b5ed3cbb0109b79cf5e01304119f2f52255ccc83cedc542cfa5c342692945833b86606468224e67c6ff9dd6f7216b86adc7a
DIST openxla-triton-1627e0c27869b4098e5fa720717645c1baaf5972.tar.gz 985789 BLAKE2B ef3aa4d8033757d37a9ecde3a687a261c5ecde1200b30db1ae24cc5725c334f8662e741041be1e854ddb2cd5d9cb2b9d5f254d9219e8035c5f08df92b3ee9fab SHA512 67ae9075219e142ec3f3e5c3f05cff5fb15f3ef9605bd1c0dbb1e26940bf1e428a9c17b0d5f85c069844f6ea94b8a3ce94277bd4cd344238fbbdc3f56f91e08f
DIST openxla-triton-2c3853269281da6742cf469a5ca5772947d271ce.tar.gz 459751 BLAKE2B 8b1b314fd1b6d8822a84cb9cacfd70e2c59784a76f879d75c910f376d38fbdccbc132ebab7f29c5bddde04afd7821c0322311d97c55fcfcc87580b82039a7efa SHA512 cedee3b982b93ae237a1e035ef2a9447aabc94ea4add63959b927670006b5cf546f064d5741ee9e731de31c343ed5869abe9c479d07360b07ef2b26f93081a6a
DIST openxla-triton-cl546794996.tar.gz 948559 BLAKE2B 9c2ed46364b4986c39466803f14ec5618cab0cbc504f53909f74eabf7f6d5e5f4f6fcf1d19965f48b38f18dc99f26fc02ecc7275f05194b228e281988bbb4cea SHA512 680774ffb6cf291bb0f7bd851d4cb66d4e40d70ce2761441ac17595fb98fee6cb013fc5d4f8ca33d79f7b09f2e2924e50c027a09e7250d72767c59a119e56143
+DIST openxla-triton-cl555471166.tar.gz 955143 BLAKE2B 00c4be9f2ba24d46a811f6d30b4972bc00a0d490f375f2156462699e64714667cb77d8ff34d2b78074f505d94dc737355f62c0de156b45e329fcdd8d19a69e12 SHA512 e2c56d48b8db852a93e194d2f29eeae89ef332d6a62a0ba208a5b0dbb4e78bfc06464dee53d653b22d0022b9169a7fcd5b9e8ce2ad3e4b3741d712ce98e25155
DIST protobuf-3.21.9.zip 7156366 BLAKE2B 464ec84fd380d2d472cde5b7dd978c31ac8dc455934b7b1f7afe7dd836579ff74c1196d56dea2944fb41e5ef2f2e05683b889b54e4a3a11bb7cf87a0cd57f691 SHA512 311e0bcd3da54b8fb2df4de03a9b465cd56451018438e4d72054d78e70c37c70ee3c8a0378a177acb737ec863bdf9250d10bcbcdc0f97707c7edf97b9b37683b
+DIST pthreadpool-4fe0e1e183925bf8cfa6aae24237e724a96479b8.zip 72209 BLAKE2B 7fbbe569d8d08853c826212b487b8138b6361180444893b4975cd10abc391e26aeb6669db7d78ed39014803e59cbaff7b80140d01cfa46e8138fc3123ef3d54b SHA512 e951c12896543ebddb115dd4ddad539145cc30342ccdf71b83a568fb22f50e6ab5a7ab92309d02d9960f43c8ea9f690c95306924cac75fa9f4fc64a458e5ee10
DIST pthreadpool-b8374f80e42010941bda6c85b0e3f1a1bd77a1e0.zip 61524 BLAKE2B 924419730bc6b94ec98a13db94f177b3b70d6c763158f43fb6f9e45605e73cfce238e6c996e2bf629dbb2a5af93ae99849ddc91174fc4664d702667f7423892d SHA512 d25262b47e39058d5aa8b8197c4984a5b941587a19079a2210f738c3af34ab8e8477731c88ca80c3f812a6a04635f80300124d93cc1e099352ef2aca04bdc3ae
DIST pybind11_abseil-2c4932ed6f6204f1656e245838f4f5eae69d2e29.tar.gz 28202 BLAKE2B 58a13d005367d938e9fc17da6435a8c2706722d0770c173cbfc433b7ea4de7e7d1b97653c5859cc8c436cccda3b8d21df906249a3a60ee4bba7cc6601abfaa59 SHA512 91befca03fa1b4f12446b84d5fe3514df6c9e352a19042f4f8856f6df306229f23b6ca2976a17ab22c8dd5afa223a44013e54a4348298c305a7688646129f0a4
DIST pybind11_bazel-72cbbf1fbc830e487e3012862b7b720001b70672.tar.gz 8722 BLAKE2B 3f323e622fdd9921019cfdf4d281d54530b152efa557d2e57ed08bc8785fa419815c2a7e36c38de8d0c984f76d052607d4fbd409c4ede76cb9878823350dda2c SHA512 80fff0799119b535a95badb307408c7a81bad0261c0e753095732036d0801c4894318df736c6b1b3ca09201d3f5e4e971593a7d5e9df71c1cd588e4be3799c1f
@@ -70,8 +81,10 @@ DIST pytorch-cpuinfo-3dc310302210c1891ffcfb12ae67b11a3ad3a150.zip 3812878 BLAKE2
DIST pytorch-cpuinfo-5e63739504f0f8e18e941bd63b2d6d42536c7d90.tar.gz 3512335 BLAKE2B 71c14866fde3846b5f375b39fe2f081a6c219b36fc0721640971f99c53ca77c8e7f8df83992d777af32a28c645d64f27dca838bd8e60835c5497e131467b22d0 SHA512 6a61f4574661a55771c2ec31bb0919a51d0bd8c770477b254a5c14dc5323716af275c7fe3abc5aa96720d7cc929559ca66f614265d3940e076b8db2fa15c8e36
DIST pytorch-cpuinfo-87d8234510367db49a65535021af5e1838a65ac2.tar.gz 3516012 BLAKE2B 78845105e55397d3e948382bac22fff6a639c2d27c096176f29b9b29c6e1e2f78a8ffb44eddf5e20b4d08e2f5dbd7be949a6b55ffe0ca754a00794db8de540a3 SHA512 53b687196b8e46bb99469bbf37f8141c3ee89be78bab67accc63af849207a0234447304b7fa63fb44635add0ddab585df337130acb85fd7b026c0990e12a5840
DIST pytorch-cpuinfo-87d8234510367db49a65535021af5e1838a65ac2.zip 3813501 BLAKE2B 7b4c54fd6a21b9845dce1f1834eb07613b165ca3fd8ac132bfb3a6964354af9910664f77601f7b839a8770036a1b2a2b21befe3a51d2e6c1e0c6400abbcc952a SHA512 1f697dd26b01bda1e21bebb948fdc2c224455910f55fba7327533b131c016f7cb51eb00804d6d765b37b4614c9093243898363482b3e37e427f83941b0c88f48
+DIST pytorch-cpuinfo-959002f82d7962a473d8bf301845f2af720e0aa4.zip 3813452 BLAKE2B 71b895caefaae40693a815961ef6e660f1e9ebb0318d7147c9b79c6c884006cc624b8191b5dc814acb64162da0090e024052522e08239759d0eda1c992863d81 SHA512 53cc2f8e21c965f885d6798d113594c43b53a3d5db41c176f6c601169fc085f3ca647dc6aac93f9829881f4119bafccc6151109f281a892936a50144f87d1061
DIST re2-03da4fc0857c285e3a26782f6bc8931c4c950df4.tar.gz 396457 BLAKE2B 33b90f851c4a4ba634bcb907e8f32d21f6792e0fb680d38034d02f469e499380b0b458ad75fa42f1ad931cda314f7fb0ba0798ba085e176e5f2e38a67c8e14d7 SHA512 d573150b7a6d8fa3e970f0e245501d7653944fd406f2dc4016c7126c9602be988ba18d0c8b0296684dd30f4a3b9207284db5df4ef5f05e305160b845209f23d0
DIST re2-a276a8c738735a0fe45a6ee590fe2df69bcf4502.tar.gz 306766 BLAKE2B 54162a22afe10b392e30864729b3b210194c0dbf7926cc3536dfe3afd43e0b8abf3d01b08e0feb71a8ade19cd497aea9e9b7b34eacb85e10cc7e1c5fd62a407d SHA512 9557830cea13485bd332ccdcdd3735ea63e6bb41f4cf943ecc24a1d79b75a58c5894cfe70c4a35a07a1b2b1f3d2ffa76fbeff168fda17c72b3436cb6213121dd
+DIST riegeli-264ef7b4a1314d97265b37544b27cd3923ea72d2.zip 1047649 BLAKE2B cb5f94ed39c5752ff21f5a042389a147ef83be6893130da79c412bbd1c29904bdcc6190f4ddbc883c166fa057b009aa6acd5d936ec9fd0c28c4f71c467431b6f SHA512 e41e65fefd9f4a5179f48f108f2839f6cdd75284b22bbd639a4bf9253c9217d0ea2d7935635b0e6f8f8a961dd4cb50817204e6745981b1d619e69d3665458fd2
DIST rules_apple.1.0.1.tar.gz 2198467 BLAKE2B 79178efe1acfa36af3f41b31610a5add8bd9c35529931415ab45cc1588c4fea477ddf0cd67c5d799de688db049fe2f3ce776c5e5da2e1dde1c329efc44d51ec0 SHA512 a24d880dd8174241b2808424fd3364f8b0ba9865109704981ad68f383d983bab9f8e8923942423e70b0a3af6951d16f5712647692a8ca3bef4347057f3536cc6
DIST rules_apple.2.3.0.tar.gz 2222651 BLAKE2B a0a0e153eaa16be0ace362c1738b3f5ff87a3e76bd6fbf65c7d76e68d33b40d99e86045cf0bb104644fbf076024dcee4082303b823e12cbce6675202d93c29d5 SHA512 e8f6c164451a28ad70a9fdabfc2540a0165de1d23e2bdb7ec06ddf2e455f55cf82b8024be0e88153fca44433ae84144cc4054974737c8f6374fc88de37338394
DIST ruy-3286a34cc8de6149ac6844107dfdffac91531e72.zip 381045 BLAKE2B 00cf2a009ff6cac8e3e8c3380c3fdb4fe9299614eba56bfbf0b2b8dd908ec2ec7d58b8185810899dd8bac80cc990d69a26e01eed8562f73c5fc08b8b3ad198e0 SHA512 4acb4dcee41788c3f2a65a4335f64d20057980289f231a401ea45c27dcd16bc2e48d0748d6ad35e77c3212104c54353193d4710260993ae8927dce24a6ef435e
@@ -82,9 +95,12 @@ DIST tensorflow-2.11.0.tar.gz 67996769 BLAKE2B 539a8d7084280023c7b019a079aad6bdf
DIST tensorflow-2.12.0.tar.gz 69710128 BLAKE2B 582b7b2717edd0ce41ecd74525fd38684d375cf1833c206cb53fa10ef964bb41ef8f29fa947a1f77e892bb68793d53c567bc9c4c9124dba94913f57ddcd3b1f9 SHA512 9273720b5be08e5d3dc76aafa4af6b27a2d50afd02b181e7632f3d70961995b2e0e5acb13e70c9b704ef475617c23d70047fbe74d5b63b156cf8f2fa8a856b84
DIST tensorflow-2.13.1.tar.gz 70663056 BLAKE2B fcaff251ae3757f7e20deb07566485ca243f943ce118886edcfea3c41aff8baf83b98e5e3eea97c5243cb5db2e7418ec58687b3099dffd5c750395b554689343 SHA512 4f7bae717444a34704cb53466051a5708be13342a193be14914fbddd4790e327f3b6c37063a36d1c7835c50cf99500895aaffc646fdb9b421e6b873dfe4b2e46
DIST tensorflow-2.14.1.tar.gz 72760001 BLAKE2B dd443c087bbe524b8b6dd6e9f08ec1c7bbc406e2ae7f854573fd29212004f927daaf8115a66f1c11c97da2e6f40a44ccb0e4f8e28455e1bf94872d630277e4bf SHA512 c5e9a176027a00b5efb1343bee000330f56229a1a8559db2fb9e2c9388afaf8420d69b6fd6e7b85811272c110245315935232a859e9fd4106b29b226780c447e
+DIST tensorflow-2.15.0.tar.gz 73544567 BLAKE2B fe528a8ec2ad7f75ee4fcaf0febc673fc743835fe6a27561efb3e55fcc6cf4b22220acea38b82318766b3f0d640b8d539628f6062af0ce5bb9e36b1e9ad1e629 SHA512 51976c7255ffbdb98fe67a28f6ae1c3b9a073e49fe6b44187a53d99654e4af753de53bfa7229cdd1997ac71e8ddecbc15e4759d46c6d24b55eb84c5d31523dfe
DIST tensorflow-patches-2.11.0.tar.bz2 2977 BLAKE2B 53672704ccfc5291f7070421af9f7246d2f211689b18f35917d4d166ff5e9ddb623db4dd9dc8054e0f2262b162dd8c2216446c6ca5e2bf538872debf8eb8aec1 SHA512 866c6abb78934c1a645ab3172f93d81423e2023fa1e8688255ef0777e340d810a6889c838b841be765f0897f7a269c4d6cb52b8f59af114bf5b9e181b1348590
DIST tensorflow-patches-2.12.0.tar.bz2 4194 BLAKE2B b61efaf0ade6ef88b5abb858a84b537e02ff9fcd032a2a7f68a6467e53511a50fff66ef7e1096f343a8909e165b1b76146cb6a8db8e1974eeecf2cbf0b6a71a0 SHA512 2f931fd4b995d33300d392f7dafd6dd23671772f733c28faed239d01e9b032967afb17cab50908fa38956e2cde479a13dfdc632e622d918fe55d281aa9b3dc4e
DIST tensorflow-runtime-4ce3e4da2e21ae4dfcee9366415e55f408c884ec.tar.gz 15313054 BLAKE2B 316da579b93d83bca43d51198dc65dea12972d73f019a5b78fe53162966e022d21d4225ba4a7786d1a0f376550a1052c59858df04b958768962b88d64d3c5083 SHA512 ea490ebc8a5eef4a7ce6185c19e3b1305fd886c8145ef54387076f458bfec56a8a33452728206afa67001273920f6958317c8c4289e32ac6fea432e15a2502c5
+DIST tensorflow-runtime-70637966e2ec9afccc2cf4d51ed2391172b1b9c5.tar.gz 3925477 BLAKE2B 9a34c431e98d3d6d10a880bfcd70397ed7e63e4ecc0669c1f75a6c15d3c143ab21245d2454031ac0abd67f56b675f7435e8ce7dc934500d506f4b0d5c2a81ecc SHA512 ec7189bdf04c7a54ea2b0e232b311a375eedc7a172cfe72935494faa71947408bedfa0e5160ce1ad9c14e120e64b1cc2d10c9714063179c4e73f867c3b236160
DIST tensorflow-runtime-769f5cc9b8732933140b09e8808d13614182b496.tar.gz 15183227 BLAKE2B 3c9a3f256db2cd4ff74318da2fc42dbe98669142cc0ea567ac29df4e2faea6e6bc55508f8ec555a88d19bc064123f80e9809affd64628dd9483adfa0dac41aca SHA512 d505278cc7b82f1b1b3c0588e654e64cd63824c920b0b3c93b778ec1f46f005d17e922ee24dde9cb78714f0a2b22c7038f73273d94c46360b7aca92cb5ad61a3
DIST tensorflow-runtime-7d879c8b161085a4374ea481b93a52adb19c0529.tar.gz 15228644 BLAKE2B e621ece4bbe3139661ef48c628459118eb2078151907630d6fde4086bd73f09af2ab0bb1c43ccf81d84230e3bb3be617e505f76c5d4333fee9adece58e4f4042 SHA512 f79f1e0a44a60cd064e21461380dfd5eb47a8912064f238da4ea94c8c8c94a680e438ff2b202bd0c81049e104293b5bbbcdfb604cf9ebecf6e6bf34d6782b0f5
DIST tensorflow-runtime-91d765cad5599f9710973d3e34d4dc22583e2e79.tar.gz 15226589 BLAKE2B 5a00d0f884c86f85a25aba8f7d9eee509f35c114e9bfa24ce3effe9437bc549a4a7f013b03b515fbb4a217724a2e2abca96300fba64560b0d0e4fdb05fb9c3ac SHA512 b2fc8a240de1a13fade8628358f410b8f6e1bfde9d2cec3765b62d2ee7eb143c168687a23cb79c7aecd19a668d2d3be46fba361d16ad29b722fe19004aa3c5a2
+DIST zstd-v1.4.5.zip 2261522 BLAKE2B 0fdd2bc47d39af48445868e8ad0dc1bb06d377422c0743924cc309b9772a6964bf5a0d40380fffdd84d37ff114a371d283ca1eacd02c505380ba757462cf87d2 SHA512 7ab1f4ce57d89ea4848227173fe7600b1b4378717b1460e46d2c862531fa717344c0e52fc498f925646ea621b7209326e73f88885839191aa9a7c6c2896d9091
diff --git a/sci-libs/tensorflow/files/tensorflow-2.15.0-0001-WORKSPACE-add-rules-docker-http_archive-bazel-toolch.patch b/sci-libs/tensorflow/files/tensorflow-2.15.0-0001-WORKSPACE-add-rules-docker-http_archive-bazel-toolch.patch
new file mode 100644
index 000000000000..0143ea01cab7
--- /dev/null
+++ b/sci-libs/tensorflow/files/tensorflow-2.15.0-0001-WORKSPACE-add-rules-docker-http_archive-bazel-toolch.patch
@@ -0,0 +1,37 @@
+From c49a30cc3e2d96cbe97a7012ef89800af7a0c5e0 Mon Sep 17 00:00:00 2001
+From: wangjiezhe <wangjiezhe@gmail.com>
+Date: Fri, 24 Nov 2023 16:34:44 +0800
+Subject: [PATCH 01/13] WORKSPACE: add rules-docker http_archive,
+ bazel-toolchains uses git_repo
+
+git_repository() rules cannot pull from --distdir and fail when building
+without internet access. Use http_archive instead and pin the sha256
+hash as well.
+---
+ WORKSPACE | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/WORKSPACE b/WORKSPACE
+index 6a85ffeb29a..c10a2c4a482 100644
+--- a/WORKSPACE
++++ b/WORKSPACE
+@@ -1,5 +1,16 @@
+ workspace(name = "org_tensorflow")
+
++load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
++
++http_archive(
++ name = "io_bazel_rules_docker",
++ sha256 = "7d453450e1eb70e238eea6b31f4115607ec1200e91afea01c25f9804f37e39c8",
++ strip_prefix = "rules_docker-0.10.0",
++ urls = [
++ "https://github.com/bazelbuild/rules_docker/releases/download/v0.10.0/rules_docker-v0.10.0.tar.gz",
++ ],
++)
++
+ # We must initialize hermetic python first.
+ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+
+--
+2.41.0
+
diff --git a/sci-libs/tensorflow/files/tensorflow-2.15.0-0002-systemlib-Latest-absl-LTS-has-split-cord-libs.patch b/sci-libs/tensorflow/files/tensorflow-2.15.0-0002-systemlib-Latest-absl-LTS-has-split-cord-libs.patch
new file mode 100644
index 000000000000..d3f1471f6dff
--- /dev/null
+++ b/sci-libs/tensorflow/files/tensorflow-2.15.0-0002-systemlib-Latest-absl-LTS-has-split-cord-libs.patch
@@ -0,0 +1,32 @@
+From 79f6530e6beb5ca25fd07245f251897bf60c85e2 Mon Sep 17 00:00:00 2001
+From: Jason Zaman <jason@perfinion.com>
+Date: Sun, 6 Feb 2022 00:13:56 -0800
+Subject: [PATCH 02/13] systemlib: Latest absl LTS has split cord libs
+
+---
+ third_party/absl/system.absl.strings.BUILD | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/third_party/absl/system.absl.strings.BUILD b/third_party/absl/system.absl.strings.BUILD
+index fa9a7a84f67..63bac99d71b 100644
+--- a/third_party/absl/system.absl.strings.BUILD
++++ b/third_party/absl/system.absl.strings.BUILD
+@@ -26,7 +26,14 @@ cc_library(
+
+ cc_library(
+ name = "cord",
+- linkopts = ["-labsl_cord"],
++ linkopts = [
++ "-labsl_cord",
++ "-labsl_cord_internal",
++ "-labsl_cordz_functions",
++ "-labsl_cordz_handle",
++ "-labsl_cordz_info",
++ "-labsl_cordz_sample_token",
++ ],
+ deps = [
+ ":str_format",
+ "//absl/container:compressed_tuple",
+--
+2.41.0
+
diff --git a/sci-libs/tensorflow/files/tensorflow-2.15.0-0003-mkl_dnn-Must-link-against-libm-for-round-and-log2.patch b/sci-libs/tensorflow/files/tensorflow-2.15.0-0003-mkl_dnn-Must-link-against-libm-for-round-and-log2.patch
new file mode 100644
index 000000000000..5ffab1f6c269
--- /dev/null
+++ b/sci-libs/tensorflow/files/tensorflow-2.15.0-0003-mkl_dnn-Must-link-against-libm-for-round-and-log2.patch
@@ -0,0 +1,29 @@
+From 51b47cec16b0818d47086b629fb361f90cca284a Mon Sep 17 00:00:00 2001
+From: Jason Zaman <jason@perfinion.com>
+Date: Mon, 5 Sep 2022 12:52:44 -0700
+Subject: [PATCH 03/13] mkl_dnn: Must link against libm for round and log2
+
+---
+ third_party/mkl_dnn/mkldnn_v1.BUILD | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/third_party/mkl_dnn/mkldnn_v1.BUILD b/third_party/mkl_dnn/mkldnn_v1.BUILD
+index e25a66db664..4185df77f3d 100644
+--- a/third_party/mkl_dnn/mkldnn_v1.BUILD
++++ b/third_party/mkl_dnn/mkldnn_v1.BUILD
+@@ -165,9 +165,9 @@ cc_library(
+ includes = _INCLUDES_LIST,
+ # TODO(penpornk): Use lrt_if_needed from tensorflow.bzl instead.
+ linkopts = select({
+- "@local_tsl//tsl:linux_aarch64": ["-lrt"],
+- "@local_tsl//tsl:linux_x86_64": ["-lrt"],
+- "@local_tsl//tsl:linux_ppc64le": ["-lrt"],
++ "@local_tsl//tsl:linux_aarch64": ["-lrt", "-lm"],
++ "@local_tsl//tsl:linux_x86_64": ["-lrt", "-lm"],
++ "@local_tsl//tsl:linux_ppc64le": ["-lrt", "-lm"],
+ "//conditions:default": [],
+ }),
+ textual_hdrs = _TEXTUAL_HDRS_LIST,
+--
+2.41.0
+
diff --git a/sci-libs/tensorflow/files/tensorflow-2.15.0-0004-tensorflow_cc-Add-systemlib-nsync-linkopts.patch b/sci-libs/tensorflow/files/tensorflow-2.15.0-0004-tensorflow_cc-Add-systemlib-nsync-linkopts.patch
new file mode 100644
index 000000000000..d540ee2c03ce
--- /dev/null
+++ b/sci-libs/tensorflow/files/tensorflow-2.15.0-0004-tensorflow_cc-Add-systemlib-nsync-linkopts.patch
@@ -0,0 +1,35 @@
+From e9d513bbb40004ff25a9809eb99e32958e8e3b82 Mon Sep 17 00:00:00 2001
+From: wangjiezhe <wangjiezhe@gmail.com>
+Date: Fri, 24 Nov 2023 16:42:48 +0800
+Subject: [PATCH 04/13] tensorflow_cc: Add systemlib nsync linkopts
+
+Linkopts dont get propagated up to the shared library correctly so
+workaround by applying them directly
+---
+ tensorflow/BUILD | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tensorflow/BUILD b/tensorflow/BUILD
+index f72931217b3..ffbe65fdc61 100644
+--- a/tensorflow/BUILD
++++ b/tensorflow/BUILD
+@@ -6,6 +6,7 @@ load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
+ load("@bazel_skylib//lib:selects.bzl", "selects")
+ load("@bazel_skylib//rules:common_settings.bzl", "bool_flag", "bool_setting")
+ load("@local_config_cuda//cuda:build_defs.bzl", "if_cuda")
++load("@local_config_syslibs//:build_defs.bzl", "if_system_lib")
+ load(
+ "//tensorflow:tensorflow.bzl",
+ "VERSION",
+@@ -1324,7 +1325,7 @@ tf_cc_shared_library(
+ "-z defs",
+ "-Wl,--version-script,$(location //tensorflow:tf_version_script.lds)",
+ ],
+- }),
++ }) + if_system_lib("nsync", ["-lnsync_cpp"]),
+ per_os_targets = True,
+ roots = [
+ "//tensorflow/c:c_api",
+--
+2.41.0
+
diff --git a/sci-libs/tensorflow/files/tensorflow-2.15.0-0005-systemlib-Updates-for-Abseil-20220623-LTS.patch b/sci-libs/tensorflow/files/tensorflow-2.15.0-0005-systemlib-Updates-for-Abseil-20220623-LTS.patch
new file mode 100644
index 000000000000..520f4bcf9a68
--- /dev/null
+++ b/sci-libs/tensorflow/files/tensorflow-2.15.0-0005-systemlib-Updates-for-Abseil-20220623-LTS.patch
@@ -0,0 +1,71 @@
+From b43d73336a9209717adb038ca1fe3a808d3ce36e Mon Sep 17 00:00:00 2001
+From: Jason Zaman <jason@perfinion.com>
+Date: Tue, 30 May 2023 09:10:03 -0700
+Subject: [PATCH 05/13] systemlib: Updates for Abseil 20220623 LTS
+
+These targets are header-only and just need stub bazel targets
+---
+ third_party/absl/system.absl.functional.BUILD | 22 +++++++++++++++++++
+ third_party/absl/system.absl.random.BUILD | 12 ++++++++++
+ 2 files changed, 34 insertions(+)
+
+diff --git a/third_party/absl/system.absl.functional.BUILD b/third_party/absl/system.absl.functional.BUILD
+index a4f70acf35c..579181dec07 100644
+--- a/third_party/absl/system.absl.functional.BUILD
++++ b/third_party/absl/system.absl.functional.BUILD
+@@ -2,10 +2,32 @@ load("@rules_cc//cc:defs.bzl", "cc_library")
+
+ package(default_visibility = ["//visibility:public"])
+
++cc_library(
++ name = "any_invocable",
++ deps = [
++ "//absl/base:base_internal",
++ "//absl/base:config",
++ "//absl/base:core_headers",
++ "//absl/meta:type_traits",
++ "//absl/utility",
++ ],
++)
++
+ cc_library(
+ name = "bind_front",
++ deps = [
++ "//absl/base:base_internal",
++ "//absl/container:compressed_tuple",
++ "//absl/meta:type_traits",
++ "//absl/utility",
++ ],
+ )
+
+ cc_library(
+ name = "function_ref",
++ deps = [
++ "//absl/base:base_internal",
++ "//absl/base:core_headers",
++ "//absl/meta:type_traits",
++ ],
+ )
+diff --git a/third_party/absl/system.absl.random.BUILD b/third_party/absl/system.absl.random.BUILD
+index 948de07751a..5ebd656be8e 100644
+--- a/third_party/absl/system.absl.random.BUILD
++++ b/third_party/absl/system.absl.random.BUILD
+@@ -51,3 +51,15 @@ cc_library(
+ "//absl/types:span",
+ ],
+ )
++
++cc_library(
++ name = "bit_gen_ref",
++ deps = [
++ ":random",
++ "//absl/base:core_headers",
++ "//absl/base:fast_type_id",
++ "//absl/meta:type_traits",
++ "//absl/random/internal:distribution_caller",
++ "//absl/random/internal:fast_uniform_bits",
++ ],
++)
+--
+2.41.0
+
diff --git a/sci-libs/tensorflow/files/tensorflow-2.15.0-0006-systemlib-Update-targets-for-absl_py.patch b/sci-libs/tensorflow/files/tensorflow-2.15.0-0006-systemlib-Update-targets-for-absl_py.patch
new file mode 100644
index 000000000000..79c9773e2b5a
--- /dev/null
+++ b/sci-libs/tensorflow/files/tensorflow-2.15.0-0006-systemlib-Update-targets-for-absl_py.patch
@@ -0,0 +1,24 @@
+From d12cf2b464f129c8aeb513c34304c117e5384ffd Mon Sep 17 00:00:00 2001
+From: wangjiezhe <wangjiezhe@gmail.com>
+Date: Fri, 24 Nov 2023 16:48:15 +0800
+Subject: [PATCH 06/13] systemlib: Update targets for absl_py
+
+---
+ third_party/systemlibs/absl_py.absl.flags.BUILD | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/third_party/systemlibs/absl_py.absl.flags.BUILD b/third_party/systemlibs/absl_py.absl.flags.BUILD
+index d92f4949df1..614938fb8c4 100644
+--- a/third_party/systemlibs/absl_py.absl.flags.BUILD
++++ b/third_party/systemlibs/absl_py.absl.flags.BUILD
+@@ -8,4 +8,7 @@ py_library(
+
+ py_library(
+ name = "argparse_flags",
++ deps = [
++ ":flags",
++ ],
+ )
+--
+2.41.0
+
diff --git a/sci-libs/tensorflow/files/tensorflow-2.15.0-0007-systemlib-Add-well_known_types_py_pb2-target.patch b/sci-libs/tensorflow/files/tensorflow-2.15.0-0007-systemlib-Add-well_known_types_py_pb2-target.patch
new file mode 100644
index 000000000000..6a6c722da38f
--- /dev/null
+++ b/sci-libs/tensorflow/files/tensorflow-2.15.0-0007-systemlib-Add-well_known_types_py_pb2-target.patch
@@ -0,0 +1,28 @@
+From e5c0870dda44361c1d3ffdf8a0adc549ba16444a Mon Sep 17 00:00:00 2001
+From: Jason Zaman <jason@perfinion.com>
+Date: Sat, 3 Jun 2023 16:23:51 -0700
+Subject: [PATCH 07/13] systemlib: Add well_known_types_py_pb2 target
+
+Bug: https://github.com/tensorflow/tensorflow/issues/60667
+---
+ third_party/systemlibs/protobuf.BUILD | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/third_party/systemlibs/protobuf.BUILD b/third_party/systemlibs/protobuf.BUILD
+index 4d05ab28d12..b3d72b0e3ad 100644
+--- a/third_party/systemlibs/protobuf.BUILD
++++ b/third_party/systemlibs/protobuf.BUILD
+@@ -111,3 +111,10 @@ py_library(
+ visibility = ["//visibility:public"],
+ deps = [dep + "_proto" for dep in proto[1][1]],
+ ) for proto in WELL_KNOWN_PROTO_MAP.items()]
++
++py_proto_library(
++ name = "well_known_types_py_pb2",
++ include = ".",
++ srcs = [proto[1][0] for proto in WELL_KNOWN_PROTO_MAP.items()],
++ visibility = ["//visibility:public"],
++)
+--
+2.41.0
+
diff --git a/sci-libs/tensorflow/files/tensorflow-2.15.0-0008-Relax-setup.py-version-requirements.patch b/sci-libs/tensorflow/files/tensorflow-2.15.0-0008-Relax-setup.py-version-requirements.patch
new file mode 100644
index 000000000000..949805fd77e7
--- /dev/null
+++ b/sci-libs/tensorflow/files/tensorflow-2.15.0-0008-Relax-setup.py-version-requirements.patch
@@ -0,0 +1,86 @@
+From fada9b72dc55a016cc702e50fd688a6e9d53793e Mon Sep 17 00:00:00 2001
+From: wangjiezhe <wangjiezhe@gmail.com>
+Date: Fri, 24 Nov 2023 16:54:18 +0800
+Subject: [PATCH 08/13] Relax setup.py version requirements
+
+---
+ tensorflow/tools/pip_package/setup.py | 42 +++++++++++++--------------
+ 1 file changed, 21 insertions(+), 21 deletions(-)
+
+diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py
+index b416731380f..a21f566ee4d 100644
+--- a/tensorflow/tools/pip_package/setup.py
++++ b/tensorflow/tools/pip_package/setup.py
+@@ -88,8 +88,8 @@ REQUIRED_PACKAGES = [
+ 'gast >=0.2.1,!=0.5.0,!=0.5.1,!=0.5.2',
+ 'google_pasta >= 0.1.1',
+ 'h5py >= 2.9.0',
+- 'libclang >= 13.0.0',
+- 'ml_dtypes ~= 0.2.0',
++ # 'libclang >= 13.0.0',
++ 'ml_dtypes >= 0.2.0',
+ 'numpy >= 1.23.5, < 2.0.0',
+ 'opt_einsum >= 2.3.2',
+ 'packaging',
+@@ -101,8 +101,8 @@ REQUIRED_PACKAGES = [
+ 'six >= 1.12.0',
+ 'termcolor >= 1.1.0',
+ 'typing_extensions >= 3.6.6',
+- 'wrapt >= 1.11.0, < 1.15',
+- 'tensorflow-io-gcs-filesystem >= 0.23.1',
++ 'wrapt >= 1.11.0',
++ # 'tensorflow-io-gcs-filesystem >= 0.23.1',
+ # grpcio does not build correctly on big-endian machines due to lack of
+ # BoringSSL support.
+ # See https://github.com/tensorflow/tensorflow/issues/17882.
+@@ -135,8 +135,8 @@ FAKE_REQUIRED_PACKAGES = [
+ _VERSION + ';platform_system=="Windows"',
+ ]
+
+-if platform.system() == 'Linux' and platform.machine() == 'x86_64':
+- REQUIRED_PACKAGES.append(FAKE_REQUIRED_PACKAGES)
++# if platform.system() == 'Linux' and platform.machine() == 'x86_64':
++# REQUIRED_PACKAGES.append(FAKE_REQUIRED_PACKAGES)
+
+ if collaborator_build:
+ # If this is a collaborator build, then build an "installer" wheel and
+@@ -163,21 +163,21 @@ if collaborator_build:
+ EXTRA_PACKAGES = {}
+ EXTRA_PACKAGES['and-cuda'] = [
+ # TODO(nluehr): set nvidia-* versions based on build components.
+- 'nvidia-cublas-cu12 == 12.2.5.6',
+- 'nvidia-cuda-cupti-cu12 == 12.2.142',
+- 'nvidia-cuda-nvcc-cu12 == 12.2.140',
+- 'nvidia-cuda-nvrtc-cu12 == 12.2.140',
+- 'nvidia-cuda-runtime-cu12 == 12.2.140',
+- 'nvidia-cudnn-cu12 == 8.9.4.25',
+- 'nvidia-cufft-cu12 == 11.0.8.103',
+- 'nvidia-curand-cu12 == 10.3.3.141',
+- 'nvidia-cusolver-cu12 == 11.5.2.141',
+- 'nvidia-cusparse-cu12 == 12.1.2.141',
+- 'nvidia-nccl-cu12 == 2.16.5',
+- 'nvidia-nvjitlink-cu12 == 12.2.140',
+- 'tensorrt == 8.6.1.post1',
+- 'tensorrt-bindings == 8.6.1',
+- 'tensorrt-libs == 8.6.1',
++ 'nvidia-cublas-cu12 >= 12.2.5.6',
++ 'nvidia-cuda-cupti-cu12 >= 12.2.142',
++ 'nvidia-cuda-nvcc-cu12 >= 12.2.140',
++ 'nvidia-cuda-nvrtc-cu12 >= 12.2.140',
++ 'nvidia-cuda-runtime-cu12 >= 12.2.140',
++ 'nvidia-cudnn-cu12 >= 8.9.4.25',
++ 'nvidia-cufft-cu12 >= 11.0.8.103',
++ 'nvidia-curand-cu12 >= 10.3.3.141',
++ 'nvidia-cusolver-cu12 >= 11.5.2.141',
++ 'nvidia-cusparse-cu12 >= 12.1.2.141',
++ 'nvidia-nccl-cu12 >= 2.16.5',
++ 'nvidia-nvjitlink-cu12 >= 12.2.140',
++ 'tensorrt >= 8.6.1.post1',
++ 'tensorrt-bindings >= 8.6.1',
++ 'tensorrt-libs >= 8.6.1',
+ ]
+
+ DOCLINES = __doc__.split('\n')
+--
+2.41.0
+
diff --git a/sci-libs/tensorflow/files/tensorflow-2.15.0-0009-systemlib-update-targets-for-absl.patch b/sci-libs/tensorflow/files/tensorflow-2.15.0-0009-systemlib-update-targets-for-absl.patch
new file mode 100644
index 000000000000..4cbce75b96de
--- /dev/null
+++ b/sci-libs/tensorflow/files/tensorflow-2.15.0-0009-systemlib-update-targets-for-absl.patch
@@ -0,0 +1,365 @@
+From de3fc37567b3b135ee45c2ca8bd2256ea53812e8 Mon Sep 17 00:00:00 2001
+From: wangjiezhe <wangjiezhe@gmail.com>
+Date: Sun, 26 Nov 2023 13:12:20 +0800
+Subject: [PATCH 09/13] systemlib: update targets for absl
+
+---
+ .../compiler/mlir/tools/kernel_gen/BUILD | 1 +
+ .../distribute/experimental/rpc/kernels/BUILD | 1 +
+ third_party/absl/system.absl.debugging.BUILD | 20 +-
+ third_party/absl/system.absl.log.BUILD | 271 ++++++++++++++++++
+ third_party/absl/workspace.bzl | 1 +
+ 5 files changed, 289 insertions(+), 5 deletions(-)
+ create mode 100644 third_party/absl/system.absl.log.BUILD
+
+diff --git a/tensorflow/compiler/mlir/tools/kernel_gen/BUILD b/tensorflow/compiler/mlir/tools/kernel_gen/BUILD
+index e6ce181074d..ff3f65fb551 100644
+--- a/tensorflow/compiler/mlir/tools/kernel_gen/BUILD
++++ b/tensorflow/compiler/mlir/tools/kernel_gen/BUILD
+@@ -107,6 +107,7 @@ tf_cc_binary(
+ "//tensorflow/compiler/mlir/tensorflow",
+ "//tensorflow/core:lib",
+ "@com_google_absl//absl/status",
++ "@com_google_absl//absl/log:check",
+ "@com_google_absl//absl/strings",
+ "@llvm-project//llvm:AArch64CodeGen", # fixdeps: keep
+ "@llvm-project//llvm:ARMCodeGen", # fixdeps: keep
+diff --git a/tensorflow/distribute/experimental/rpc/kernels/BUILD b/tensorflow/distribute/experimental/rpc/kernels/BUILD
+index 60fa55c7702..6527914c51d 100644
+--- a/tensorflow/distribute/experimental/rpc/kernels/BUILD
++++ b/tensorflow/distribute/experimental/rpc/kernels/BUILD
+@@ -64,6 +64,7 @@ tf_kernel_library(
+ "//tensorflow/distribute/experimental/rpc/proto:tf_rpc_service_proto_cc",
+ "@com_github_grpc_grpc//:grpc++",
+ "@com_google_absl//absl/status",
++ "@com_google_absl//absl/log:check",
+ "@com_google_absl//absl/strings",
+ "@com_google_absl//absl/strings:str_format",
+ "@local_xla//xla/stream_executor/platform",
+diff --git a/third_party/absl/system.absl.debugging.BUILD b/third_party/absl/system.absl.debugging.BUILD
+index 931ffdc9e92..223db7b4c46 100644
+--- a/third_party/absl/system.absl.debugging.BUILD
++++ b/third_party/absl/system.absl.debugging.BUILD
+@@ -26,15 +26,25 @@ cc_library(
+
+ cc_library(
+ name = "failure_signal_handler",
+- linkopts = [
+- "-labsl_failure_signal_handler",
+- "-labsl_examine_stack",
++ linkopts = ["-labsl_failure_signal_handler"],
++ deps = [
++ ":examine_stack",
++ ":stacktrace",
++ "//absl/base",
++ "//absl/base:config",
++ "//absl/base:core_headers",
++ "//absl/base:raw_logging_internal",
+ ],
++)
++
++cc_library(
++ name = "examine_stack",
++ linkopts = ["-labsl_examine_stack"],
+ deps = [
+ ":stacktrace",
+ ":symbolize",
+- "//absl/base",
+- "//absl/base:errno_saver",
++ "//absl/base:config",
++ "//absl/base:core_headers",
+ "//absl/base:raw_logging_internal",
+ ],
+ )
+diff --git a/third_party/absl/system.absl.log.BUILD b/third_party/absl/system.absl.log.BUILD
+new file mode 100644
+index 00000000000..9a2a5de657e
+--- /dev/null
++++ b/third_party/absl/system.absl.log.BUILD
+@@ -0,0 +1,271 @@
++load("@rules_cc//cc:defs.bzl", "cc_library")
++
++package(default_visibility = ["//visibility:public"])
++
++cc_library(
++ name = "log",
++ deps = [
++ "//absl/log:internal_log_impl",
++ ],
++)
++
++cc_library(
++ name = "internal_log_impl",
++ deps = [
++ ":internal_conditions",
++ ":internal_message",
++ ":internal_strip",
++ ],
++)
++
++cc_library(
++ name = "internal_conditions",
++ linkopts = ["-labsl_log_internal_conditions"],
++ deps = [
++ ":internal_voidify",
++ "//absl/base",
++ "//absl/base:config",
++ "//absl/base:core_headers",
++ ],
++)
++
++cc_library(
++ name = "internal_voidify",
++ deps = ["//absl/base:config"],
++)
++
++cc_library(
++ name = "internal_message",
++ linkopts = ["-labsl_log_internal_message"],
++ deps = [
++ ":entry",
++ ":globals",
++ ":internal_append_truncated",
++ ":internal_format",
++ ":internal_globals",
++ ":internal_log_sink_set",
++ ":internal_nullguard",
++ ":internal_proto",
++ ":severity",
++ ":sink",
++ ":sink_registry",
++ "//absl/base",
++ "//absl/base:config",
++ "//absl/base:core_headers",
++ "//absl/base:errno_saver",
++ "//absl/base:raw_logging_internal",
++ "//absl/base:strerror",
++ "//absl/container:inlined_vector",
++ "//absl/debugging:examine_stack",
++ "//absl/memory",
++ "//absl/strings",
++ "//absl/time",
++ "//absl/types:span",
++ ],
++)
++
++cc_library(
++ name = "internal_append_truncated",
++ deps = [
++ "//absl/base:config",
++ "//absl/strings",
++ "//absl/types:span",
++ ],
++)
++
++cc_library(
++ name = "internal_format",
++ linkopts = ["-labsl_log_internal_format"],
++ deps = [
++ ":internal_append_truncated",
++ ":internal_config",
++ ":internal_globals",
++ ":severity",
++ "//absl/base:config",
++ "//absl/base:core_headers",
++ "//absl/strings",
++ "//absl/strings:str_format",
++ "//absl/time",
++ "//absl/types:span",
++ ],
++)
++
++cc_library(
++ name = "internal_globals",
++ linkopts = ["-labsl_log_internal_globals"],
++ deps = [
++ ":severity",
++ "//absl/base:config",
++ "//absl/base:core_headers",
++ "//absl/base:raw_logging_internal",
++ "//absl/strings",
++ "//absl/time",
++ ],
++)
++
++cc_library(
++ name = "internal_proto",
++ linkopts = ["-labsl_log_internal_proto"],
++ deps = [
++ "//absl/base",
++ "//absl/base:config",
++ "//absl/base:core_headers",
++ "//absl/strings",
++ "//absl/types:span",
++ ],
++)
++
++cc_library(
++ name = "internal_log_sink_set",
++ linkopts = ["-labsl_log_internal_log_sink_set"],
++ deps = [
++ ":entry",
++ ":globals",
++ ":internal_config",
++ ":internal_globals",
++ ":severity",
++ ":sink",
++ "//absl/base",
++ "//absl/base:config",
++ "//absl/base:core_headers",
++ "//absl/base:raw_logging_internal",
++ "//absl/cleanup",
++ "//absl/strings",
++ "//absl/synchronization",
++ "//absl/types:span",
++ ],
++)
++
++cc_library(
++ name = "internal_config",
++ deps = [
++ "//absl/base:config",
++ "//absl/base:core_headers",
++ ],
++)
++
++cc_library(
++ name = "internal_nullguard",
++ linkopts = ["-labsl_log_internal_nullguard"],
++ deps = [
++ "//absl/base:config",
++ "//absl/base:core_headers",
++ ],
++)
++
++cc_library(
++ name = "globals",
++ linkopts = ["-labsl_log_globals"],
++ deps = [
++ ":severity",
++ "//absl/base:atomic_hook",
++ "//absl/base:config",
++ "//absl/base:core_headers",
++ "//absl/base:raw_logging_internal",
++ "//absl/hash",
++ "//absl/strings",
++ ],
++)
++
++cc_library(
++ name = "entry",
++ linkopts = ["-labsl_log_entry"],
++ deps = [
++ ":internal_config",
++ ":severity",
++ "//absl/base:config",
++ "//absl/base:core_headers",
++ "//absl/strings",
++ "//absl/time",
++ "//absl/types:span",
++ ],
++)
++
++cc_library(
++ name = "severity",
++ linkopts = ["-labsl_log_severity"],
++ deps = ["//absl/base:core_headers"],
++)
++
++cc_library(
++ name = "sink",
++ linkopts = ["-labsl_log_sink"],
++ deps = [
++ ":entry",
++ "//absl/base:config",
++ ],
++)
++
++cc_library(
++ name = "sink_registry",
++ deps = [
++ ":internal_log_sink_set",
++ ":sink",
++ "//absl/base:config",
++ ],
++)
++
++cc_library(
++ name = "internal_strip",
++ deps = [
++ ":internal_message",
++ ":internal_nullstream",
++ ":severity",
++ ],
++)
++
++cc_library(
++ name = "internal_nullstream",
++ deps = [
++ ":severity",
++ "//absl/base:config",
++ "//absl/base:core_headers",
++ "//absl/strings",
++ ],
++)
++
++cc_library(
++ name = "check",
++ deps = [
++ ":internal_check_impl",
++ ":internal_check_op",
++ ":internal_conditions",
++ ":internal_message",
++ ":internal_strip",
++ "//absl/base:core_headers",
++ ],
++)
++
++cc_library(
++ name = "internal_check_impl",
++ deps = [
++ ":internal_check_op",
++ ":internal_conditions",
++ ":internal_message",
++ ":internal_strip",
++ "//absl/base:core_headers",
++ ],
++)
++
++cc_library(
++ name = "internal_check_op",
++ linkopts = ["-labsl_log_internal_check_op"],
++ deps = [
++ ":internal_nullguard",
++ ":internal_nullstream",
++ ":internal_strip",
++ "//absl/base:config",
++ "//absl/base:core_headers",
++ "//absl/strings",
++ ],
++)
++
++cc_library(
++ name = "absl_check",
++ deps = [":internal_check_impl"],
++)
++
++cc_library(
++ name = "absl_log",
++ deps = [":internal_log_impl"],
++)
+diff --git a/third_party/absl/workspace.bzl b/third_party/absl/workspace.bzl
+index 07f49cebb78..a7f4e5ffc44 100644
+--- a/third_party/absl/workspace.bzl
++++ b/third_party/absl/workspace.bzl
+@@ -20,6 +20,7 @@ def repo():
+ "flags",
+ "functional",
+ "hash",
++ "log",
+ "memory",
+ "meta",
+ "numeric",
+--
+2.41.0
+
diff --git a/sci-libs/tensorflow/files/tensorflow-2.15.0-0010-systemlib-fix-missing-osx-in-pybind11.patch b/sci-libs/tensorflow/files/tensorflow-2.15.0-0010-systemlib-fix-missing-osx-in-pybind11.patch
new file mode 100644
index 000000000000..4e77e14577d1
--- /dev/null
+++ b/sci-libs/tensorflow/files/tensorflow-2.15.0-0010-systemlib-fix-missing-osx-in-pybind11.patch
@@ -0,0 +1,25 @@
+From 0c2e7e4e987aea6759e66f49b471b89d1cc01269 Mon Sep 17 00:00:00 2001
+From: wangjiezhe <wangjiezhe@gmail.com>
+Date: Thu, 21 Dec 2023 22:22:35 +0800
+Subject: [PATCH 10/13] systemlib: fix missing `:osx` in pybind11
+
+---
+ third_party/systemlibs/pybind11.BUILD | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/third_party/systemlibs/pybind11.BUILD b/third_party/systemlibs/pybind11.BUILD
+index 79a483d7b5d..cda63fbd019 100644
+--- a/third_party/systemlibs/pybind11.BUILD
++++ b/third_party/systemlibs/pybind11.BUILD
+@@ -6,3 +6,8 @@ cc_library(
+ "@org_tensorflow//third_party/python_runtime:headers",
+ ],
+ )
++
++config_setting(
++ name = "osx",
++ constraint_values = ["@platforms//os:osx"],
++)
+--
+2.41.0
+
diff --git a/sci-libs/tensorflow/files/tensorflow-2.15.0-0011-systemlib-fix-missing-LICENSE-in-flatbuffers.patch b/sci-libs/tensorflow/files/tensorflow-2.15.0-0011-systemlib-fix-missing-LICENSE-in-flatbuffers.patch
new file mode 100644
index 000000000000..ec6e9ef3e36f
--- /dev/null
+++ b/sci-libs/tensorflow/files/tensorflow-2.15.0-0011-systemlib-fix-missing-LICENSE-in-flatbuffers.patch
@@ -0,0 +1,25 @@
+From c582286b732a820b29f1c03e2fa2c4aa61a4af03 Mon Sep 17 00:00:00 2001
+From: wangjiezhe <wangjiezhe@gmail.com>
+Date: Thu, 21 Dec 2023 22:24:24 +0800
+Subject: [PATCH 11/13] systemlib: fix missing `LICENSE` in flatbuffers
+
+---
+ third_party/flatbuffers/BUILD.system | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/third_party/flatbuffers/BUILD.system b/third_party/flatbuffers/BUILD.system
+index 8fe4d7a5907..b1d63b4ca0f 100644
+--- a/third_party/flatbuffers/BUILD.system
++++ b/third_party/flatbuffers/BUILD.system
+@@ -1,7 +1,7 @@
+ licenses(["notice"]) # Apache 2.0
+
+ filegroup(
+- name = "LICENSE.txt",
++ name = "LICENSE",
+ visibility = ["//visibility:public"],
+ )
+
+--
+2.41.0
+
diff --git a/sci-libs/tensorflow/files/tensorflow-2.15.0-0012-installation-remove-cp_local_config_python.patch b/sci-libs/tensorflow/files/tensorflow-2.15.0-0012-installation-remove-cp_local_config_python.patch
new file mode 100644
index 000000000000..e78efd2e9944
--- /dev/null
+++ b/sci-libs/tensorflow/files/tensorflow-2.15.0-0012-installation-remove-cp_local_config_python.patch
@@ -0,0 +1,68 @@
+From 90ad87a2d71522412ec80f7f7025d828354a6e20 Mon Sep 17 00:00:00 2001
+From: wangjiezhe <wangjiezhe@gmail.com>
+Date: Fri, 22 Dec 2023 20:25:52 +0800
+Subject: [PATCH 12/13] installation: remove `cp_local_config_python`
+
+Revert https://github.com/tensorflow/tensorflow/commit/a034b3d48a9d3dbccff22800ab4b435a89f45103
+---
+ .../tools/pip_package/build_pip_package.sh | 25 -------------------
+ 1 file changed, 25 deletions(-)
+
+diff --git a/tensorflow/tools/pip_package/build_pip_package.sh b/tensorflow/tools/pip_package/build_pip_package.sh
+index 423a79bff78..d8ae485803c 100755
+--- a/tensorflow/tools/pip_package/build_pip_package.sh
++++ b/tensorflow/tools/pip_package/build_pip_package.sh
+@@ -47,22 +47,6 @@ function cp_external() {
+ cp "${src_dir}/local_config_cuda/cuda/cuda/cuda_config.h" "${dest_dir}/local_config_cuda/cuda/cuda/"
+ }
+
+-function cp_local_config_python() {
+- local src_dir=$1
+- local dest_dir=$2
+- pushd .
+- cd "$src_dir"
+- mkdir -p "${dest_dir}/local_config_python/numpy_include/"
+- cp -r "pypi_numpy/site-packages/numpy/core/include/numpy" "${dest_dir}/local_config_python/numpy_include/"
+- mkdir -p "${dest_dir}/local_config_python/python_include/"
+- if is_windows; then
+- cp -r python_*/include/* "${dest_dir}/local_config_python/python_include/"
+- else
+- cp -r python_*/include/python*/* "${dest_dir}/local_config_python/python_include/"
+- fi
+- popd
+-}
+-
+ function copy_xla_aot_runtime_sources() {
+ local src_dir=$1
+ local dst_dir=$2
+@@ -179,9 +163,6 @@ function prepare_src() {
+ cp_external \
+ bazel-bin/tensorflow/tools/pip_package/build_pip_package.exe.runfiles \
+ "${EXTERNAL_INCLUDES}/"
+- cp_local_config_python \
+- bazel-bin/tensorflow/tools/pip_package/build_pip_package.exe.runfiles \
+- "${EXTERNAL_INCLUDES}/"
+ copy_xla_aot_runtime_sources \
+ bazel-bin/tensorflow/tools/pip_package/build_pip_package.exe.runfiles/org_tensorflow \
+ "${XLA_AOT_RUNTIME_SOURCES}/"
+@@ -242,17 +223,11 @@ function prepare_src() {
+ cp_external \
+ bazel-bin/tensorflow/tools/pip_package/build_pip_package.runfiles/org_tensorflow/external \
+ "${EXTERNAL_INCLUDES}"
+- cp_local_config_python \
+- bazel-bin/tensorflow/tools/pip_package/build_pip_package.runfiles/org_tensorflow/external \
+- "${EXTERNAL_INCLUDES}"
+ else
+ # New-style runfiles structure (--nolegacy_external_runfiles).
+ cp_external \
+ bazel-bin/tensorflow/tools/pip_package/build_pip_package.runfiles \
+ "${EXTERNAL_INCLUDES}"
+- cp_local_config_python \
+- bazel-bin/tensorflow/tools/pip_package/build_pip_package.runfiles \
+- "${EXTERNAL_INCLUDES}"
+ fi
+ copy_xla_aot_runtime_sources \
+ bazel-bin/tensorflow/tools/pip_package/build_pip_package.runfiles/org_tensorflow \
+--
+2.41.0
+
diff --git a/sci-libs/tensorflow/files/tensorflow-2.15.0-0013-build-use-non-hermetic-python.patch b/sci-libs/tensorflow/files/tensorflow-2.15.0-0013-build-use-non-hermetic-python.patch
new file mode 100644
index 000000000000..e36a3a0617be
--- /dev/null
+++ b/sci-libs/tensorflow/files/tensorflow-2.15.0-0013-build-use-non-hermetic-python.patch
@@ -0,0 +1,990 @@
+From 0b56f871d620371e1deb66822aa8fb6df68dc568 Mon Sep 17 00:00:00 2001
+From: wangjiezhe <wangjiezhe@gmail.com>
+Date: Fri, 22 Dec 2023 21:23:14 +0800
+Subject: [PATCH 13/13] build: use non-hermetic python
+
+---
+ WORKSPACE | 69 -------------------
+ tensorflow/BUILD | 2 -
+ tensorflow/compiler/mlir/glob_lit_test.bzl | 1 -
+ tensorflow/compiler/mlir/tfr/BUILD | 2 -
+ tensorflow/dtensor/python/tests/BUILD | 1 -
+ tensorflow/lite/python/BUILD | 1 -
+ tensorflow/python/BUILD | 1 -
+ tensorflow/python/autograph/converters/BUILD | 11 ---
+ tensorflow/python/autograph/core/BUILD | 1 -
+ tensorflow/python/autograph/pyct/BUILD | 23 -------
+ .../autograph/pyct/common_transformers/BUILD | 2 -
+ .../autograph/pyct/static_analysis/BUILD | 6 --
+ .../python/autograph/pyct/testing/BUILD | 1 -
+ tensorflow/python/client/BUILD | 1 -
+ tensorflow/python/compiler/tensorrt/BUILD | 1 -
+ .../experimental/kernel_tests/service/BUILD | 1 -
+ tensorflow/python/data/util/BUILD | 2 -
+ tensorflow/python/debug/lib/BUILD | 1 -
+ tensorflow/python/distribute/BUILD | 5 --
+ .../python/distribute/experimental/rpc/BUILD | 1 -
+ .../python/distribute/failure_handling/BUILD | 2 -
+ tensorflow/python/eager/BUILD | 2 -
+ tensorflow/python/estimator/BUILD | 4 +-
+ tensorflow/python/framework/BUILD | 7 --
+ tensorflow/python/keras/BUILD | 1 -
+ tensorflow/python/keras/engine/BUILD | 1 -
+ tensorflow/python/keras/saving/BUILD | 1 -
+ tensorflow/python/ops/BUILD | 2 -
+ tensorflow/python/profiler/BUILD | 1 -
+ .../python/profiler/integration_test/BUILD | 1 -
+ tensorflow/python/summary/BUILD | 1 -
+ tensorflow/python/trackable/BUILD | 1 -
+ tensorflow/python/types/BUILD | 2 -
+ tensorflow/python/util/BUILD | 3 -
+ tensorflow/tools/docs/BUILD | 3 -
+ third_party/xla/xla/glob_lit_test.bzl | 5 --
+ third_party/xla/xla/mlir_hlo/tests/BUILD | 1 -
+ 37 files changed, 2 insertions(+), 169 deletions(-)
+
+diff --git a/WORKSPACE b/WORKSPACE
+index c10a2c4a482..3626ae4e805 100644
+--- a/WORKSPACE
++++ b/WORKSPACE
+@@ -11,75 +11,6 @@ http_archive(
+ ],
+ )
+
+-# We must initialize hermetic python first.
+-load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+-
+-http_archive(
+- name = "bazel_skylib",
+- sha256 = "74d544d96f4a5bb630d465ca8bbcfe231e3594e5aae57e1edbf17a6eb3ca2506",
+- urls = [
+- "https://storage.googleapis.com/mirror.tensorflow.org/github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz",
+- "https://github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz",
+- ],
+-)
+-
+-http_archive(
+- name = "rules_python",
+- sha256 = "9d04041ac92a0985e344235f5d946f71ac543f1b1565f2cdbc9a2aaee8adf55b",
+- strip_prefix = "rules_python-0.26.0",
+- url = "https://github.com/bazelbuild/rules_python/releases/download/0.26.0/rules_python-0.26.0.tar.gz",
+-)
+-
+-load("@rules_python//python:repositories.bzl", "py_repositories")
+-
+-py_repositories()
+-
+-load("@rules_python//python:repositories.bzl", "python_register_toolchains")
+-load(
+- "//tensorflow/tools/toolchains/python:python_repo.bzl",
+- "python_repository",
+-)
+-
+-python_repository(name = "python_version_repo")
+-
+-load("@python_version_repo//:py_version.bzl", "HERMETIC_PYTHON_VERSION")
+-
+-python_register_toolchains(
+- name = "python",
+- ignore_root_user_error = True,
+- python_version = HERMETIC_PYTHON_VERSION,
+-)
+-
+-load("@python//:defs.bzl", "interpreter")
+-load("@rules_python//python:pip.bzl", "package_annotation", "pip_parse")
+-
+-NUMPY_ANNOTATIONS = {
+- "numpy": package_annotation(
+- additive_build_content = """\
+-filegroup(
+- name = "includes",
+- srcs = glob(["site-packages/numpy/core/include/**/*.h"]),
+-)
+-cc_library(
+- name = "numpy_headers",
+- hdrs = [":includes"],
+- strip_include_prefix="site-packages/numpy/core/include/",
+-)
+-""",
+- ),
+-}
+-
+-pip_parse(
+- name = "pypi",
+- annotations = NUMPY_ANNOTATIONS,
+- python_interpreter_target = interpreter,
+- requirements = "//:requirements_lock_" + HERMETIC_PYTHON_VERSION.replace(".", "_") + ".txt",
+-)
+-
+-load("@pypi//:requirements.bzl", "install_deps")
+-
+-install_deps()
+-
+ # Initialize the TensorFlow repository and all dependencies.
+ #
+ # The cascade of load() statements and tf_workspace?() calls works around the
+diff --git a/tensorflow/BUILD b/tensorflow/BUILD
+index ffbe65fdc61..cd9d61797e8 100644
+--- a/tensorflow/BUILD
++++ b/tensorflow/BUILD
+@@ -1712,8 +1712,6 @@ py_library(
+ "//tensorflow/lite/python:lite",
+ "//tensorflow/lite/python/authoring",
+ "//tensorflow/python:no_contrib",
+- "@pypi_keras//:pkg",
+- "@pypi_tensorboard//:pkg",
+ ],
+ )
+ # copybara:comment_end
+diff --git a/tensorflow/compiler/mlir/glob_lit_test.bzl b/tensorflow/compiler/mlir/glob_lit_test.bzl
+index e689b4c0b31..f65c86b727b 100644
+--- a/tensorflow/compiler/mlir/glob_lit_test.bzl
++++ b/tensorflow/compiler/mlir/glob_lit_test.bzl
+@@ -58,7 +58,6 @@ def _run_lit_test(name, data, size, tags, driver, features, exec_properties):
+ "@llvm-project//llvm:count",
+ "@llvm-project//llvm:not",
+ ],
+- deps = ["@pypi_lit//:pkg"],
+ size = size,
+ main = "lit.py",
+ exec_properties = exec_properties,
+diff --git a/tensorflow/compiler/mlir/tfr/BUILD b/tensorflow/compiler/mlir/tfr/BUILD
+index f8dfcd1c0a6..9f13d2eb068 100644
+--- a/tensorflow/compiler/mlir/tfr/BUILD
++++ b/tensorflow/compiler/mlir/tfr/BUILD
+@@ -387,7 +387,6 @@ py_strict_library(
+ "//tensorflow/python/framework:op_def_registry",
+ "//tensorflow/python/platform:tf_logging",
+ "//tensorflow/python/util:tf_inspect",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -421,7 +420,6 @@ py_strict_library(
+ "//tensorflow/python/autograph/pyct:transpiler",
+ "//tensorflow/python/framework:op_def_registry",
+ "//tensorflow/python/util:tf_inspect",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+diff --git a/tensorflow/dtensor/python/tests/BUILD b/tensorflow/dtensor/python/tests/BUILD
+index 498642cb5ff..e4482821869 100644
+--- a/tensorflow/dtensor/python/tests/BUILD
++++ b/tensorflow/dtensor/python/tests/BUILD
+@@ -326,7 +326,6 @@ pytype_strict_library(
+ ":test_util",
+ "//tensorflow/python/platform:client_testlib",
+ "@absl_py//absl/flags",
+- "@pypi_portpicker//:pkg",
+ ],
+ )
+
+diff --git a/tensorflow/lite/python/BUILD b/tensorflow/lite/python/BUILD
+index 3ac3bb20eba..c37bbc385f1 100644
+--- a/tensorflow/lite/python/BUILD
++++ b/tensorflow/lite/python/BUILD
+@@ -310,7 +310,6 @@ py_strict_test(
+ "//tensorflow/python/trackable:autotrackable",
+ "//third_party/py/numpy",
+ "@absl_py//absl/testing:parameterized",
+- "@pypi_jax//:pkg",
+ ],
+ )
+
+diff --git a/tensorflow/python/BUILD b/tensorflow/python/BUILD
+index 9810f8acd2e..056534591a3 100644
+--- a/tensorflow/python/BUILD
++++ b/tensorflow/python/BUILD
+@@ -589,7 +589,6 @@ py_strict_library(
+ deps = [
+ ":keras_lib",
+ "//third_party/py/numpy",
+- "@pypi_scipy//:pkg",
+ "@six_archive//:six",
+ ],
+ )
+diff --git a/tensorflow/python/autograph/converters/BUILD b/tensorflow/python/autograph/converters/BUILD
+index 5624f7611f3..11bc2cd9deb 100644
+--- a/tensorflow/python/autograph/converters/BUILD
++++ b/tensorflow/python/autograph/converters/BUILD
+@@ -13,7 +13,6 @@ py_strict_library(
+ "//tensorflow/python/autograph/core:converter",
+ "//tensorflow/python/autograph/lang:directives",
+ "//tensorflow/python/autograph/pyct:templates",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -39,7 +38,6 @@ py_strict_library(
+ "//tensorflow/python/autograph/core:converter",
+ "//tensorflow/python/autograph/pyct:parser",
+ "//tensorflow/python/autograph/pyct:templates",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -65,7 +63,6 @@ py_strict_library(
+ "//tensorflow/python/autograph/core:converter",
+ "//tensorflow/python/autograph/pyct:parser",
+ "//tensorflow/python/autograph/pyct:templates",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -80,7 +77,6 @@ py_strict_library(
+ "//tensorflow/python/autograph/pyct:qual_names",
+ "//tensorflow/python/autograph/pyct:templates",
+ "//tensorflow/python/autograph/utils:ag_logging",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -93,7 +89,6 @@ py_strict_library(
+ "//tensorflow/python/autograph/lang:directives",
+ "//tensorflow/python/autograph/pyct:anno",
+ "//tensorflow/python/util:tf_inspect",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -105,7 +100,6 @@ py_strict_library(
+ "//tensorflow/python/autograph/core:converter",
+ "//tensorflow/python/autograph/pyct:anno",
+ "//tensorflow/python/autograph/pyct:templates",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -127,7 +121,6 @@ py_strict_library(
+ "//tensorflow/python/autograph/pyct/static_analysis:liveness",
+ "//tensorflow/python/autograph/pyct/static_analysis:reaching_definitions",
+ "//tensorflow/python/autograph/pyct/static_analysis:reaching_fndefs",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -143,7 +136,6 @@ py_strict_library(
+ "//tensorflow/python/autograph/pyct:templates",
+ "//tensorflow/python/autograph/pyct/static_analysis:activity",
+ "//tensorflow/python/autograph/pyct/static_analysis:annos",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -160,7 +152,6 @@ py_strict_library(
+ "//tensorflow/python/autograph/pyct:templates",
+ "//tensorflow/python/autograph/pyct/static_analysis:activity",
+ "//tensorflow/python/autograph/pyct/static_analysis:annos",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -176,7 +167,6 @@ py_strict_library(
+ "//tensorflow/python/autograph/pyct:templates",
+ "//tensorflow/python/autograph/pyct/static_analysis:activity",
+ "//tensorflow/python/autograph/pyct/static_analysis:annos",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -187,7 +177,6 @@ py_strict_library(
+ deps = [
+ "//tensorflow/python/autograph/core:converter",
+ "//tensorflow/python/autograph/pyct:templates",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+diff --git a/tensorflow/python/autograph/core/BUILD b/tensorflow/python/autograph/core/BUILD
+index 46983ab39f0..3ccdc20293c 100644
+--- a/tensorflow/python/autograph/core/BUILD
++++ b/tensorflow/python/autograph/core/BUILD
+@@ -37,7 +37,6 @@ py_strict_library(
+ visibility = ["//tensorflow:__subpackages__"],
+ deps = [
+ "//tensorflow/python/autograph/pyct:errors",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+diff --git a/tensorflow/python/autograph/pyct/BUILD b/tensorflow/python/autograph/pyct/BUILD
+index 949d841e00c..31d4b026460 100644
+--- a/tensorflow/python/autograph/pyct/BUILD
++++ b/tensorflow/python/autograph/pyct/BUILD
+@@ -14,7 +14,6 @@ py_strict_library(
+ ":ast_util",
+ ":parser",
+ ":qual_names",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -32,7 +31,6 @@ py_strict_library(
+ ":templates",
+ ":transformer",
+ "//tensorflow/python/autograph/utils:ag_logging",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -44,7 +42,6 @@ py_strict_library(
+ ":anno",
+ ":parser",
+ ":qual_names",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -62,7 +59,6 @@ py_strict_library(
+ name = "gast_util",
+ srcs = ["gast_util.py"],
+ visibility = ["//visibility:public"],
+- deps = ["@pypi_gast//:pkg"],
+ )
+
+ py_strict_library(
+@@ -79,8 +75,6 @@ py_strict_library(
+ ":errors",
+ ":inspect_utils",
+ "//tensorflow/python/util:tf_inspect",
+- "@pypi_astunparse//:pkg",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -108,7 +102,6 @@ py_strict_library(
+ ":parser",
+ ":pretty_printer",
+ "//tensorflow/python/util:tf_inspect",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -116,7 +109,6 @@ py_strict_library(
+ name = "anno",
+ srcs = ["anno.py"],
+ visibility = ["//visibility:public"],
+- deps = ["@pypi_gast//:pkg"],
+ )
+
+ py_strict_library(
+@@ -134,7 +126,6 @@ py_strict_library(
+ ":parser",
+ ":pretty_printer",
+ ":templates",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -145,7 +136,6 @@ py_strict_library(
+ deps = [
+ ":anno",
+ ":parser",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -155,8 +145,6 @@ py_strict_library(
+ visibility = ["//visibility:public"],
+ deps = [
+ ":anno",
+- "@pypi_astunparse//:pkg",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -180,10 +168,6 @@ py_strict_library(
+ name = "pretty_printer",
+ srcs = ["pretty_printer.py"],
+ visibility = ["//visibility:public"],
+- deps = [
+- "@pypi_gast//:pkg",
+- "@pypi_termcolor//:pkg",
+- ],
+ )
+
+ py_strict_test(
+@@ -210,7 +194,6 @@ py_strict_test(
+ ":pretty_printer",
+ ":qual_names",
+ "//tensorflow/python/platform:client_testlib",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -234,7 +217,6 @@ py_strict_test(
+ ":cfg",
+ ":parser",
+ "//tensorflow/python/platform:client_testlib",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -250,7 +232,6 @@ py_strict_test(
+ ":pretty_printer",
+ "//tensorflow/python/platform:client_testlib",
+ "//tensorflow/python/util:tf_inspect",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -325,7 +306,6 @@ py_strict_test(
+ ":parser",
+ ":pretty_printer",
+ "//tensorflow/python/platform:client_testlib",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -365,7 +345,6 @@ py_strict_test(
+ ":templates",
+ "//tensorflow/python/platform:client_testlib",
+ "@absl_py//absl/testing:parameterized",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -380,7 +359,6 @@ py_strict_test(
+ ":parser",
+ ":transformer",
+ "//tensorflow/python/platform:client_testlib",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -393,6 +371,5 @@ py_strict_test(
+ ":transformer",
+ ":transpiler",
+ "//tensorflow/python/platform:client_testlib",
+- "@pypi_gast//:pkg",
+ ],
+ )
+diff --git a/tensorflow/python/autograph/pyct/common_transformers/BUILD b/tensorflow/python/autograph/pyct/common_transformers/BUILD
+index 2be00498cf7..b9da2f210c9 100644
+--- a/tensorflow/python/autograph/pyct/common_transformers/BUILD
++++ b/tensorflow/python/autograph/pyct/common_transformers/BUILD
+@@ -16,7 +16,6 @@ py_strict_library(
+ "//tensorflow/python/autograph/pyct:gast_util",
+ "//tensorflow/python/autograph/pyct:templates",
+ "//tensorflow/python/autograph/pyct:transformer",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -32,6 +31,5 @@ py_strict_test(
+ "//tensorflow/python/autograph/pyct:parser",
+ "//tensorflow/python/autograph/pyct:transformer",
+ "//tensorflow/python/platform:client_testlib",
+- "@pypi_gast//:pkg",
+ ],
+ )
+diff --git a/tensorflow/python/autograph/pyct/static_analysis/BUILD b/tensorflow/python/autograph/pyct/static_analysis/BUILD
+index 4329523b056..9c643ccd63c 100644
+--- a/tensorflow/python/autograph/pyct/static_analysis/BUILD
++++ b/tensorflow/python/autograph/pyct/static_analysis/BUILD
+@@ -14,7 +14,6 @@ py_strict_library(
+ "//tensorflow/python/autograph/pyct:anno",
+ "//tensorflow/python/autograph/pyct:cfg",
+ "//tensorflow/python/autograph/pyct:transformer",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -26,7 +25,6 @@ py_strict_library(
+ "//tensorflow/python/autograph/pyct:anno",
+ "//tensorflow/python/autograph/pyct:cfg",
+ "//tensorflow/python/autograph/pyct:transformer",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -56,7 +54,6 @@ py_strict_library(
+ "//tensorflow/python/autograph/pyct:anno",
+ "//tensorflow/python/autograph/pyct:qual_names",
+ "//tensorflow/python/autograph/pyct:transformer",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -71,7 +68,6 @@ py_strict_library(
+ "//tensorflow/python/autograph/pyct:cfg",
+ "//tensorflow/python/autograph/pyct:qual_names",
+ "//tensorflow/python/autograph/pyct:transformer",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -83,7 +79,6 @@ py_strict_library(
+ "//tensorflow/python/autograph/pyct:anno",
+ "//tensorflow/python/autograph/pyct:cfg",
+ "//tensorflow/python/autograph/pyct:transformer",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+@@ -107,7 +102,6 @@ py_strict_test(
+ "//tensorflow/python/autograph/pyct:qual_names",
+ "//tensorflow/python/autograph/pyct:transformer",
+ "//tensorflow/python/platform:client_testlib",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+diff --git a/tensorflow/python/autograph/pyct/testing/BUILD b/tensorflow/python/autograph/pyct/testing/BUILD
+index 21a6775b0fb..fcac2065ca0 100644
+--- a/tensorflow/python/autograph/pyct/testing/BUILD
++++ b/tensorflow/python/autograph/pyct/testing/BUILD
+@@ -15,7 +15,6 @@ py_strict_library(
+ deps = [
+ "//tensorflow/python/autograph/pyct:templates",
+ "//third_party/py/numpy",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+diff --git a/tensorflow/python/client/BUILD b/tensorflow/python/client/BUILD
+index c13a6122f41..77bc522a758 100644
+--- a/tensorflow/python/client/BUILD
++++ b/tensorflow/python/client/BUILD
+@@ -294,7 +294,6 @@ py_strict_library(
+ "//tensorflow/python/util:nest",
+ "//tensorflow/python/util:tf_export",
+ "//third_party/py/numpy",
+- "@pypi_wrapt//:pkg",
+ ],
+ )
+
+diff --git a/tensorflow/python/compiler/tensorrt/BUILD b/tensorflow/python/compiler/tensorrt/BUILD
+index f3ca24c9a4b..ee086bdaed2 100644
+--- a/tensorflow/python/compiler/tensorrt/BUILD
++++ b/tensorflow/python/compiler/tensorrt/BUILD
+@@ -69,7 +69,6 @@ py_strict_library(
+ "//tensorflow/python/util:nest",
+ "//tensorflow/python/util:tf_export",
+ "//third_party/py/numpy",
+- "@pypi_packaging//:pkg",
+ "@six_archive//:six",
+ ],
+ )
+diff --git a/tensorflow/python/data/experimental/kernel_tests/service/BUILD b/tensorflow/python/data/experimental/kernel_tests/service/BUILD
+index cfac30fe0db..355a558bc93 100644
+--- a/tensorflow/python/data/experimental/kernel_tests/service/BUILD
++++ b/tensorflow/python/data/experimental/kernel_tests/service/BUILD
+@@ -143,7 +143,6 @@ tf_py_strict_test(
+ "//tensorflow/python/ops:array_ops",
+ "//tensorflow/python/platform:client_testlib",
+ "@absl_py//absl/testing:parameterized",
+- "@pypi_portpicker//:pkg",
+ ],
+ )
+
+diff --git a/tensorflow/python/data/util/BUILD b/tensorflow/python/data/util/BUILD
+index f7298a6f66b..cef29c3d992 100644
+--- a/tensorflow/python/data/util/BUILD
++++ b/tensorflow/python/data/util/BUILD
+@@ -94,7 +94,6 @@ py_strict_library(
+ "//tensorflow/python/util:deprecation",
+ "//tensorflow/python/util:nest_util",
+ "//tensorflow/python/util:tf_export",
+- "@pypi_wrapt//:pkg",
+ ],
+ )
+
+@@ -125,7 +124,6 @@ py_strict_test(
+ "//tensorflow/python/util:compat",
+ "//third_party/py/numpy",
+ "@absl_py//absl/testing:parameterized",
+- "@pypi_wrapt//:pkg",
+ ],
+ )
+
+diff --git a/tensorflow/python/debug/lib/BUILD b/tensorflow/python/debug/lib/BUILD
+index 37c99b30dd2..012e349dffc 100644
+--- a/tensorflow/python/debug/lib/BUILD
++++ b/tensorflow/python/debug/lib/BUILD
+@@ -596,7 +596,6 @@ py_strict_library(
+ "//tensorflow/python/lib/io:lib",
+ "//tensorflow/python/ops:variables",
+ "//tensorflow/python/util:compat",
+- "@pypi_portpicker//:pkg",
+ ],
+ )
+
+diff --git a/tensorflow/python/distribute/BUILD b/tensorflow/python/distribute/BUILD
+index 0c233b2b4a4..19b496f427a 100644
+--- a/tensorflow/python/distribute/BUILD
++++ b/tensorflow/python/distribute/BUILD
+@@ -523,7 +523,6 @@ cuda_py_strict_test(
+ "//tensorflow/python/ops:variable_scope",
+ "//third_party/py/numpy",
+ "@absl_py//absl/testing:parameterized",
+- "@pypi_dill//:pkg", # build_cleaner: keep
+ ],
+ )
+
+@@ -1440,7 +1439,6 @@ cuda_py_strict_test(
+ "//tensorflow/python/ops:math_ops",
+ "//tensorflow/python/util:nest",
+ "@absl_py//absl/testing:parameterized",
+- "@pypi_dill//:pkg", # build_cleaner: keep
+ ],
+ )
+
+@@ -1764,7 +1762,6 @@ distribute_py_strict_test(
+ "//tensorflow/python/ops:variable_v1",
+ "//tensorflow/python/saved_model/model_utils:mode_keys",
+ "@absl_py//absl/testing:parameterized",
+- "@pypi_wrapt//:pkg",
+ ],
+ )
+
+@@ -2295,8 +2292,6 @@ py_strict_library(
+ "//tensorflow/python/framework:test_lib",
+ "//tensorflow/python/util:tf_export",
+ "@absl_py//absl/logging",
+- "@pypi_dill//:pkg", # build_cleaner: keep
+- "@pypi_tblib//:pkg", # build_cleaner: keep
+ "@six_archive//:six",
+ ],
+ )
+diff --git a/tensorflow/python/distribute/experimental/rpc/BUILD b/tensorflow/python/distribute/experimental/rpc/BUILD
+index 3a3682cd6cf..8ed343db636 100644
+--- a/tensorflow/python/distribute/experimental/rpc/BUILD
++++ b/tensorflow/python/distribute/experimental/rpc/BUILD
+@@ -60,6 +60,5 @@ tf_py_strict_test(
+ "//tensorflow/python/ops:variables",
+ "//tensorflow/python/platform:client_testlib",
+ "//tensorflow/python/util:nest",
+- "@pypi_portpicker//:pkg",
+ ],
+ )
+diff --git a/tensorflow/python/distribute/failure_handling/BUILD b/tensorflow/python/distribute/failure_handling/BUILD
+index c9af884fbb7..3aaad5eced1 100644
+--- a/tensorflow/python/distribute/failure_handling/BUILD
++++ b/tensorflow/python/distribute/failure_handling/BUILD
+@@ -47,7 +47,6 @@ py_strict_library(
+ deps = [
+ "//tensorflow/python/eager:context",
+ "//tensorflow/python/platform:tf_logging",
+- "@pypi_requests//:pkg",
+ "@six_archive//:six",
+ ],
+ )
+@@ -134,7 +133,6 @@ tf_py_strict_test(
+ "//tensorflow/python/platform:tf_logging",
+ "//tensorflow/python/training:server_lib",
+ "@absl_py//absl/testing:parameterized",
+- "@pypi_dill//:pkg", # build_cleaner: keep
+ ],
+ )
+
+diff --git a/tensorflow/python/eager/BUILD b/tensorflow/python/eager/BUILD
+index e72f54c48fd..057bce876fd 100644
+--- a/tensorflow/python/eager/BUILD
++++ b/tensorflow/python/eager/BUILD
+@@ -1180,7 +1180,6 @@ cuda_py_strict_test(
+ "//tensorflow/python/training:server_lib",
+ "//tensorflow/python/util:compat",
+ "@absl_py//absl/testing:parameterized",
+- "@pypi_portpicker//:pkg",
+ ],
+ )
+
+@@ -1320,7 +1319,6 @@ py_strict_library(
+ "//tensorflow/python/autograph/pyct/static_analysis:reaching_fndefs",
+ "//tensorflow/python/framework:op_def_registry",
+ "//tensorflow/python/framework:ops",
+- "@pypi_gast//:pkg",
+ ],
+ )
+
+diff --git a/tensorflow/python/estimator/BUILD b/tensorflow/python/estimator/BUILD
+index 73afdd8b239..7e58789cee5 100644
+--- a/tensorflow/python/estimator/BUILD
++++ b/tensorflow/python/estimator/BUILD
+@@ -382,7 +382,7 @@ py_library(
+ ],
+ )
+
+-alias(
++py_library(
+ name = "expect_tensorflow_estimator_installed",
+- actual = "@pypi_tensorflow_estimator//:pkg",
++ srcs_version = "PY3",
+ )
+diff --git a/tensorflow/python/framework/BUILD b/tensorflow/python/framework/BUILD
+index 9bfb9d2d9dd..19b43eab9ac 100644
+--- a/tensorflow/python/framework/BUILD
++++ b/tensorflow/python/framework/BUILD
+@@ -279,7 +279,6 @@ py_strict_library(
+ "//tensorflow/python/eager:execute",
+ "//tensorflow/security/fuzzing/py:annotation_types",
+ "//tensorflow/tools/docs:doc_controls",
+- "@pypi_typing_extensions//:pkg",
+ ],
+ )
+
+@@ -365,7 +364,6 @@ py_strict_library(
+ "//tensorflow/python/util:deprecation",
+ "//tensorflow/python/util:tf_export",
+ "//third_party/py/numpy",
+- "@pypi_packaging//:pkg",
+ ] + if_xla_available([
+ "//tensorflow/python:_pywrap_tfcompile",
+ ]),
+@@ -1760,7 +1758,6 @@ py_strict_library(
+ deps = [
+ ":composite_tensor",
+ "//tensorflow/python/util:nest",
+- "@pypi_typing_extensions//:pkg",
+ ],
+ )
+
+@@ -1788,7 +1785,6 @@ py_strict_library(
+ "//tensorflow/python/util:nest",
+ "//tensorflow/python/util:tf_decorator",
+ "//tensorflow/python/util:tf_export",
+- "@pypi_typing_extensions//:pkg",
+ ],
+ )
+
+@@ -1932,7 +1928,6 @@ pytype_strict_library(
+ "//tensorflow/python/lib/io:lib",
+ "//tensorflow/python/platform:tf_logging",
+ "//tensorflow/python/util:compat",
+- "@pypi_packaging//:pkg",
+ ],
+ )
+
+@@ -2185,7 +2180,6 @@ py_strict_library(
+ "//tensorflow/python/util/protobuf",
+ "//third_party/py/numpy",
+ "@absl_py//absl/testing:parameterized",
+- "@pypi_portpicker//:pkg",
+ ],
+ )
+
+@@ -2781,7 +2775,6 @@ tf_py_strict_test(
+ "//tensorflow/python/util:nest",
+ "//tensorflow/python/util:tf_decorator",
+ "@absl_py//absl/testing:parameterized",
+- "@pypi_typing_extensions//:pkg",
+ ],
+ )
+
+diff --git a/tensorflow/python/keras/BUILD b/tensorflow/python/keras/BUILD
+index f9e31edae67..011cc3a73b8 100755
+--- a/tensorflow/python/keras/BUILD
++++ b/tensorflow/python/keras/BUILD
+@@ -44,7 +44,6 @@ py_library(
+ "//tensorflow/python/saved_model",
+ "//tensorflow/python/training",
+ "//tensorflow/python/util:nest",
+- "@pypi_h5py//:pkg",
+ ],
+ )
+
+diff --git a/tensorflow/python/keras/engine/BUILD b/tensorflow/python/keras/engine/BUILD
+index a24dc27b25f..1b95ca18d06 100644
+--- a/tensorflow/python/keras/engine/BUILD
++++ b/tensorflow/python/keras/engine/BUILD
+@@ -95,7 +95,6 @@ py_library(
+ "//tensorflow/python/util:tf_decorator",
+ "//tensorflow/python/util:tf_export",
+ "//tensorflow/tools/docs:doc_controls",
+- "@pypi_h5py//:pkg",
+ ],
+ )
+
+diff --git a/tensorflow/python/keras/saving/BUILD b/tensorflow/python/keras/saving/BUILD
+index db1d2d814ca..b37abc164b3 100644
+--- a/tensorflow/python/keras/saving/BUILD
++++ b/tensorflow/python/keras/saving/BUILD
+@@ -55,6 +55,5 @@ py_library(
+ "//tensorflow/python/platform:tf_logging",
+ "//tensorflow/python/saved_model",
+ "//tensorflow/python/training:saver",
+- "@pypi_h5py//:pkg",
+ ],
+ )
+diff --git a/tensorflow/python/ops/BUILD b/tensorflow/python/ops/BUILD
+index b3a3d612a01..c242923f832 100644
+--- a/tensorflow/python/ops/BUILD
++++ b/tensorflow/python/ops/BUILD
+@@ -2780,7 +2780,6 @@ py_strict_library(
+ "//tensorflow/python/util:dispatch",
+ "//tensorflow/python/util:tf_export",
+ "//third_party/py/numpy",
+- "@pypi_opt_einsum//:pkg",
+ ],
+ )
+
+@@ -3872,7 +3871,6 @@ cuda_py_strict_test(
+ "//tensorflow/python/platform:tf_logging",
+ "//third_party/py/numpy",
+ "@absl_py//absl/testing:parameterized",
+- "@pypi_opt_einsum//:pkg",
+ ],
+ )
+
+diff --git a/tensorflow/python/profiler/BUILD b/tensorflow/python/profiler/BUILD
+index b1cfd6ea10c..9413aeeab8b 100644
+--- a/tensorflow/python/profiler/BUILD
++++ b/tensorflow/python/profiler/BUILD
+@@ -43,7 +43,6 @@ cuda_py_strict_test(
+ "//tensorflow/python/eager:test",
+ "//tensorflow/python/framework:errors",
+ "//tensorflow/python/framework:test_lib",
+- "@pypi_portpicker//:pkg",
+ ],
+ )
+
+diff --git a/tensorflow/python/profiler/integration_test/BUILD b/tensorflow/python/profiler/integration_test/BUILD
+index b20698ea6ea..e7060e5a315 100644
+--- a/tensorflow/python/profiler/integration_test/BUILD
++++ b/tensorflow/python/profiler/integration_test/BUILD
+@@ -35,6 +35,5 @@ cuda_py_strict_test(
+ "//tensorflow/python/platform:tf_logging",
+ "//tensorflow/python/profiler:profiler_client",
+ "//tensorflow/python/profiler:profiler_v2",
+- "@pypi_portpicker//:pkg",
+ ],
+ )
+diff --git a/tensorflow/python/summary/BUILD b/tensorflow/python/summary/BUILD
+index 126fb6d31f7..b292e39356f 100644
+--- a/tensorflow/python/summary/BUILD
++++ b/tensorflow/python/summary/BUILD
+@@ -121,6 +121,5 @@ tf_py_strict_test(
+ "//tensorflow/python/ops:summary_ops_v2",
+ "//tensorflow/python/platform:client_testlib",
+ "//tensorflow/python/training:training_util",
+- "@pypi_tensorboard//:pkg",
+ ],
+ )
+diff --git a/tensorflow/python/trackable/BUILD b/tensorflow/python/trackable/BUILD
+index 30efc64b5fd..2e2390a6643 100644
+--- a/tensorflow/python/trackable/BUILD
++++ b/tensorflow/python/trackable/BUILD
+@@ -225,7 +225,6 @@ py_strict_library(
+ "//tensorflow/python/ops:variables",
+ "//tensorflow/python/util:compat",
+ "//tensorflow/python/util:tf_export",
+- "@pypi_wrapt//:pkg",
+ ],
+ )
+
+diff --git a/tensorflow/python/types/BUILD b/tensorflow/python/types/BUILD
+index c04dc039153..43a030a051e 100644
+--- a/tensorflow/python/types/BUILD
++++ b/tensorflow/python/types/BUILD
+@@ -24,7 +24,6 @@ pytype_strict_library(
+ "//tensorflow/python/util:_pywrap_utils",
+ "//tensorflow/python/util:tf_export",
+ "//third_party/py/numpy",
+- "@pypi_typing_extensions//:pkg",
+ ],
+ )
+
+@@ -71,7 +70,6 @@ pytype_strict_library(
+ ":core",
+ "//tensorflow/python/util:tf_export",
+ "//tensorflow/tools/docs:doc_controls",
+- "@pypi_typing_extensions//:pkg",
+ ],
+ )
+
+diff --git a/tensorflow/python/util/BUILD b/tensorflow/python/util/BUILD
+index d1e7d626a1d..248eb23bcfe 100644
+--- a/tensorflow/python/util/BUILD
++++ b/tensorflow/python/util/BUILD
+@@ -732,7 +732,6 @@ py_strict_library(
+ # py_test because not all tensorflow tests use tensorflow.bzl's py_test.
+ "//tensorflow/python:global_test_configuration",
+ "@six_archive//:six",
+- "@pypi_wrapt//:pkg",
+ "//tensorflow/python:pywrap_tensorflow",
+ ":_pywrap_utils",
+ ],
+@@ -893,7 +892,6 @@ py_strict_library(
+ # py_test because not all tensorflow tests use tensorflow.bzl's py_test.
+ "//tensorflow/python:global_test_configuration",
+ "//third_party/py/numpy",
+- "@pypi_wrapt//:pkg",
+ ],
+ )
+
+@@ -1029,7 +1027,6 @@ py_strict_library(
+ # py_test because not all tensorflow tests use tensorflow.bzl's py_test.
+ "//tensorflow/python:global_test_configuration",
+ ":tf_export",
+- "@pypi_wrapt//:pkg",
+ ":_pywrap_utils",
+ ":_pywrap_nest",
+ ],
+diff --git a/tensorflow/tools/docs/BUILD b/tensorflow/tools/docs/BUILD
+index aa9490cf911..48e45b23a2a 100644
+--- a/tensorflow/tools/docs/BUILD
++++ b/tensorflow/tools/docs/BUILD
+@@ -137,7 +137,6 @@ py_strict_library(
+ srcs = ["fenced_doctest_lib.py"],
+ deps = [
+ ":tf_doctest_lib",
+- "@pypi_astor//:pkg",
+ ],
+ )
+
+@@ -178,7 +177,6 @@ py_strict_test(
+ # copybara:uncomment "//third_party/py/tensorflow:tensorflow_estimator",
+ "//tensorflow:tensorflow_py",
+ "//tensorflow/python/platform:test",
+- "@pypi_packaging//:pkg",
+ ],
+ )
+
+@@ -214,7 +212,6 @@ py_strict_library(
+ "//tensorflow/python/util:tf_inspect",
+ "@absl_py//absl:app",
+ "@absl_py//absl/flags",
+- "@pypi_packaging//:pkg",
+ ],
+ )
+
+diff --git a/third_party/xla/xla/glob_lit_test.bzl b/third_party/xla/xla/glob_lit_test.bzl
+index 79b4adc3edd..5893eba46c2 100644
+--- a/third_party/xla/xla/glob_lit_test.bzl
++++ b/third_party/xla/xla/glob_lit_test.bzl
+@@ -52,10 +52,6 @@ def _run_lit_test(name, data, size, tags, driver, features, exec_properties):
+ # can remove this logic. This is necessary to have these tests run on builds
+ # using Python 3.11, but also to not include `@pypi_lit` in standalone xla
+ # builds where it won't be found.
+- deps = []
+- if xla_root_dir == "tensorflow/compiler/xla/":
+- deps.append("@pypi_lit//:pkg")
+-
+ native.py_test(
+ name = name,
+ srcs = ["@llvm-project//llvm:lit"],
+@@ -69,7 +65,6 @@ def _run_lit_test(name, data, size, tags, driver, features, exec_properties):
+ "@llvm-project//llvm:count",
+ "@llvm-project//llvm:not",
+ ],
+- deps = deps,
+ size = size,
+ main = "lit.py",
+ exec_properties = exec_properties,
+diff --git a/third_party/xla/xla/mlir_hlo/tests/BUILD b/third_party/xla/xla/mlir_hlo/tests/BUILD
+index 89c6533956f..771d337be08 100644
+--- a/third_party/xla/xla/mlir_hlo/tests/BUILD
++++ b/third_party/xla/xla/mlir_hlo/tests/BUILD
+@@ -27,7 +27,6 @@ package(
+ tags = [
+ "nomsan", # The execution engine doesn't work with msan, see b/248097619.
+ ],
+- deps = ["@pypi_lit//:pkg"],
+ )
+ for src in glob(["**/*.mlir"])
+ ]
+--
+2.41.0
+
diff --git a/sci-libs/tensorflow/tensorflow-2.15.0.ebuild b/sci-libs/tensorflow/tensorflow-2.15.0.ebuild
new file mode 100644
index 000000000000..77539bf5c9a4
--- /dev/null
+++ b/sci-libs/tensorflow/tensorflow-2.15.0.ebuild
@@ -0,0 +1,464 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_OPTIONAL=1
+PYTHON_COMPAT=( python3_{10..11} )
+MY_PV=${PV/_rc/-rc}
+MY_P=${PN}-${MY_PV}
+DEP_VER="$(ver_cut 1-2)"
+
+inherit bazel check-reqs cuda distutils-r1 flag-o-matic multibuild prefix toolchain-funcs
+
+DESCRIPTION="Computation framework using data flow graphs for scalable machine learning"
+HOMEPAGE="https://www.tensorflow.org/"
+
+RESTRICT="test" # Tests need GPU access
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="cuda mpi +python xla"
+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
+# pkgcheck complains but do NOT change the .zip to .tar.gz, bazel requires the exact tarball (basename and sha256).
+# the build will fail if different archives are used.
+bazel_external_uris="
+ https://github.com/Maratyszcza/FP16/archive/4dfe081cf6bcd15db339cf2680b9281b8451eeb3.zip -> FP16-4dfe081cf6bcd15db339cf2680b9281b8451eeb3.zip
+ https://github.com/Maratyszcza/FXdiv/archive/63058eff77e11aa15bf531df5dd34395ec3017c8.zip -> FXdiv-63058eff77e11aa15bf531df5dd34395ec3017c8.zip
+ https://github.com/Maratyszcza/pthreadpool/archive/4fe0e1e183925bf8cfa6aae24237e724a96479b8.zip -> pthreadpool-4fe0e1e183925bf8cfa6aae24237e724a96479b8.zip
+ https://github.com/bazelbuild/apple_support/releases/download/1.6.0/apple_support.1.6.0.tar.gz
+ https://github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz
+ https://github.com/bazelbuild/bazel-toolchains/archive/8c717f8258cd5f6c7a45b97d974292755852b658.tar.gz -> bazel-toolchains-8c717f8258cd5f6c7a45b97d974292755852b658.tar.gz
+ https://github.com/bazelbuild/platforms/releases/download/0.0.6/platforms-0.0.6.tar.gz -> bazelbuild-platforms-0.0.6.tar.gz
+ https://github.com/bazelbuild/rules_android/archive/v0.1.1.zip -> bazelbuild-rules_android-v0.1.1.zip
+ https://github.com/bazelbuild/rules_apple/releases/download/2.3.0/rules_apple.2.3.0.tar.gz
+ https://github.com/bazelbuild/rules_cc/archive/081771d4a0e9d7d3aa0eed2ef389fa4700dfb23e.tar.gz -> bazelbuild-rules_cc-081771d4a0e9d7d3aa0eed2ef389fa4700dfb23e.tar.gz
+ https://github.com/bazelbuild/rules_closure/archive/308b05b2419edb5c8ee0471b67a40403df940149.tar.gz -> bazelbuild-rules_closure-308b05b2419edb5c8ee0471b67a40403df940149.tar.gz
+ https://github.com/bazelbuild/rules_docker/releases/download/v0.10.0/rules_docker-v0.10.0.tar.gz -> bazelbuild-rules_docker-v0.10.0.tar.gz
+ https://github.com/bazelbuild/rules_foreign_cc/archive/0.7.1.tar.gz -> bazelbuild-rules_foreign_cc-0.7.1.tar.gz
+ https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip -> bazelbuild-rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip
+ https://github.com/bazelbuild/rules_java/releases/download/5.5.1/rules_java-5.5.1.tar.gz -> bazelbuild-rules_java-5.5.1.tar.gz
+ https://github.com/bazelbuild/rules_jvm_external/archive/4.3.zip -> bazelbuild-rules_jvm_external-4.3.zip
+ https://github.com/bazelbuild/rules_pkg/releases/download/0.7.1/rules_pkg-0.7.1.tar.gz -> bazelbuild-rules_pkg-0.7.1.tar.gz
+ https://github.com/bazelbuild/rules_proto/archive/11bf7c25e666dd7ddacbcd4d4c4a9de7a25175f8.tar.gz -> bazelbuild-rules_proto-11bf7c25e666dd7ddacbcd4d4c4a9de7a25175f8.tar.gz
+ https://github.com/bazelbuild/rules_python/releases/download/0.1.0/rules_python-0.1.0.tar.gz -> bazelbuild-rules_python-0.1.0.tar.gz
+ https://github.com/bazelbuild/rules_swift/releases/download/1.5.0/rules_swift.1.5.0.tar.gz -> bazelbuild-rules_swift.1.5.0.tar.gz
+ https://github.com/dmlc/dlpack/archive/9351cf542ab478499294864ff3acfdab5c8c5f3d.tar.gz -> dlpack-9351cf542ab478499294864ff3acfdab5c8c5f3d.tar.gz
+ https://github.com/facebook/zstd/archive/v1.4.5.zip -> zstd-v1.4.5.zip
+ https://github.com/google/XNNPACK/archive/bbbaa7352a3ea729987d3e654d37be93e8009691.zip -> XNNPACK-bbbaa7352a3ea729987d3e654d37be93e8009691.zip
+ https://github.com/google/benchmark/archive/f7547e29ccaed7b64ef4f7495ecfff1c9f6f3d03.tar.gz -> benchmark-f7547e29ccaed7b64ef4f7495ecfff1c9f6f3d03.tar.gz
+ https://github.com/google/brotli/archive/3914999fcc1fda92e750ef9190aa6db9bf7bdb07.zip -> brotli-3914999fcc1fda92e750ef9190aa6db9bf7bdb07.zip
+ https://github.com/google/farmhash/archive/0d859a811870d10f53a594927d0d0b97573ad06d.tar.gz -> farmhash-0d859a811870d10f53a594927d0d0b97573ad06d.tar.gz
+ https://github.com/google/gemmlowp/archive/e844ffd17118c1e17d94e1ba4354c075a4577b88.zip -> gemmlowp-e844ffd17118c1e17d94e1ba4354c075a4577b88.zip
+ https://github.com/google/highwayhash/archive/c13d28517a4db259d738ea4886b1f00352a3cc33.tar.gz -> highwayhash-c13d28517a4db259d738ea4886b1f00352a3cc33.tar.gz
+ https://github.com/google/re2/archive/03da4fc0857c285e3a26782f6bc8931c4c950df4.tar.gz -> re2-03da4fc0857c285e3a26782f6bc8931c4c950df4.tar.gz
+ https://github.com/google/riegeli/archive/264ef7b4a1314d97265b37544b27cd3923ea72d2.zip -> riegeli-264ef7b4a1314d97265b37544b27cd3923ea72d2.zip
+ https://github.com/google/ruy/archive/3286a34cc8de6149ac6844107dfdffac91531e72.zip -> ruy-3286a34cc8de6149ac6844107dfdffac91531e72.zip
+ https://github.com/googleapis/googleapis/archive/6b3fdcea8bc5398be4e7e9930c693f0ea09316a0.tar.gz -> googleapis-6b3fdcea8bc5398be4e7e9930c693f0ea09316a0.tar.gz
+ https://github.com/jax-ml/ml_dtypes/archive/2ca30a2b3c0744625ae3d6988f5596740080bbd0/ml_dtypes-2ca30a2b3c0744625ae3d6988f5596740080bbd0.tar.gz
+ https://github.com/joe-kuo/sobol_data/archive/835a7d7b1ee3bc83e575e302a985c66ec4b65249.tar.gz -> sobol_data-835a7d7b1ee3bc83e575e302a985c66ec4b65249.tar.gz
+ https://github.com/llvm/llvm-project/archive/49cb1595c1b3ae1de3684fea6148363c15bae12a.tar.gz -> llvm-project-49cb1595c1b3ae1de3684fea6148363c15bae12a.tar.gz
+ https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/openmp-10.0.1.src.tar.xz -> llvmorg-10.0.1-openmp-10.0.1.src.tar.xz
+ https://github.com/mborgerding/kissfft/archive/131.1.0.tar.gz -> kissfft-131.1.0.tar.gz
+ https://github.com/oneapi-src/oneDNN/archive/refs/tags/v3.2.1.tar.gz -> oneDNN-v3.2.1.tar.gz
+ https://github.com/openxla/stablehlo/archive/78f57e34a25367ef3192cd35da36b01c763f4ecf.zip -> openxla-stablehlo-78f57e34a25367ef3192cd35da36b01c763f4ecf.zip
+ https://github.com/openxla/triton/archive/cl555471166.tar.gz -> openxla-triton-cl555471166.tar.gz
+ https://github.com/petewarden/OouraFFT/archive/v1.0.tar.gz -> OouraFFT-v1.0.tar.gz
+ https://github.com/protocolbuffers/protobuf/archive/v3.21.9.zip -> protobuf-3.21.9.zip
+ https://github.com/pybind/pybind11_abseil/archive/2c4932ed6f6204f1656e245838f4f5eae69d2e29.tar.gz -> pybind11_abseil-2c4932ed6f6204f1656e245838f4f5eae69d2e29.tar.gz
+ https://github.com/pybind/pybind11_bazel/archive/72cbbf1fbc830e487e3012862b7b720001b70672.tar.gz -> pybind11_bazel-72cbbf1fbc830e487e3012862b7b720001b70672.tar.gz
+ https://github.com/pybind/pybind11_protobuf/archive/80f3440cd8fee124e077e2e47a8a17b78b451363.zip -> pybind11_protobuf-80f3440cd8fee124e077e2e47a8a17b78b451363.zip
+ https://github.com/pytorch/cpuinfo/archive/5e63739504f0f8e18e941bd63b2d6d42536c7d90.tar.gz -> pytorch-cpuinfo-5e63739504f0f8e18e941bd63b2d6d42536c7d90.tar.gz
+ https://github.com/pytorch/cpuinfo/archive/959002f82d7962a473d8bf301845f2af720e0aa4.zip -> pytorch-cpuinfo-959002f82d7962a473d8bf301845f2af720e0aa4.zip
+ https://github.com/tensorflow/runtime/archive/70637966e2ec9afccc2cf4d51ed2391172b1b9c5.tar.gz -> tensorflow-runtime-70637966e2ec9afccc2cf4d51ed2391172b1b9c5.tar.gz
+ https://github.com/yugr/Implib.so/archive/5fb84c2a750434b9df1da67d67b749eb929598f1.tar.gz -> Implib.so-5fb84c2a750434b9df1da67d67b749eb929598f1.tar.gz
+ https://gitlab.com/libeigen/eigen/-/archive/66e8f38891841bf88ee976a316c0c78a52f0cee5/eigen-66e8f38891841bf88ee976a316c0c78a52f0cee5.tar.gz
+ https://gitlab.mpcdf.mpg.de/mtr/ducc/-/archive/3d28aadfd8bb0219e3df188613dbbcdfffccc3cd/ducc-3d28aadfd8bb0219e3df188613dbbcdfffccc3cd.tar.gz
+ cuda? (
+ https://github.com/NVIDIA/cudnn-frontend/archive/refs/tags/v0.9.zip -> cudnn-frontend-v0.9.zip
+ https://github.com/NVlabs/cub/archive/1.9.9.zip -> cub-1.9.9.zip
+ https://github.com/nvidia/nccl/archive/v2.16.5-1.tar.gz -> nvidia-nccl-v2.16.5-1.tar.gz
+ )
+ python? (
+ https://github.com/intel/ARM_NEON_2_x86_SSE/archive/a15b489e1222b2087007546b4912e21293ea86ff.tar.gz -> ARM_NEON_2_x86_SSE-a15b489e1222b2087007546b4912e21293ea86ff.tar.gz
+ https://storage.googleapis.com/mirror.tensorflow.org/docs.python.org/2.7/_sources/license.rst.txt -> tensorflow-1.15.0-python-license.rst.txt
+ )"
+
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
+ ${bazel_external_uris}"
+
+# abseil-cpp-20211102.0-r0 does not work with NVCC
+# check flatbuffers version in tensorflow/lite/schema/schema_generated.h
+RDEPEND="
+ app-arch/snappy
+ =dev-cpp/abseil-cpp-20230125.2*:=
+ dev-db/sqlite
+ dev-libs/double-conversion
+ dev-libs/icu:=
+ >=dev-libs/jsoncpp-1.9.2:=
+ >=dev-libs/nsync-1.25.0
+ dev-libs/openssl:0=
+ >=dev-libs/protobuf-3.13.0:=
+ >=dev-libs/re2-0.2019.06.01:=
+ media-libs/giflib
+ media-libs/libjpeg-turbo
+ media-libs/libpng:0
+ >=net-libs/grpc-1.28:=
+ net-misc/curl
+ sys-libs/zlib
+ >=sys-apps/hwloc-2:=
+ cuda? (
+ dev-util/nvidia-cuda-toolkit:=[profiler]
+ =dev-libs/cudnn-8*
+ )
+ mpi? ( virtual/mpi )
+ python? (
+ ${PYTHON_DEPS}
+ ~dev-libs/flatbuffers-23.5.26:=
+ dev-python/absl-py[${PYTHON_USEDEP}]
+ >=dev-python/astor-0.7.1[${PYTHON_USEDEP}]
+ dev-python/astunparse[${PYTHON_USEDEP}]
+ dev-python/clang-python[${PYTHON_USEDEP}]
+ dev-python/dill[${PYTHON_USEDEP}]
+ ~dev-python/flatbuffers-23.5.26[${PYTHON_USEDEP}]
+ >=dev-python/gast-0.3.3[${PYTHON_USEDEP}]
+ dev-python/h5py[${PYTHON_USEDEP}]
+ >=dev-python/ml_dtypes-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.19[${PYTHON_USEDEP}]
+ >=dev-python/google-pasta-0.1.8[${PYTHON_USEDEP}]
+ >=dev-python/opt-einsum-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-python-3.13.0[${PYTHON_USEDEP}]
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/tblib[${PYTHON_USEDEP}]
+ dev-python/termcolor[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ >=dev-python/grpcio-1.28[${PYTHON_USEDEP}]
+ >=dev-python/wrapt-1.11.1[${PYTHON_USEDEP}]
+ >=net-libs/google-cloud-cpp-0.10.0
+ =sci-visualization/tensorboard-${DEP_VER}*[${PYTHON_USEDEP}]
+ )"
+DEPEND="${RDEPEND}
+ python? (
+ dev-python/mock
+ dev-python/setuptools
+ )"
+PDEPEND="python? (
+ =sci-libs/keras-${DEP_VER}*[${PYTHON_USEDEP}]
+ =sci-libs/tensorflow-estimator-${DEP_VER}*[${PYTHON_USEDEP}]
+ )"
+# >=dev-libs/protobuf-3.8.0
+# bazel-6.4 failed with undefined references to `_mlir_ciface_*'
+# see https://discuss.tensorflow.org/t/undefined-references-to-mlir-ciface-symbols/20571
+# bazel-6.3 failed with undefined reference to `riegeli::RecordsMetadata::Clear()'
+# tested successfully on bazel-6.1.2, bazel-6.2.0 and bazel-6.2.1
+BDEPEND="
+ app-arch/unzip
+ =dev-build/bazel-6*
+ <dev-build/bazel-6.3
+ dev-java/java-config
+ cuda? (
+ >=dev-util/nvidia-cuda-toolkit-9.1[profiler]
+ )
+ !python? ( dev-lang/python )
+ python? (
+ dev-python/cython
+ dev-python/mock
+ >=dev-python/grpcio-tools-1.28
+ )
+ dev-util/patchelf"
+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="10G"
+
+PATCHES=(
+ "${FILESDIR}/${P}-0001-WORKSPACE-add-rules-docker-http_archive-bazel-toolch.patch"
+ "${FILESDIR}/${P}-0002-systemlib-Latest-absl-LTS-has-split-cord-libs.patch"
+ "${FILESDIR}/${P}-0003-mkl_dnn-Must-link-against-libm-for-round-and-log2.patch"
+ "${FILESDIR}/${P}-0004-tensorflow_cc-Add-systemlib-nsync-linkopts.patch"
+ "${FILESDIR}/${P}-0005-systemlib-Updates-for-Abseil-20220623-LTS.patch"
+ "${FILESDIR}/${P}-0006-systemlib-Update-targets-for-absl_py.patch"
+ "${FILESDIR}/${P}-0007-systemlib-Add-well_known_types_py_pb2-target.patch"
+ "${FILESDIR}/${P}-0008-Relax-setup.py-version-requirements.patch"
+ "${FILESDIR}/${P}-0009-systemlib-update-targets-for-absl.patch"
+ "${FILESDIR}/${P}-0010-systemlib-fix-missing-osx-in-pybind11.patch"
+ "${FILESDIR}/${P}-0011-systemlib-fix-missing-LICENSE-in-flatbuffers.patch"
+ "${FILESDIR}/${P}-0012-installation-remove-cp_local_config_python.patch"
+ "${FILESDIR}/${P}-0013-build-use-non-hermetic-python.patch"
+)
+
+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
+
+ # 10G to build C/C++ libs, 6G per python impl
+ CHECKREQS_DISK_BUILD="$((10 + 6 * ${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() {
+ local d
+ export JAVA_HOME=$(java-config --jre-home) # so keepwork works
+ export TF_PYTHON_VERSION="${EPYTHON/python/}"
+
+ # Use non-hermetic python
+ for d in third_party third_party/xla/third_party third_party/xla/third_party/tsl/third_party;
+ do
+ mv ${d}/py/non_hermetic ${d} || die
+ rm -rf ${d}/py || die
+ mv ${d}/non_hermetic ${d}/py || die
+ done
+
+ append-flags $(get-cpu-flags)
+ append-cxxflags -std=c++17
+ export BUILD_CXXFLAGS+=" -std=c++17"
+ filter-flags '-fvtable-verify=@(std|preinit)'
+ bazel_setup_bazelrc
+
+ # Relax version checks in setup.py
+ # Fixed in patch already
+ # sed -i "/^ '/s/==/>=/g" tensorflow/tools/pip_package/setup.py || 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 # $(usex cuda 1 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_google_protobuf is disabled due to https://github.com/tensorflow/tensorflow/issues/61593
+ 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
+ flatbuffers
+ functools32_archive
+ gast_archive
+ gif
+ hwloc
+ icu
+ jsoncpp_git
+ libjpeg_turbo
+ nasm
+ nsync
+ 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 --config=nonccl' >> .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}" || die
+ 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
+ ebazel build //tensorflow:install_headers
+ ebazel shutdown
+
+ do_compile() {
+ ebazel build //tensorflow/tools/pip_package:build_pip_package
+ ebazel shutdown
+ }
+ BUILD_DIR="${S}"
+ cd "${BUILD_DIR}" || die
+ use python && python_foreach_impl run_in_build_dir do_compile
+}
+
+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 and libtensorflow_cc.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}/lib${PN}_cc.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"
+ insinto /usr/include/${PN}/
+ doins -r bazel-bin/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 ${PN}_cc.pc
+
+ for l in libtensorflow{,_framework,_cc}.so; do
+ patchelf --add-rpath '/opt/cuda/lib64' bazel-bin/tensorflow/${l}
+ 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
+
+ # Workaround for https://bugs.gentoo.org/831927
+ export MAKEOPTS="-j1"
+}