git: 6dd59102c98f - main - science/py-tensorflow: update 2.13.1 → 2.21.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 28 Mar 2026 19:07:43 UTC
The branch main has been updated by yuri:
URL: https://cgit.FreeBSD.org/ports/commit/?id=6dd59102c98f67539f10140e941e84f1d18f2edd
commit 6dd59102c98f67539f10140e941e84f1d18f2edd
Author: Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2026-03-28 19:05:56 +0000
Commit: Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2026-03-28 19:07:36 +0000
science/py-tensorflow: update 2.13.1 → 2.21.0
PR: 294036
---
science/py-tensorflow/Makefile | 186 +++-
science/py-tensorflow/Makefile.MASTER_SITES | 230 ++--
science/py-tensorflow/distinfo | 172 ++-
.../files/bazel/fix-protobuf-java.patch | 35 +
.../files/bazel/fix-pybind11_protobuf.patch | 145 +--
.../py-tensorflow/files/bazel/fix-xnnpack.patch | 57 +-
.../files/bazel/pthreadpool-alloca.patch | 10 +
.../files/bazel/riegeli-xopen-source.patch | 160 +++
.../files/bazel/rules_python_freebsd.patch | 27 +
.../files/bazel/xnnpack-freebsd-x86.patch | 30 +
.../files/bazel/xnnpack-posix-c-source.patch | 16 +
science/py-tensorflow/files/bazelrc | 36 +-
science/py-tensorflow/files/fix-llvm-config.py | 17 +
.../files/freebsd/cc_toolchain_config.bzl | 2 +-
science/py-tensorflow/files/grpc.bazel.BUILD | 1 +
.../files/grpc.bazel.cc_grpc_library.bzl | 107 ++
.../files/grpc.bazel.python_rules.bzl | 21 +
science/py-tensorflow/files/llvm_freebsd.patch | 20 +
science/py-tensorflow/files/patch-.bazelrc | 15 +-
science/py-tensorflow/files/patch-WORKSPACE | 125 +++
science/py-tensorflow/files/patch-tensorflow_BUILD | 25 +-
...er_mlir_lite_python_jax__to__tfl__flatbuffer.cc | 11 -
...ler_mlir_tensorflow_utils_parse__text__proto.cc | 11 -
...orflow_compiler_xla_stream__executor_host_BUILD | 10 -
...patch-tensorflow_core_debug_debug__io__utils.cc | 11 -
...flow_core_ir_importexport_parse__text__proto.cc | 11 -
...w_core_profiler_convert_hlo__to__tools__data.cc | 11 -
...profiler_convert_xplane__to__memory__profile.cc | 11 -
...ore_profiler_convert_xplane__to__tools__data.cc | 20 -
...atch-tensorflow_core_util_proto_proto__utils.cc | 25 -
...patch-tensorflow_core_util_proto_proto__utils.h | 18 -
.../patch-tensorflow_lite_kernels_elementwise.cc | 22 -
.../files/patch-tensorflow_python_BUILD | 10 -
.../files/patch-tensorflow_python__BUILD | 26 +
.../files/patch-tensorflow_python_framework_BUILD | 23 -
...n_framework_python__api__dispatcher__wrapper.cc | 10 -
.../files/patch-tensorflow_python_util_BUILD | 10 -
...thon_util_function__parameter__canonicalizer.cc | 10 -
...h-tensorflow_tf__framework__version__script.lds | 12 -
.../patch-tensorflow_tools_pip__package_BUILD | 17 +
...rflow_tools_pip__package_build__pip__package.py | 28 +
...rflow_tools_pip__package_build__pip__package.sh | 32 -
...ools_proto__text_gen__proto__text__functions.cc | 13 -
.../patch-tensorflow_tsl_framework_type__traits.h | 21 -
...nsorflow_tsl_platform_default_build__config.bzl | 25 -
...w_tsl_platform_default_human__readable__json.cc | 11 -
.../patch-tensorflow_tsl_python_lib_core_BUILD | 11 -
.../files/patch-tensorflow_workspace0.bzl | 18 +
.../files/patch-tensorflow_workspace1.bzl | 17 +
.../files/patch-tensorflow_workspace2.bzl | 71 +-
.../files/patch-tensorflow_workspace3.bzl | 19 +
...-third__party_absl_system.absl.functional.BUILD | 13 -
.../patch-third__party_absl_system.absl.log.BUILD | 13 -
.../files/patch-third__party_absl_workspace.bzl | 10 -
.../patch-third__party_flatbuffers_BUILD.system | 14 +
.../files/patch-third__party_llvm_workspace.bzl | 10 -
.../patch-third__party_py_python__init__pip.bzl | 55 +
..._remote__config_remote__platform__configure.bzl | 19 -
.../patch-third__party_systemlibs_pybind11.BUILD | 18 +
...y_xla_third__party_absl_system.absl.base.BUILD} | 4 +-
..._xla_third__party_absl_system.absl.flags.BUILD} | 4 +-
...la_third__party_absl_system.absl.strings.BUILD} | 4 +-
...__party_absl_system.absl.synchronization.BUILD} | 4 +-
...hird__party_xla_third__party_llvm_workspace.bzl | 10 +
...arty_xla_third__party_pthreadpool_workspace.bzl | 8 +
...party_xla_third__party_py_python__init__pip.bzl | 55 +
...rty_xla_third__party_py_python__init__rules.bzl | 9 +
...ty_xla_third__party_python__runtime_BUILD.bazel | 13 +
...d__party_xla_third__party_riegeli_workspace.bzl | 8 +
..._remote__config_remote__platform__configure.bzl | 11 +
.../rules_java.java.common.proguard_spec_info.bzl | 3 +
.../rules_java.java.private.proto_support.bzl | 7 +
science/py-tensorflow/files/tensorflow.pc | 11 -
science/py-tensorflow/files/tensorflow_cc.pc | 11 -
science/py-tensorflow/pkg-plist | 1105 --------------------
75 files changed, 1486 insertions(+), 1915 deletions(-)
diff --git a/science/py-tensorflow/Makefile b/science/py-tensorflow/Makefile
index 82254a8a20fc..f174eb3f8909 100644
--- a/science/py-tensorflow/Makefile
+++ b/science/py-tensorflow/Makefile
@@ -1,15 +1,11 @@
PORTNAME= tensorflow
DISTVERSIONPREFIX= v
-DISTVERSION= 2.13.1
-PORTREVISION= 1
-CATEGORIES= science python
+DISTVERSION= 2.21.0
+CATEGORIES= science python # machine-learning
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
DIST_SUBDIR= ${PORTNAME}
EXTRACT_ONLY= ${DISTNAME}.tar.gz
-PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
-PATCHFILES= ba7501696cc.patch:-p1 667cf3ed2d7.patch:-p1
-
MAINTAINER= yuri@FreeBSD.org
COMMENT= Computation using data flow graphs for scalable machine learning
WWW= https://www.tensorflow.org
@@ -19,16 +15,18 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
ONLY_FOR_ARCHS= amd64
-BUILD_DEPENDS= ${RUN_DEPENDS} \
- ${PYTHON_PKGNAMEPREFIX}grpcio-tools>=1.22.0:devel/py-grpcio-tools@${PY_FLAVOR} \
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}grpcio-tools>=1.22.0:devel/py-grpcio-tools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}numpy>=1.22.0:math/py-numpy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} \
bash:shells/bash \
- bazel:devel/bazel5 \
+ bazel:devel/bazel7 \
cython:lang/cython \
git:devel/git \
patchelf:sysutils/patchelf \
- swig:devel/swig
-LIB_DEPENDS= libnsync.so:devel/nsync \
- libgpr.so:devel/grpc \
+ pybind11>=2.6.2:devel/pybind11 \
+ swig:devel/swig \
+ xxd:sysutils/xxd
+LIB_DEPENDS= libgpr.so:devel/grpc \
libpng.so:graphics/png \
libsnappy.so:archivers/snappy \
libabsl_base.so:devel/abseil \
@@ -38,16 +36,16 @@ LIB_DEPENDS= libnsync.so:devel/nsync \
libprotobuf.so:devel/protobuf \
libgif.so:graphics/giflib \
libcurl.so:ftp/curl \
- libdouble-conversion.so:devel/double-conversion
+ libre2.so:devel/re2 \
+ libhwloc.so:devel/hwloc2
RUN_DEPENDS= pybind11>=2.6.2:devel/pybind11 \
- ${PYTHON_PKGNAMEPREFIX}absl-py>=1.0.0:devel/py-absl-py@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}absl-py>=2.0.0:devel/py-absl-py@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}astunparse>=1.6.0:devel/py-astunparse@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}flatbuffers>=23.1.21:devel/py-flatbuffers@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}flatbuffers>=25.9.23:devel/py-flatbuffers@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}gast>=0.2.1:devel/py-gast@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}google-pasta>=0.1.1:devel/py-google-pasta@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}h5py>=2.9.0:science/py-h5py@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}numpy>=1.22.0:math/py-numpy@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}opt-einsum>=2.3.2:math/py-opt-einsum@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}packaging>=21.3:devel/py-packaging@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests>=2.21.0:www/py-requests@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}protobuf>=3.20.3:devel/py-protobuf@${PY_FLAVOR} \
@@ -57,10 +55,11 @@ RUN_DEPENDS= pybind11>=2.6.2:devel/pybind11 \
${PYTHON_PKGNAMEPREFIX}wrapt>=1.11.0:devel/py-wrapt@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}grpcio>=1.24.3:devel/py-grpcio@${PY_FLAVOR}
-USES= jpeg perl5 python shebangfix ssl
+USES= java jpeg perl5 python shebangfix ssl
+JAVA_VERSION= 21
+JAVA_VENDOR= openjdk
USE_CXXSTD= c++17
USE_GITHUB= yes
-USE_LDCONFIG= yes
USE_PERL5= build
USE_PYTHON= distutils
@@ -68,8 +67,6 @@ SHEBANG_GLOB= *.py
BINARY_ALIAS= python3=${PYTHON_CMD}
-PLIST_SUB= TF_PORT_VERSION=${PORTVERSION}
-
OPTIONS_DEFINE= CPU_OPTS XLA
OPTIONS_RADIO= PARALLEL_JOBS
OPTIONS_RADIO_PARALLEL_JOBS= JOBS_1 JOBS_HALF JOBS_ALL
@@ -110,12 +107,40 @@ post-patch:
@${CP} ${DISTDIR}/${DIST_SUBDIR}/${file} ${WRKDIR}/bazel-dist
.endfor
+ # Rename distfiles to match Bazel's expected URL basenames
+ @${CP} ${WRKDIR}/bazel-dist/rules_foreign_cc-0.7.1.tar.gz \
+ ${WRKDIR}/bazel-dist/0.7.1.tar.gz
+ @${CP} ${WRKDIR}/bazel-dist/libtinfo5-copyright.txt \
+ ${WRKDIR}/bazel-dist/copyright.txt
+
+ # Pre-populate repository cache for files fetched via ctx.download()
+ # (these are not served by --distdir; must be in --repository_cache)
+ @${MKDIR} ${WRKDIR}/bazel-cache/content_addressable/sha256/12cffc7274190ca1693a52ccd8303e719407e707c8557ddfb7eef81f208efaab
+ @${CP} ${DISTDIR}/${DIST_SUBDIR}/libtinfo.so.5 \
+ ${WRKDIR}/bazel-cache/content_addressable/sha256/12cffc7274190ca1693a52ccd8303e719407e707c8557ddfb7eef81f208efaab/file
+ @${MKDIR} ${WRKDIR}/bazel-cache/content_addressable/sha256/5e8ee902c8906ddb7779fd36dc9979cb08b51fbebf7c0b1a9aeb78af382af590
+ @${CP} ${DISTDIR}/${DIST_SUBDIR}/libtinfo5-copyright.txt \
+ ${WRKDIR}/bazel-cache/content_addressable/sha256/5e8ee902c8906ddb7779fd36dc9979cb08b51fbebf7c0b1a9aeb78af382af590/file
+
@${CP} ${PATCHDIR}/bazelrc ${WRKDIR}/bazelrc
@${CP} -R ${PATCHDIR}/bazel/* \
${WRKSRC}/third_party/
+ @${CP} ${PATCHDIR}/bazel/rules_python_freebsd.patch \
+ ${WRKSRC}/third_party/xla/third_party/py/
+ @${CP} ${PATCHDIR}/bazel/fix-environ.patch \
+ ${WRKSRC}/third_party/xla/third_party/
+ @${CP} ${PATCHDIR}/llvm_freebsd.patch \
+ ${WRKSRC}/third_party/xla/third_party/llvm/freebsd.patch
+ @${CP} ${PATCHDIR}/grpc.bazel.BUILD \
+ ${WRKSRC}/third_party/systemlibs/grpc.bazel.BUILD
+ @${CP} ${PATCHDIR}/grpc.bazel.python_rules.bzl \
+ ${WRKSRC}/third_party/systemlibs/grpc.bazel.python_rules.bzl
+ @${CP} ${PATCHDIR}/grpc.bazel.cc_grpc_library.bzl \
+ ${WRKSRC}/third_party/systemlibs/grpc.bazel.cc_grpc_library.bzl
@${REINPLACE_CMD} "s#%%BAZEL_DIR%%#${WRKDIR}#" ${WRKDIR}/bazelrc
@${REINPLACE_CMD} "s#%%BAZEL_DIST%%#${WRKDIR}#" ${WRKDIR}/bazelrc
+ @${REINPLACE_CMD} "s#%%JAVA_HOME%%#${JAVA_HOME}#" ${WRKDIR}/bazelrc
# copy the toolchain over
@${CP} -R ${PATCHDIR}/freebsd \
@@ -126,7 +151,47 @@ post-patch:
@${REINPLACE_CMD} -e "s#%%LOCALBASE%%#${LOCALBASE}#" \
${WRKDIR}/bazelrc \
${WRKSRC}/freebsd/cc_toolchain_config.bzl \
- ${WRKSRC}/.bazelrc
+ ${WRKSRC}/.bazelrc \
+ ${WRKSRC}/WORKSPACE
+ @${REINPLACE_CMD} -e "s#%%NUMPY_INCLUDEDIR%%#${PYTHON_SITELIBDIR}/numpy/core/include#g" \
+ ${WRKDIR}/bazelrc \
+ ${WRKSRC}/freebsd/cc_toolchain_config.bzl
+
+ @${REINPLACE_CMD} -e "s#%%PYTHON_VER%%#${PYTHON_VER}#g" \
+ ${WRKSRC}/WORKSPACE
+
+ # Fix Python runtime headers: replace rules_python CC toolchain alias with
+ # a direct cc_library pointing to the system Python headers.
+ @${REINPLACE_CMD} \
+ "s|%%PYTHON_INCLUDEDIR%%|${PYTHON_INCLUDEDIR}|g" \
+ ${WRKDIR}/bazelrc \
+ ${WRKSRC}/third_party/xla/third_party/python_runtime/BUILD.bazel
+
+ # Create pypi hub stub (FreeBSD has no platform wheels in requirements_lock)
+ @${MKDIR} ${WRKSRC}/bazel_pypi_hub
+ @${PRINTF} 'package(default_visibility = ["//visibility:public"])\nexports_files(["requirements.bzl"])\n' \
+ > ${WRKSRC}/bazel_pypi_hub/BUILD.bazel
+ @${PRINTF} 'def install_deps(**kwargs):\n pass\n' \
+ > ${WRKSRC}/bazel_pypi_hub/requirements.bzl
+ @${TOUCH} ${WRKSRC}/bazel_pypi_hub/WORKSPACE
+.for _pypi_pkg in absl_py astor astunparse dill flatbuffers gast h5py jax \
+ keras lit ml_dtypes opt_einsum packaging portpicker protobuf requests \
+ scipy setuptools tblib termcolor typing_extensions wheel wrapt zstandard
+ @${MKDIR} ${WRKSRC}/bazel_pypi_hub/${_pypi_pkg}
+ @${PRINTF} 'package(default_visibility = ["//visibility:public"])\npy_library(name = "pkg", srcs = [])\npy_library(name = "lib", srcs = [])\npy_library(name = "whl", srcs = [])\nalias(name = "${_pypi_pkg}", actual = ":pkg")\n' \
+ > ${WRKSRC}/bazel_pypi_hub/${_pypi_pkg}/BUILD.bazel
+.endfor
+ # numpy needs extra cc_library for numpy_headers used by C++ deps
+ @${MKDIR} ${WRKSRC}/bazel_pypi_hub/numpy
+ @${MKDIR} ${WRKSRC}/bazel_pypi_hub/numpy/include
+ @${LN} -sf ${PYTHON_SITELIBDIR}/numpy/core/include/numpy \
+ ${WRKSRC}/bazel_pypi_hub/numpy/include/numpy
+ # build_pip_package.py expects site-packages/numpy/{_core,core}/include
+ @${MKDIR} ${WRKSRC}/bazel_pypi_hub/numpy/site-packages/numpy/core
+ @${LN} -sf ${PYTHON_SITELIBDIR}/numpy/core/include \
+ ${WRKSRC}/bazel_pypi_hub/numpy/site-packages/numpy/core/include
+ @${PRINTF} 'package(default_visibility = ["//visibility:public"])\npy_library(name = "pkg", srcs = [])\npy_library(name = "lib", srcs = [])\nalias(name = "numpy", actual = ":pkg")\ncc_library(\n name = "numpy_headers",\n hdrs = glob(["include/**/*.h"]),\n includes = ["include"],\n)\n' \
+ > ${WRKSRC}/bazel_pypi_hub/numpy/BUILD.bazel
do-configure:
@cd ${WRKSRC} && ${SETENV} \
@@ -148,56 +213,67 @@ do-configure:
TF_IGNORE_MAX_BAZEL_VERSION=1 \
CC_OPT_FLAGS="-march=${CPU_TARGET} -I${LOCALBASE}/include" \
PREFIX="${LOCALBASE}" \
- TF_SYSTEM_LIBS="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 functools32_archive gast_archive \
- gif hwloc icu jsoncpp_git libjpeg_turbo nasm nsync opt_einsum_archive org_sqlite pasta png pybind11 six_archive snappy \
+ TF_SYSTEM_LIBS="astor_archive astunparse_archive boringssl com_github_googlecloudplatform_google_cloud_cpp com_github_grpc_grpc \
+ com_googlesource_code_re2 curl cython dill_archive functools32_archive gast_archive \
+ gif hwloc icu jsoncpp_git libjpeg_turbo nasm org_sqlite pasta png pybind11 six_archive snappy \
tblib_archive termcolor_archive typing_extensions_archive wrapt zlib" \
./configure
+ @${REINPLACE_CMD} 's/,com_google_absl//g;s/,absl_py//g;s/absl_py,//g' ${WRKSRC}/.tf_configure.bazelrc
+
+post-configure:
+ # BINARY_ALIAS creates a relative symlink for python3 that breaks inside
+ # the poudriere jail (relative path resolves under /wrkdirs/usr/local/…
+ # instead of /usr/local/…). Replace it with an absolute symlink.
+ @${RM} ${WRKDIR}/.bin/python3
+ @${LN} -s ${PYTHON_CMD} ${WRKDIR}/.bin/python3
do-build:
+ # Fetch rules_java to ensure it is extracted from the Bazel install, then inject
+ # compatibility stubs for rules_java 7.x + protobuf 6.31.1 (which needs 8.x APIs).
+ # Both @rules_java (WORKSPACE) and @@rules_java (Bzlmod canonical = rules_java_builtin)
+ # must have the stubs; protobuf 6.31.1 uses the Bzlmod canonical form.
+ @cd ${WRKSRC} && \
+ bazel --bazelrc="${WRKDIR}/bazelrc" ${BAZEL_BOOT} fetch @rules_java//:BUILD
+ @BAZEL_OB=$$(cd ${WRKSRC} && bazel --bazelrc="${WRKDIR}/bazelrc" ${BAZEL_BOOT} info output_base 2>/dev/null); \
+ for RJNAME in rules_java rules_java_builtin; do \
+ RJDIR="$${BAZEL_OB}/external/$${RJNAME}"; \
+ if [ -d "$${RJDIR}/java/private" ]; then \
+ ${CP} ${FILESDIR}/rules_java.java.private.proto_support.bzl \
+ $${RJDIR}/java/private/proto_support.bzl; \
+ ${CP} ${FILESDIR}/rules_java.java.common.proguard_spec_info.bzl \
+ $${RJDIR}/java/common/proguard_spec_info.bzl 2>/dev/null || true; \
+ else \
+ ${ECHO_MSG} "WARNING: rules_java external dir $${RJNAME} not found; build may fail"; \
+ fi; \
+ done
+ # Fetch llvm-project and fix config.bzl: replace Linux-only CPU-based FreeBSD
+ # condition with platform-based @platforms//os:freebsd so exec/tool builds also
+ # use posix_defines (no HAVE_GETAUXVAL / HAVE_MALLINFO) and the correct triple.
+ @cd ${WRKSRC} && \
+ bazel --bazelrc="${WRKDIR}/bazelrc" ${BAZEL_BOOT} fetch @@llvm-project//llvm:Support
+ @LLVM_OB=$$(cd ${WRKSRC} && bazel --bazelrc="${WRKDIR}/bazelrc" ${BAZEL_BOOT} info output_base 2>/dev/null); \
+ LLVMCONF="$${LLVM_OB}/external/llvm-raw/utils/bazel/llvm-project-overlay/llvm/config.bzl"; \
+ if [ -f "$${LLVMCONF}" ]; then \
+ ${PYTHON_CMD} ${PATCHDIR}/fix-llvm-config.py "$${LLVMCONF}"; \
+ else \
+ ${ECHO_MSG} "WARNING: llvm config.bzl not found at $${LLVMCONF}; build may fail"; \
+ fi
@cd ${WRKSRC} && \
bazel --bazelrc="${WRKDIR}/bazelrc" ${BAZEL_BOOT} build --jobs ${TF_JOBS_NUMBER} ${BAZEL_COPT} --host_copt="-I${LOCALBASE}/include" \
--host_linkopt="-L${LOCALBASE}/lib -lexecinfo" ${BAZEL_LINKOPT} --copt="-I${LOCALBASE}/include" \
--verbose_failures -s \
--distdir=${WRKDIR}/bazel-dist \
- //tensorflow:libtensorflow_framework.so \
- //tensorflow:libtensorflow.so \
- //tensorflow:libtensorflow_cc.so \
- //tensorflow:install_headers \
- //tensorflow/tools/pip_package:build_pip_package
+ //tensorflow/tools/pip_package:wheel
- @cd ${WRKSRC} && ${SETENV} TMPDIR=${WRKDIR} \
- bazel-bin/tensorflow/tools/pip_package/build_pip_package \
- ${WRKDIR}/whl
+ @${MKDIR} ${WRKDIR}/whl
+ @${CP} ${WRKSRC}/bazel-bin/tensorflow/tools/pip_package/wheel_house/*.whl \
+ ${WRKDIR}/whl/
do-install:
@${MKDIR} ${STAGEDIR}/${PYTHON_SITELIBDIR}
- @${MKDIR} ${STAGEDIR}/${LOCALBASE}/include/tensorflow
@${UNZIP_NATIVE_CMD} -d ${STAGEDIR}/${PYTHON_SITELIBDIR} ${WRKDIR}/whl/${PORTNAME}-${PORTVERSION}-*.whl
- # put headers in the right folder
- ${CP} -R ${WRKSRC}/bazel-bin/tensorflow/include/tensorflow \
- ${STAGEDIR}/${LOCALBASE}/include/
-
- # pc files and libraries
- ${INSTALL_DATA} ${PATCHDIR}/tensorflow.pc ${STAGEDIR}/${LOCALBASE}/libdata/pkgconfig/
- ${INSTALL_DATA} ${PATCHDIR}/tensorflow_cc.pc ${STAGEDIR}/${LOCALBASE}/libdata/pkgconfig/
-
- @${REINPLACE_CMD} "s#%%LOCALBASE%%#${LOCALBASE}#" \
- ${STAGEDIR}/${LOCALBASE}/libdata/pkgconfig/tensorflow.pc \
- ${STAGEDIR}/${LOCALBASE}/libdata/pkgconfig/tensorflow_cc.pc
-
- @${REINPLACE_CMD} "s#%%VERSION%%#${PORTVERSION}#" \
- ${STAGEDIR}/${LOCALBASE}/libdata/pkgconfig/tensorflow.pc
-
- #cleanup
- ${RM} ${STAGEDIR}/${LOCALBASE}/libdata/pkgconfig/*.bak
-
- # install the libraries and strip
- @${FIND} ${WRKSRC}/bazel-bin/tensorflow/ -depth 1 -name "*.so*" | ${XARGS} -I{} \
- ${INSTALL_LIB} {} ${STAGEDIR}/${LOCALBASE}/lib/
-
post-install: # autoplist: thousands of files, all under ${PYTHON_SITELIBDIR}
@cd ${STAGEDIR}${PREFIX} && \
${FIND} ${PYTHON_SITELIBDIR:C|^${LOCALBASE}/||} -type f -or -type l | ${GREP} -v "egg-info/" >> ${TMPPLIST}
diff --git a/science/py-tensorflow/Makefile.MASTER_SITES b/science/py-tensorflow/Makefile.MASTER_SITES
index 5657bdd6a5a9..005583468fb9 100644
--- a/science/py-tensorflow/Makefile.MASTER_SITES
+++ b/science/py-tensorflow/Makefile.MASTER_SITES
@@ -1,85 +1,147 @@
-DISTFILES+= platforms-0.0.6.tar.gz:platforms \
- apple_support.1.1.0.tar.gz:apple \
- bazel-skylib-1.3.0.tar.gz:skylib \
- 8c717f8258cd5f6c7a45b97d974292755852b658.tar.gz:toolchain \
- v0.1.1.zip:buildrules \
- rules_apple.1.0.1.tar.gz:applerules \
- 081771d4a0e9d7d3aa0eed2ef389fa4700dfb23e.tar.gz:rulescc \
- 308b05b2419edb5c8ee0471b67a40403df940149.tar.gz:closure \
- 0.7.1.tar.gz:rulesforeigncc \
- 7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip:java \
- 4.3.zip:jvm \
- rules_pkg-0.7.1.tar.gz:pkg \
- 11bf7c25e666dd7ddacbcd4d4c4a9de7a25175f8.tar.gz:protolib \
- rules_python-0.0.1.tar.gz:pythonrules \
- rules_swift.1.0.0.tar.gz:swift \
- 9351cf542ab478499294864ff3acfdab5c8c5f3d.tar.gz:dlpack \
- f7547e29ccaed7b64ef4f7495ecfff1c9f6f3d03.tar.gz:benchmark \
- 0d859a811870d10f53a594927d0d0b97573ad06d.tar.gz:farmhash \
- e844ffd17118c1e17d94e1ba4354c075a4577b88.zip:gemmlowp \
- c13d28517a4db259d738ea4886b1f00352a3cc33.tar.gz:highwayhash \
- a276a8c738735a0fe45a6ee590fe2df69bcf4502.tar.gz:re2 \
- 3286a34cc8de6149ac6844107dfdffac91531e72.zip:ruy \
- 835a7d7b1ee3bc83e575e302a985c66ec4b65249.tar.gz:sobol \
- openmp-10.0.1.src.tar.xz:llvmorg \
- 131.1.0.tar.gz:kiss \
- v2.7.3.tar.gz:onednn \
- 43d81c6883ade82052920bd367c61f9e52f09954.zip:openxla \
- v1.0.tar.gz:ooura \
- 2c4932ed6f6204f1656e245838f4f5eae69d2e29.tar.gz:pybindabseil \
- 72cbbf1fbc830e487e3012862b7b720001b70672.tar.gz:pybindbazel \
- 80f3440cd8fee124e077e2e47a8a17b78b451363.zip:pybindprotobuf \
- fa1c679da8d19e1d87f20175ae1ec10995cd3dd3.zip:cpuinfo \
- 7d879c8b161085a4374ea481b93a52adb19c0529.tar.gz:runtime \
- eigen-b0f877f8e01e90a5b0f3a79d46ea234899f8b499.tar.gz:eigen \
- b9d4073a6913891ce9cbd8965c8d506075d2a45a.zip:xnnpack \
- b8374f80e42010941bda6c85b0e3f1a1bd77a1e0.zip:pthread \
- 4dfe081cf6bcd15db339cf2680b9281b8451eeb3.zip:fp16 \
- 63058eff77e11aa15bf531df5dd34395ec3017c8.zip:fxdiv \
- dc275fd03254d67d29cc70a5a0569acf24d2280d.tar.gz:llvm \
- 6b3fdcea8bc5398be4e7e9930c693f0ea09316a0.tar.gz:apis \
- v23.1.21.tar.gz:flatbuffer \
- a15b489e1222b2087007546b4912e21293ea86ff.tar.gz:neon
+DISTFILES+=platforms-0.0.11.tar.gz:platforms \
+apple_support.1.24.5.tar.gz:apple \
+bazel-skylib-1.7.1.tar.gz:skylib \
+8c717f8258cd5f6c7a45b97d974292755852b658.tar.gz:toolchain \
+v0.1.1.zip:buildrules \
+rules_apple.3.5.1.tar.gz:applerules \
+rules_swift.1.18.0.tar.gz:swift \
+308b05b2419edb5c8ee0471b67a40403df940149.tar.gz:closure \
+4.3.zip:jvm \
+rules_pkg-0.7.1.tar.gz:pkg \
+rules_foreign_cc-0.7.1.tar.gz:foreign_cc \
+rules_java-7.6.1.tar.gz:rules_java \
+rules_license-0.0.7.tar.gz:rlic \
+bazel_features-v1.25.0.tar.gz:bfeatures \
+rules_shell-v0.4.1.tar.gz:rshell \
+d8cb9c2c168cd64000eaa6eda0781a9615a26ffe.tar.gz:mlchain \
+f7547e29ccaed7b64ef4f7495ecfff1c9f6f3d03.tar.gz:benchmark \
+0d859a811870d10f53a594927d0d0b97573ad06d.tar.gz:farmhash \
+16e8662c34917be0065110bfcd9cc27d30f52fdf.zip:gemmlowp \
+c13d28517a4db259d738ea4886b1f00352a3cc33.tar.gz:highwayhash \
+03da4fc0857c285e3a26782f6bc8931c4c950df4.tar.gz:re2 \
+3286a34cc8de6149ac6844107dfdffac91531e72.zip:ruy \
+835a7d7b1ee3bc83e575e302a985c66ec4b65249.tar.gz:sobol \
+openmp-10.0.1.src.tar.xz:llvmorg \
+131.1.0.tar.gz:kiss \
+v3.7.3.tar.gz:onednn \
+127d2f238010589ac96f2f402a27afc9dccbb7ab.zip:openxla \
+v1.0.tar.gz:ooura \
+13d4f99d5309df3d5afa80fe2ae332d7a2a64c6b.tar.gz:pybindabseil \
+v2.13.6.tar.gz:pybindbazel \
+f02a2b7653bc50eb5119d125842a3870db95d251.zip:pybindprotobuf \
+8a9210069b5a37dd89ed118a783945502a30a4ae.zip:cpuinfo \
+4ecc3a44a32c832b748328bed3f9a599f795ca8d.tar.gz:runtime \
+eigen-dcbaf2d608f306450f1e74949eb87e9a22a7ef4b.tar.gz:eigen \
+25b42dfddb0ee22170d73ff0d4b333ea1e6edfeb.zip:xnnpack \
+0e6ca13779b57d397a5ba6bfdcaa8a275bc8ea2e.zip:pthread \
+4dfe081cf6bcd15db339cf2680b9281b8451eeb3.zip:fp16 \
+63058eff77e11aa15bf531df5dd34395ec3017c8.zip:fxdiv \
+909041e4802c4b9a2223ca04099f35bf1dbbd460.tar.gz:llvm \
+6b3fdcea8bc5398be4e7e9930c693f0ea09316a0.tar.gz:apis \
+v25.9.23.tar.gz:flatbuffer \
+a15b489e1222b2087007546b4912e21293ea86ff.tar.gz:neon \
+v2.11.0.tar.gz:nanobind \
+v1.1.tar.gz:dlpack \
+d38452e1ee03523a208362186fd42248ff2609f6.tar.gz:absl \
+11bf7c25e666dd7ddacbcd4d4c4a9de7a25175f8.tar.gz:protolib \
+63205aa90afa6803d8f58bc3081b69288e9f1906.zip:kleidiai \
+v3.10.5.tar.gz:nlohmann \
+9effcbcb27f0a665f9f345030188c0b291e32482.tar.gz:upb \
+a37c3dbdd5d2a15113d363c7a7c41c30453e482f.zip:riegeli \
+v1.5.7.zip:net_zstd \
+rules_go-v0.34.0.zip:rules_go \
+rules_python-1.6.0.tar.gz:rules_python \
+0.1.0.tar.gz:rules_cc \
+v6.31.1.zip:protobuf6 \
+v2.1.0.tar.gz:absl_py \
+ducc-aa46a4c21e440b3d416c16eca3c96df19c74f316.tar.gz:ducc \
+ml_dtypes-00d98cd92ade342fef589c0470379abb27baebe9.tar.gz:ml_dtypes \
+v1.2.0.tar.gz:brotli_new \
+v0.11.1.tar.gz:libjxl \
+c695e43eba127a74a67263775ab611bded7fba34.zip:xprof \
+1.3.0.tar.gz:highway \
+2025_09_16.tar.gz:skcms \
+v1.4.0.tar.gz:libwebp \
+2afe84b39f0d097ecd70fc44a9e0e39782cee6a3.zip:slinky \
+v1.3.0.tar.gz:robin_map \
+3ea912eb05a4ce1bf598834eb67dbd74e426b882.zip:shardy \
+nvshmem_src_3.1.7-1.txz:nvshmem \
+clang+llvm-18.1.8-x86_64-linux-gnu-ubuntu-18.04.tar.xz:clang18 \
+x86_64_ubuntu18_gcc8.4-0.2.1.tar.xz:gcc_sysroot \
+cpython-3.11.13+20250808-x86_64-unknown-linux-gnu-install_only.tar.gz:cpython311 \
+libtinfo.so.5:libtinfo \
+libtinfo5-copyright.txt:libtinfo_cp
-MASTER_SITES+= https://github.com/bazelbuild/platforms/releases/download/0.0.6/:platforms \
- https://github.com/bazelbuild/apple_support/releases/download/1.1.0/:apple \
- https://github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/:skylib \
- https://github.com/bazelbuild/bazel-toolchains/archive/:toolchain \
- https://github.com/bazelbuild/rules_android/archive/:buildrules \
- https://github.com/bazelbuild/rules_apple/releases/download/1.0.1/:applerules \
- https://github.com/bazelbuild/rules_cc/archive/:rulescc \
- https://github.com/bazelbuild/rules_closure/archive/:closure \
- https://github.com/bazelbuild/rules_foreign_cc/archive/:rulesforeigncc \
- https://github.com/bazelbuild/rules_java/archive/:java \
- https://github.com/bazelbuild/rules_jvm_external/archive/:jvm \
- https://github.com/bazelbuild/rules_pkg/releases/download/0.7.1/:pkg \
- https://github.com/bazelbuild/rules_proto/archive/:protolib \
- https://github.com/bazelbuild/rules_python/releases/download/0.0.1/:pythonrules \
- https://github.com/bazelbuild/rules_swift/releases/download/1.0.0/:swift \
- https://github.com/dmlc/dlpack/archive/:dlpack \
- https://github.com/google/benchmark/archive/:benchmark \
- https://github.com/google/farmhash/archive/:farmhash \
- https://github.com/google/gemmlowp/archive/:gemmlowp \
- https://github.com/google/highwayhash/archive/:highwayhash \
- https://github.com/google/re2/archive/:re2 \
- https://github.com/google/ruy/archive/:ruy \
- https://github.com/joe-kuo/sobol_data/archive/:sobol \
- https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/:llvmorg \
- https://github.com/mborgerding/kissfft/archive/refs/tags/:kiss \
- https://github.com/oneapi-src/oneDNN/archive/refs/tags/:onednn \
- https://github.com/openxla/stablehlo/archive/:openxla \
- https://github.com/petewarden/OouraFFT/archive/:ooura \
- https://github.com/pybind/pybind11_abseil/archive/:pybindabseil \
- https://github.com/pybind/pybind11_bazel/archive/:pybindbazel \
- https://github.com/pybind/pybind11_protobuf/archive/:pybindprotobuf \
- https://github.com/pytorch/cpuinfo/archive/:cpuinfo \
- https://github.com/tensorflow/runtime/archive/:runtime \
- https://gitlab.com/libeigen/eigen/-/archive/b0f877f8e01e90a5b0f3a79d46ea234899f8b499/:eigen \
- https://github.com/google/XNNPACK/archive/:xnnpack \
- https://github.com/Maratyszcza/pthreadpool/archive/:pthread \
- https://github.com/Maratyszcza/FP16/archive/:fp16 \
- https://github.com/Maratyszcza/FXdiv/archive/:fxdiv \
- https://github.com/llvm/llvm-project/archive/:llvm \
- https://github.com/googleapis/googleapis/archive/:apis \
- https://storage.googleapis.com/mirror.tensorflow.org/github.com/google/flatbuffers/archive/:flatbuffer \
- https://github.com/intel/ARM_NEON_2_x86_SSE/archive/:neon
+MASTER_SITES+=https://github.com/bazelbuild/platforms/releases/download/0.0.11/:platforms \
+https://github.com/bazelbuild/apple_support/releases/download/1.24.5/:apple \
+https://github.com/bazelbuild/bazel-skylib/releases/download/1.7.1/:skylib \
+https://github.com/bazelbuild/bazel-toolchains/archive/:toolchain \
+https://github.com/bazelbuild/rules_android/archive/:buildrules \
+https://github.com/bazelbuild/rules_apple/releases/download/3.5.1/:applerules \
+https://github.com/bazelbuild/rules_swift/releases/download/1.18.0/:swift \
+https://github.com/bazelbuild/rules_closure/archive/:closure \
+https://github.com/bazelbuild/rules_jvm_external/archive/:jvm \
+https://github.com/bazelbuild/rules_pkg/releases/download/0.7.1/:pkg \
+https://github.com/bazelbuild/rules_foreign_cc/archive/:foreign_cc \
+https://github.com/bazelbuild/rules_java/releases/download/7.6.1/:rules_java \
+https://github.com/bazelbuild/rules_license/releases/download/0.0.7/:rlic \
+https://github.com/bazel-contrib/bazel_features/releases/download/v1.25.0/:bfeatures \
+https://github.com/bazelbuild/rules_shell/releases/download/v0.4.1/:rshell \
+https://github.com/google-ml-infra/rules_ml_toolchain/archive/:mlchain \
+https://github.com/google/benchmark/archive/:benchmark \
+https://github.com/google/farmhash/archive/:farmhash \
+https://github.com/google/gemmlowp/archive/:gemmlowp \
+https://github.com/google/highwayhash/archive/:highwayhash \
+https://github.com/google/re2/archive/:re2 \
+https://github.com/google/ruy/archive/:ruy \
+https://github.com/joe-kuo/sobol_data/archive/:sobol \
+https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/:llvmorg \
+https://github.com/mborgerding/kissfft/archive/refs/tags/:kiss \
+https://github.com/oneapi-src/oneDNN/archive/refs/tags/:onednn \
+https://github.com/openxla/stablehlo/archive/:openxla \
+https://github.com/petewarden/OouraFFT/archive/:ooura \
+https://github.com/pybind/pybind11_abseil/archive/:pybindabseil \
+https://github.com/pybind/pybind11_bazel/archive/:pybindbazel \
+https://github.com/pybind/pybind11_protobuf/archive/:pybindprotobuf \
+https://github.com/pytorch/cpuinfo/archive/:cpuinfo \
+https://github.com/tensorflow/runtime/archive/:runtime \
+https://gitlab.com/libeigen/eigen/-/archive/dcbaf2d608f306450f1e74949eb87e9a22a7ef4b/:eigen \
+https://github.com/google/XNNPACK/archive/:xnnpack \
+https://github.com/Maratyszcza/pthreadpool/archive/:pthread \
+https://github.com/Maratyszcza/FP16/archive/:fp16 \
+https://github.com/Maratyszcza/FXdiv/archive/:fxdiv \
+https://github.com/llvm/llvm-project/archive/:llvm \
+https://github.com/googleapis/googleapis/archive/:apis \
+https://github.com/google/flatbuffers/archive/refs/tags/:flatbuffer \
+https://github.com/intel/ARM_NEON_2_x86_SSE/archive/:neon \
+https://github.com/wjakob/nanobind/archive/refs/tags/:nanobind \
+https://github.com/dmlc/dlpack/archive/refs/tags/:dlpack \
+https://github.com/abseil/abseil-cpp/archive/:absl \
+https://github.com/bazelbuild/rules_proto/archive/:protolib \
+https://github.com/ARM-software/kleidiai/archive/:kleidiai \
+https://github.com/nlohmann/json/archive/:nlohmann \
+https://github.com/protocolbuffers/upb/archive/:upb \
+https://github.com/google/riegeli/archive/:riegeli \
+https://github.com/facebook/zstd/archive/:net_zstd \
+https://github.com/bazelbuild/rules_go/releases/download/v0.34.0/:rules_go \
+https://github.com/bazelbuild/rules_python/releases/download/1.6.0/:rules_python \
+https://github.com/bazelbuild/rules_cc/archive/refs/tags/:rules_cc \
+https://github.com/protocolbuffers/protobuf/archive/refs/tags/:protobuf6 \
+https://github.com/abseil/abseil-py/archive/refs/tags/:absl_py \
+https://gitlab.mpcdf.mpg.de/mtr/ducc/-/archive/aa46a4c21e440b3d416c16eca3c96df19c74f316/:ducc \
+https://github.com/jax-ml/ml_dtypes/archive/00d98cd92ade342fef589c0470379abb27baebe9/:ml_dtypes \
+https://github.com/google/brotli/archive/refs/tags/:brotli_new \
+https://github.com/libjxl/libjxl/archive/refs/tags/:libjxl \
+https://storage.googleapis.com/mirror.tensorflow.org/github.com/openxla/xprof/archive/:xprof \
+https://github.com/google/highway/archive/refs/tags/:highway \
+https://github.com/google/skcms/archive/refs/tags/:skcms \
+https://github.com/webmproject/libwebp/archive/:libwebp \
+https://github.com/dsharlet/slinky/archive/:slinky \
+https://github.com/Tessil/robin-map/archive/refs/tags/:robin_map \
+https://github.com/openxla/shardy/archive/:shardy \
+https://developer.download.nvidia.com/compute/redist/nvshmem/3.1.7/source/:nvshmem \
+https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.8/:clang18 \
+https://storage.googleapis.com/ml-sysroot-testing/x86_64/:gcc_sysroot \
+https://github.com/astral-sh/python-build-standalone/releases/download/20250808/:cpython311 \
+https://storage.googleapis.com/ml-sysroot-testing/libtinfo/:libtinfo \
+https://storage.googleapis.com/ml-sysroot-testing/libtinfo/:libtinfo_cp
diff --git a/science/py-tensorflow/distinfo b/science/py-tensorflow/distinfo
index e886c03d0967..6be3b4243f7d 100644
--- a/science/py-tensorflow/distinfo
+++ b/science/py-tensorflow/distinfo
@@ -1,46 +1,46 @@
-TIMESTAMP = 1731660141
-SHA256 (tensorflow/platforms-0.0.6.tar.gz) = 5308fc1d8865406a49427ba24a9ab53087f17f5266a7aabbfc28823f3916e1ca
-SIZE (tensorflow/platforms-0.0.6.tar.gz) = 5537
-SHA256 (tensorflow/apple_support.1.1.0.tar.gz) = ce1042cf936540eaa7b49c4549d7cd9b6b1492acbb6e765840a67a34b8e17a97
-SIZE (tensorflow/apple_support.1.1.0.tar.gz) = 27105
-SHA256 (tensorflow/bazel-skylib-1.3.0.tar.gz) = 74d544d96f4a5bb630d465ca8bbcfe231e3594e5aae57e1edbf17a6eb3ca2506
-SIZE (tensorflow/bazel-skylib-1.3.0.tar.gz) = 36103
+TIMESTAMP = 1774238095
+SHA256 (tensorflow/platforms-0.0.11.tar.gz) = 29742e87275809b5e598dc2f04d86960cc7a55b3067d97221c9abbc9926bff0f
+SIZE (tensorflow/platforms-0.0.11.tar.gz) = 7882
+SHA256 (tensorflow/apple_support.1.24.5.tar.gz) = 1ae6fcf983cff3edab717636f91ad0efff2e5ba75607fdddddfd6ad0dbdfaf10
+SIZE (tensorflow/apple_support.1.24.5.tar.gz) = 110555
+SHA256 (tensorflow/bazel-skylib-1.7.1.tar.gz) = bc283cdfcd526a52c3201279cda4bc298652efa898b10b4db0837dc51652756f
+SIZE (tensorflow/bazel-skylib-1.7.1.tar.gz) = 43566
SHA256 (tensorflow/8c717f8258cd5f6c7a45b97d974292755852b658.tar.gz) = 294cdd859e57fcaf101d4301978c408c88683fbc46fbc1a3829da92afbea55fb
SIZE (tensorflow/8c717f8258cd5f6c7a45b97d974292755852b658.tar.gz) = 80728
SHA256 (tensorflow/v0.1.1.zip) = cd06d15dd8bb59926e4d65f9003bfc20f9da4b2519985c27e190cddc8b7a7806
SIZE (tensorflow/v0.1.1.zip) = 14654
-SHA256 (tensorflow/rules_apple.1.0.1.tar.gz) = 36072d4f3614d309d6a703da0dfe48684ec4c65a89611aeb9590b45af7a3e592
-SIZE (tensorflow/rules_apple.1.0.1.tar.gz) = 2198467
-SHA256 (tensorflow/081771d4a0e9d7d3aa0eed2ef389fa4700dfb23e.tar.gz) = ff7876d80cd3f6b8c7a064bd9aa42a78e02096544cca2b22a9cf390a4397a53e
-SIZE (tensorflow/081771d4a0e9d7d3aa0eed2ef389fa4700dfb23e.tar.gz) = 130803
+SHA256 (tensorflow/rules_apple.3.5.1.tar.gz) = b4df908ec14868369021182ab191dbd1f40830c9b300650d5dc389e0b9266c8d
+SIZE (tensorflow/rules_apple.3.5.1.tar.gz) = 2404029
+SHA256 (tensorflow/rules_swift.1.18.0.tar.gz) = bb01097c7c7a1407f8ad49a1a0b1960655cf823c26ad2782d0b7d15b323838e2
+SIZE (tensorflow/rules_swift.1.18.0.tar.gz) = 255839
SHA256 (tensorflow/308b05b2419edb5c8ee0471b67a40403df940149.tar.gz) = 5b00383d08dd71f28503736db0500b6fb4dda47489ff5fc6bed42557c07c6ba9
SIZE (tensorflow/308b05b2419edb5c8ee0471b67a40403df940149.tar.gz) = 464906
-SHA256 (tensorflow/0.7.1.tar.gz) = bcd0c5f46a49b85b384906daae41d277b3dc0ff27c7c752cc51e43048a58ec83
-SIZE (tensorflow/0.7.1.tar.gz) = 215296
-SHA256 (tensorflow/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip) = bc81f1ba47ef5cc68ad32225c3d0e70b8c6f6077663835438da8d5733f917598
-SIZE (tensorflow/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip) = 9422
SHA256 (tensorflow/4.3.zip) = 6274687f6fc5783b589f56a2f1ed60de3ce1f99bc4e8f9edef3de43bdf7c6e74
SIZE (tensorflow/4.3.zip) = 3998031
SHA256 (tensorflow/rules_pkg-0.7.1.tar.gz) = 451e08a4d78988c06fa3f9306ec813b836b1d076d0f055595444ba4ff22b867f
SIZE (tensorflow/rules_pkg-0.7.1.tar.gz) = 77334
-SHA256 (tensorflow/11bf7c25e666dd7ddacbcd4d4c4a9de7a25175f8.tar.gz) = 20b240eba17a36be4b0b22635aca63053913d5c1ee36e16be36499d167a2f533
-SIZE (tensorflow/11bf7c25e666dd7ddacbcd4d4c4a9de7a25175f8.tar.gz) = 14304
-SHA256 (tensorflow/rules_python-0.0.1.tar.gz) = aa96a691d3a8177f3215b14b0edc9641787abaaa30363a080165d06ab65e1161
-SIZE (tensorflow/rules_python-0.0.1.tar.gz) = 2302092
-SHA256 (tensorflow/rules_swift.1.0.0.tar.gz) = 12057b7aa904467284eee640de5e33853e51d8e31aae50b3fb25d2823d51c6b8
-SIZE (tensorflow/rules_swift.1.0.0.tar.gz) = 199181
-SHA256 (tensorflow/9351cf542ab478499294864ff3acfdab5c8c5f3d.tar.gz) = 7aca112f2809b7e9523e9b47b04a393affeca38247861951f07c42dee10180e2
-SIZE (tensorflow/9351cf542ab478499294864ff3acfdab5c8c5f3d.tar.gz) = 76170
+SHA256 (tensorflow/rules_foreign_cc-0.7.1.tar.gz) = bcd0c5f46a49b85b384906daae41d277b3dc0ff27c7c752cc51e43048a58ec83
+SIZE (tensorflow/rules_foreign_cc-0.7.1.tar.gz) = 215296
+SHA256 (tensorflow/rules_java-7.6.1.tar.gz) = f8ae9ed3887df02f40de9f4f7ac3873e6dd7a471f9cddf63952538b94b59aeb3
+SIZE (tensorflow/rules_java-7.6.1.tar.gz) = 26756
+SHA256 (tensorflow/rules_license-0.0.7.tar.gz) = 4531deccb913639c30e5c7512a054d5d875698daeb75d8cf90f284375fe7c360
+SIZE (tensorflow/rules_license-0.0.7.tar.gz) = 31476
+SHA256 (tensorflow/bazel_features-v1.25.0.tar.gz) = 4fd9922d464686820ffd8fcefa28ccffa147f7cdc6b6ac0d8b07fde565c65d66
+SIZE (tensorflow/bazel_features-v1.25.0.tar.gz) = 16266
+SHA256 (tensorflow/rules_shell-v0.4.1.tar.gz) = bc61ef94facc78e20a645726f64756e5e285a045037c7a61f65af2941f4c25e1
+SIZE (tensorflow/rules_shell-v0.4.1.tar.gz) = 22017
+SHA256 (tensorflow/d8cb9c2c168cd64000eaa6eda0781a9615a26ffe.tar.gz) = 54c1a357f71f611efdb4891ebd4bcbe4aeb6dfa7e473f14fd7ecad5062096616
+SIZE (tensorflow/d8cb9c2c168cd64000eaa6eda0781a9615a26ffe.tar.gz) = 159079
SHA256 (tensorflow/f7547e29ccaed7b64ef4f7495ecfff1c9f6f3d03.tar.gz) = 552ca3d4d1af4beeb1907980f7096315aa24150d6baf5ac1e5ad90f04846c670
SIZE (tensorflow/f7547e29ccaed7b64ef4f7495ecfff1c9f6f3d03.tar.gz) = 204856
SHA256 (tensorflow/0d859a811870d10f53a594927d0d0b97573ad06d.tar.gz) = 18392cf0736e1d62ecbb8d695c31496b6507859e8c75541d7ad0ba092dc52115
SIZE (tensorflow/0d859a811870d10f53a594927d0d0b97573ad06d.tar.gz) = 467251
-SHA256 (tensorflow/e844ffd17118c1e17d94e1ba4354c075a4577b88.zip) = 522b7a82d920ebd0c4408a5365866a40b81d1c0d60b2369011d315cca03c6476
-SIZE (tensorflow/e844ffd17118c1e17d94e1ba4354c075a4577b88.zip) = 940590
+SHA256 (tensorflow/16e8662c34917be0065110bfcd9cc27d30f52fdf.zip) = 7dc418717c8456473fac4ff2288b71057e3dcb72894524c734a4362cdb51fa8b
+SIZE (tensorflow/16e8662c34917be0065110bfcd9cc27d30f52fdf.zip) = 940836
SHA256 (tensorflow/c13d28517a4db259d738ea4886b1f00352a3cc33.tar.gz) = c0e2b9931fbcce3bfbcd7999c3c114f404ac0f8b89775a5bbccbcaa501868e58
SIZE (tensorflow/c13d28517a4db259d738ea4886b1f00352a3cc33.tar.gz) = 160745
-SHA256 (tensorflow/a276a8c738735a0fe45a6ee590fe2df69bcf4502.tar.gz) = b90430b2a9240df4459108b3e291be80ae92c68a47bc06ef2dc419c5724de061
-SIZE (tensorflow/a276a8c738735a0fe45a6ee590fe2df69bcf4502.tar.gz) = 306766
+SHA256 (tensorflow/03da4fc0857c285e3a26782f6bc8931c4c950df4.tar.gz) = ef516fb84824a597c4d5d0d6d330daedb18363b5a99eda87d027e6bdd9cba299
+SIZE (tensorflow/03da4fc0857c285e3a26782f6bc8931c4c950df4.tar.gz) = 396457
SHA256 (tensorflow/3286a34cc8de6149ac6844107dfdffac91531e72.zip) = a22c42e80c7bb450db8492728e4742ee66f46d5458c45fe67ce2c9b61240630c
SIZE (tensorflow/3286a34cc8de6149ac6844107dfdffac91531e72.zip) = 381045
SHA256 (tensorflow/835a7d7b1ee3bc83e575e302a985c66ec4b65249.tar.gz) = 583d7b975e506c076fc579d9139530596906b9195b203d42361417e9aad79b73
@@ -49,43 +49,101 @@ SHA256 (tensorflow/openmp-10.0.1.src.tar.xz) = d19f728c8e04fb1e94566c8d76aef50ec
SIZE (tensorflow/openmp-10.0.1.src.tar.xz) = 955492
SHA256 (tensorflow/131.1.0.tar.gz) = 76c1aac87ddb7258f34b08a13f0eebf9e53afa299857568346aa5c82bcafaf1a
SIZE (tensorflow/131.1.0.tar.gz) = 52383
-SHA256 (tensorflow/v2.7.3.tar.gz) = a50993aa6265b799b040fe745e0010502f9f7103cc53a9525d59646aef006633
-SIZE (tensorflow/v2.7.3.tar.gz) = 6410473
-SHA256 (tensorflow/43d81c6883ade82052920bd367c61f9e52f09954.zip) = 57a8a93e51211f990d760631f2bfdbba5257b22dda3d60e35a186bba988a2ace
-SIZE (tensorflow/43d81c6883ade82052920bd367c61f9e52f09954.zip) = 27954369
+SHA256 (tensorflow/v3.7.3.tar.gz) = 071f289dc961b43a3b7c8cbe8a305290a7c5d308ec4b2f586397749abdc88296
+SIZE (tensorflow/v3.7.3.tar.gz) = 14101401
+SHA256 (tensorflow/127d2f238010589ac96f2f402a27afc9dccbb7ab.zip) = 3780e503599ebcc1acc4c96ea5f23c724dae2a4d746ed7d9a01d3f14d879265a
+SIZE (tensorflow/127d2f238010589ac96f2f402a27afc9dccbb7ab.zip) = 20267651
SHA256 (tensorflow/v1.0.tar.gz) = 5f4dabc2ae21e1f537425d58a49cdca1c49ea11db0d6271e2a4b27e9697548eb
SIZE (tensorflow/v1.0.tar.gz) = 110531
-SHA256 (tensorflow/2c4932ed6f6204f1656e245838f4f5eae69d2e29.tar.gz) = 0223b647b8cc817336a51e787980ebc299c8d5e64c069829bf34b69d72337449
-SIZE (tensorflow/2c4932ed6f6204f1656e245838f4f5eae69d2e29.tar.gz) = 28202
-SHA256 (tensorflow/72cbbf1fbc830e487e3012862b7b720001b70672.tar.gz) = 516c1b3a10d87740d2b7de6f121f8e19dde2c372ecbfe59aef44cd1872c10395
-SIZE (tensorflow/72cbbf1fbc830e487e3012862b7b720001b70672.tar.gz) = 8722
-SHA256 (tensorflow/80f3440cd8fee124e077e2e47a8a17b78b451363.zip) = c7ab64b1ccf9a678694a89035a8c865a693e4e872803778f91f0965c2f281d78
-SIZE (tensorflow/80f3440cd8fee124e077e2e47a8a17b78b451363.zip) = 76830
-SHA256 (tensorflow/fa1c679da8d19e1d87f20175ae1ec10995cd3dd3.zip) = 2bf2b62eb86e2d2eaf862d0b9683a6c467a4d69fb2f7f1dc47c799809148608f
-SIZE (tensorflow/fa1c679da8d19e1d87f20175ae1ec10995cd3dd3.zip) = 3848981
-SHA256 (tensorflow/7d879c8b161085a4374ea481b93a52adb19c0529.tar.gz) = cfde5639b7c67c0edfa073b779b977aae744137c2b2fcb25a992f8d57bd033dd
-SIZE (tensorflow/7d879c8b161085a4374ea481b93a52adb19c0529.tar.gz) = 15228644
-SHA256 (tensorflow/eigen-b0f877f8e01e90a5b0f3a79d46ea234899f8b499.tar.gz) = bdb1353ba33a5a7a5caadf822057ac1f0254ba2c5e70512dd1ec20cbb64e2f6c
-SIZE (tensorflow/eigen-b0f877f8e01e90a5b0f3a79d46ea234899f8b499.tar.gz) = 2833536
-SHA256 (tensorflow/b9d4073a6913891ce9cbd8965c8d506075d2a45a.zip) = c979b62e8b77af60dfd7567f22ade20d5a9d4d0888f8a2d60d155fc0d31b22ab
-SIZE (tensorflow/b9d4073a6913891ce9cbd8965c8d506075d2a45a.zip) = 24168206
-SHA256 (tensorflow/b8374f80e42010941bda6c85b0e3f1a1bd77a1e0.zip) = b96413b10dd8edaa4f6c0a60c6cf5ef55eebeef78164d5d69294c8173457f0ec
-SIZE (tensorflow/b8374f80e42010941bda6c85b0e3f1a1bd77a1e0.zip) = 61524
+SHA256 (tensorflow/13d4f99d5309df3d5afa80fe2ae332d7a2a64c6b.tar.gz) = c6d0c6784e4d5681919731f1fa86e0b7cd010e770115bdb3a0285b3939ef2394
+SIZE (tensorflow/13d4f99d5309df3d5afa80fe2ae332d7a2a64c6b.tar.gz) = 33138
+SHA256 (tensorflow/v2.13.6.tar.gz) = cae680670bfa6e82703c03f2a3c995408cdcbf43616d7bdd198ef45d3c327731
+SIZE (tensorflow/v2.13.6.tar.gz) = 6156
+SHA256 (tensorflow/f02a2b7653bc50eb5119d125842a3870db95d251.zip) = 3cf7bf0f23954c5ce6c37f0a215f506efa3035ca06e3b390d67f4cbe684dce23
+SIZE (tensorflow/f02a2b7653bc50eb5119d125842a3870db95d251.zip) = 104204
+SHA256 (tensorflow/8a9210069b5a37dd89ed118a783945502a30a4ae.zip) = c0254ce97f7abc778dd2df0aaca1e0506dba1cd514fdb9fe88c07849393f8ef4
+SIZE (tensorflow/8a9210069b5a37dd89ed118a783945502a30a4ae.zip) = 3852053
+SHA256 (tensorflow/4ecc3a44a32c832b748328bed3f9a599f795ca8d.tar.gz) = 5e81d70f9534340f7ef8e63ec43bdd5971135e48183079be50ecb3f74b1fed66
+SIZE (tensorflow/4ecc3a44a32c832b748328bed3f9a599f795ca8d.tar.gz) = 797332
+SHA256 (tensorflow/eigen-dcbaf2d608f306450f1e74949eb87e9a22a7ef4b.tar.gz) = a71517b3815984c1a8174db1ebc58a17d4f5c23c06e377bbc4a5dfc85855a516
+SIZE (tensorflow/eigen-dcbaf2d608f306450f1e74949eb87e9a22a7ef4b.tar.gz) = 2984046
+SHA256 (tensorflow/25b42dfddb0ee22170d73ff0d4b333ea1e6edfeb.zip) = 44bf8a258cfd0d7b500b6058a2bb5c7387c8cebba295cfca985a68d16513f7c8
+SIZE (tensorflow/25b42dfddb0ee22170d73ff0d4b333ea1e6edfeb.zip) = 23536211
+SHA256 (tensorflow/0e6ca13779b57d397a5ba6bfdcaa8a275bc8ea2e.zip) = f602ab141bdc5d5872a79d6551e9063b5bfa7ad6ad60cceaa641de5c45c86d70
+SIZE (tensorflow/0e6ca13779b57d397a5ba6bfdcaa8a275bc8ea2e.zip) = 125519
SHA256 (tensorflow/4dfe081cf6bcd15db339cf2680b9281b8451eeb3.zip) = d973501a40c55126b31accc2d9f08d931ec3cc190c0430309a5e341d3c0ce32a
SIZE (tensorflow/4dfe081cf6bcd15db339cf2680b9281b8451eeb3.zip) = 91462
SHA256 (tensorflow/63058eff77e11aa15bf531df5dd34395ec3017c8.zip) = 3d7b0e9c4c658a84376a1086126be02f9b7f753caa95e009d9ac38d11da444db
SIZE (tensorflow/63058eff77e11aa15bf531df5dd34395ec3017c8.zip) = 16646
-SHA256 (tensorflow/dc275fd03254d67d29cc70a5a0569acf24d2280d.tar.gz) = 3e91127af59a6b07fea7901c80a7b8b9234eced42b0f14abbad5f9f7674dba69
-SIZE (tensorflow/dc275fd03254d67d29cc70a5a0569acf24d2280d.tar.gz) = 182909064
+SHA256 (tensorflow/909041e4802c4b9a2223ca04099f35bf1dbbd460.tar.gz) = 3f986184ee126677dbd77edb16d6b82c057ec869fefd7a9871979941e52e837a
+SIZE (tensorflow/909041e4802c4b9a2223ca04099f35bf1dbbd460.tar.gz) = 259501486
SHA256 (tensorflow/6b3fdcea8bc5398be4e7e9930c693f0ea09316a0.tar.gz) = 249d83abc5d50bf372c35c49d77f900bff022b2c21eb73aa8da1458b6ac401fc
SIZE (tensorflow/6b3fdcea8bc5398be4e7e9930c693f0ea09316a0.tar.gz) = 6091152
-SHA256 (tensorflow/v23.1.21.tar.gz) = d84cb25686514348e615163b458ae0767001b24b42325f426fd56406fd384238
-SIZE (tensorflow/v23.1.21.tar.gz) = 2181861
+SHA256 (tensorflow/v25.9.23.tar.gz) = 9102253214dea6ae10c2ac966ea1ed2155d22202390b532d1dea64935c518ada
+SIZE (tensorflow/v25.9.23.tar.gz) = 2336210
SHA256 (tensorflow/a15b489e1222b2087007546b4912e21293ea86ff.tar.gz) = 019fbc7ec25860070a1d90e12686fc160cfb33e22aa063c80f52b363f1361e9d
SIZE (tensorflow/a15b489e1222b2087007546b4912e21293ea86ff.tar.gz) = 103972
-SHA256 (tensorflow/tensorflow-tensorflow-v2.13.1_GH0.tar.gz) = 89c07aebd4f41fbe0d08cc88aef00305542134f2f16d3b62918dc3c1182f33e2
-SIZE (tensorflow/tensorflow-tensorflow-v2.13.1_GH0.tar.gz) = 70663056
-SHA256 (tensorflow/ba7501696cc.patch) = d06dda3f889d7ffcd9dcec16f7f96e8ac24ffd5f999307fe0ceb623e57c7fa9f
-SIZE (tensorflow/ba7501696cc.patch) = 740
-SHA256 (tensorflow/667cf3ed2d7.patch) = dc3cc6c8b9bd6f4978904c1a28df61ab00634cb6cab461690a83c58fde55a0d9
-SIZE (tensorflow/667cf3ed2d7.patch) = 960
+SHA256 (tensorflow/v2.11.0.tar.gz) = 62ba05e5f720c76c510d6ab2a77f8ccc17a76c5cea951bea47355a7dfa460449
+SIZE (tensorflow/v2.11.0.tar.gz) = 938321
+SHA256 (tensorflow/v1.1.tar.gz) = 2e3b94b55825c240cc58e6721e15b449978cbae21a2a4caa23058b0157ee2fb3
+SIZE (tensorflow/v1.1.tar.gz) = 198915
+SHA256 (tensorflow/d38452e1ee03523a208362186fd42248ff2609f6.tar.gz) = d1abe9da2003e6cbbd7619b0ced3e52047422f4f4ac6c66a9bef5d2e99fea837
+SIZE (tensorflow/d38452e1ee03523a208362186fd42248ff2609f6.tar.gz) = 2236099
+SHA256 (tensorflow/11bf7c25e666dd7ddacbcd4d4c4a9de7a25175f8.tar.gz) = 20b240eba17a36be4b0b22635aca63053913d5c1ee36e16be36499d167a2f533
+SIZE (tensorflow/11bf7c25e666dd7ddacbcd4d4c4a9de7a25175f8.tar.gz) = 14304
+SHA256 (tensorflow/63205aa90afa6803d8f58bc3081b69288e9f1906.zip) = 5e922c9afb7a0c881fc4359b58488f3faa840e8435de1a2207a6525935ed83c2
+SIZE (tensorflow/63205aa90afa6803d8f58bc3081b69288e9f1906.zip) = 2859671
+SHA256 (tensorflow/v3.10.5.tar.gz) = 5daca6ca216495edf89d167f808d1d03c4a4d929cef7da5e10f135ae1540c7e4
+SIZE (tensorflow/v3.10.5.tar.gz) = 7021996
+SHA256 (tensorflow/9effcbcb27f0a665f9f345030188c0b291e32482.tar.gz) = 61d0417abd60e65ed589c9deee7c124fe76a4106831f6ad39464e1525cef1454
+SIZE (tensorflow/9effcbcb27f0a665f9f345030188c0b291e32482.tar.gz) = 324650
+SHA256 (tensorflow/a37c3dbdd5d2a15113d363c7a7c41c30453e482f.zip) = 590ec559107fc7082e1a7d70e9c9bfb8624c79dabca0a05fe1bcba1d7a591ec8
+SIZE (tensorflow/a37c3dbdd5d2a15113d363c7a7c41c30453e482f.zip) = 1247370
+SHA256 (tensorflow/v1.5.7.zip) = 7897bc5d620580d9b7cd3539c44b59d78f3657d33663fe97a145e07b4ebd69a4
+SIZE (tensorflow/v1.5.7.zip) = 2753402
+SHA256 (tensorflow/rules_go-v0.34.0.zip) = 16e9fca53ed6bd4ff4ad76facc9b7b651a89db1689a2877d6fd7b82aa824e366
+SIZE (tensorflow/rules_go-v0.34.0.zip) = 1210403
+SHA256 (tensorflow/rules_python-1.6.0.tar.gz) = fa7dd2c6b7d63b3585028dd8a90a6cf9db83c33b250959c2ee7b583a6c130e12
+SIZE (tensorflow/rules_python-1.6.0.tar.gz) = 927982
+SHA256 (tensorflow/0.1.0.tar.gz) = 4b12149a041ddfb8306a8fd0e904e39d673552ce82e4296e96fac9cbf0780e59
+SIZE (tensorflow/0.1.0.tar.gz) = 168117
+SHA256 (tensorflow/v6.31.1.zip) = 6e09bbc950ba60c3a7b30280210cd285af8d7d8ed5e0a6ed101c72aff22e8d88
+SIZE (tensorflow/v6.31.1.zip) = 11437914
+SHA256 (tensorflow/tensorflow-tensorflow-v2.21.0_GH0.tar.gz) = ef3568bb4865d6c1b2564fb5689c19b6b9a5311572cd1f2ff9198636a8520921
+SIZE (tensorflow/tensorflow-tensorflow-v2.21.0_GH0.tar.gz) = 90831199
+SHA256 (tensorflow/v2.1.0.tar.gz) = 8a3d0830e4eb4f66c4fa907c06edf6ce1c719ced811a12e26d9d3162f8471758
+SIZE (tensorflow/v2.1.0.tar.gz) = 235261
+SHA256 (tensorflow/ducc-aa46a4c21e440b3d416c16eca3c96df19c74f316.tar.gz) = 077cf4bd0bd7eddaa6649a024285fff96e2662c5e6f2fb6ed5c5771f9de093f3
+SIZE (tensorflow/ducc-aa46a4c21e440b3d416c16eca3c96df19c74f316.tar.gz) = 423799
+SHA256 (tensorflow/ml_dtypes-00d98cd92ade342fef589c0470379abb27baebe9.tar.gz) = f6e5880666661351e6cd084ac4178ddc4dabcde7e9a73722981c0d1500cf5937
+SIZE (tensorflow/ml_dtypes-00d98cd92ade342fef589c0470379abb27baebe9.tar.gz) = 87114
+SHA256 (tensorflow/v1.2.0.tar.gz) = 816c96e8e8f193b40151dad7e8ff37b1221d019dbcb9c35cd3fadbfe6477dfec
+SIZE (tensorflow/v1.2.0.tar.gz) = 646315
+SHA256 (tensorflow/v0.11.1.tar.gz) = 1492dfef8dd6c3036446ac3b340005d92ab92f7d48ee3271b5dac1d36945d3d9
+SIZE (tensorflow/v0.11.1.tar.gz) = 1876134
+SHA256 (tensorflow/c695e43eba127a74a67263775ab611bded7fba34.zip) = d27bcd502a0843e463fc4eb7d3532d0d720ddd6af6e39942846f1aa769352625
+SIZE (tensorflow/c695e43eba127a74a67263775ab611bded7fba34.zip) = 11177761
+SHA256 (tensorflow/1.3.0.tar.gz) = 07b3c1ba2c1096878a85a31a5b9b3757427af963b1141ca904db2f9f4afe0bc2
+SIZE (tensorflow/1.3.0.tar.gz) = 3634890
+SHA256 (tensorflow/2025_09_16.tar.gz) = 08c45dff8ede1b56a6e7d1e9fdaf113dd91ab28ddcbcf696229b683e5e9af45a
+SIZE (tensorflow/2025_09_16.tar.gz) = 10061309
+SHA256 (tensorflow/v1.4.0.tar.gz) = 12af50c45530f0a292d39a88d952637e43fb2d4ab1883c44ae729840f7273381
+SIZE (tensorflow/v1.4.0.tar.gz) = 3800514
+SHA256 (tensorflow/2afe84b39f0d097ecd70fc44a9e0e39782cee6a3.zip) = 4c0b19e58706c44336c573a0ba9fdf0e412b23670cac6a3df95525a0909a0360
+SIZE (tensorflow/2afe84b39f0d097ecd70fc44a9e0e39782cee6a3.zip) = 381528
+SHA256 (tensorflow/v1.3.0.tar.gz) = a8424ad3b0affd4c57ed26f0f3d8a29604f0e1f2ef2089f497f614b1c94c7236
+SIZE (tensorflow/v1.3.0.tar.gz) = 70562
+SHA256 (tensorflow/3ea912eb05a4ce1bf598834eb67dbd74e426b882.zip) = bfdd113080d6da700b9bc3f15458069a88818a65ebf2a476fe281f084e1b6783
+SIZE (tensorflow/3ea912eb05a4ce1bf598834eb67dbd74e426b882.zip) = 3352636
+SHA256 (tensorflow/nvshmem_src_3.1.7-1.txz) = 2146ff231d9aadd2b11f324c142582f89e3804775877735dc507b4dfd70c788b
+SIZE (tensorflow/nvshmem_src_3.1.7-1.txz) = 3686400
+SHA256 (tensorflow/clang+llvm-18.1.8-x86_64-linux-gnu-ubuntu-18.04.tar.xz) = 54ec30358afcc9fb8aa74307db3046f5187f9fb89fb37064cdde906e062ebf36
+SIZE (tensorflow/clang+llvm-18.1.8-x86_64-linux-gnu-ubuntu-18.04.tar.xz) = 1044930068
+SHA256 (tensorflow/x86_64_ubuntu18_gcc8.4-0.2.1.tar.xz) = 9a06397f9dc4fe2237d126f964f1a3c942ce0036ba51976ea0d7fce0bc3e2fb7
+SIZE (tensorflow/x86_64_ubuntu18_gcc8.4-0.2.1.tar.xz) = 47419824
+SHA256 (tensorflow/cpython-3.11.13+20250808-x86_64-unknown-linux-gnu-install_only.tar.gz) = 3ad988c702cbb017fef1208d47dea4138a2e85fd0f7f01ec5e1e335e597131b9
+SIZE (tensorflow/cpython-3.11.13+20250808-x86_64-unknown-linux-gnu-install_only.tar.gz) = 46107448
+SHA256 (tensorflow/libtinfo.so.5) = 12cffc7274190ca1693a52ccd8303e719407e707c8557ddfb7eef81f208efaab
+SIZE (tensorflow/libtinfo.so.5) = 170784
+SHA256 (tensorflow/libtinfo5-copyright.txt) = 5e8ee902c8906ddb7779fd36dc9979cb08b51fbebf7c0b1a9aeb78af382af590
+SIZE (tensorflow/libtinfo5-copyright.txt) = 6366
diff --git a/science/py-tensorflow/files/bazel/fix-protobuf-java.patch b/science/py-tensorflow/files/bazel/fix-protobuf-java.patch
new file mode 100644
index 000000000000..12b4537b2aac
--- /dev/null
+++ b/science/py-tensorflow/files/bazel/fix-protobuf-java.patch
@@ -0,0 +1,35 @@
+--- a/bazel/private/java_proto_support.bzl
++++ b/bazel/private/java_proto_support.bzl
+@@ -6,8 +6,13 @@
+ # https://developers.google.com/open-source/licenses/bsd
+ """Support for compiling protoc generated Java code."""
+
+-load("@rules_java//java/private:proto_support.bzl", "compile", "merge") # buildifier: disable=bzl-visibility
++# Inline stubs for rules_java 7.x compatibility (proto_support.bzl added in rules_java 8.x)
++def compile(**kwargs):
++ return java_common.compile(**kwargs)
+
++def merge(providers, **kwargs):
++ return java_common.merge(providers, **kwargs)
++
+ # The provider is used to collect source and runtime jars in the `proto_library` dependency graph.
+ JavaProtoAspectInfo = provider("JavaProtoAspectInfo", fields = ["jars"])
+
+--- a/bazel/private/java_lite_proto_library.bzl
++++ b/bazel/private/java_lite_proto_library.bzl
+@@ -8,12 +8,14 @@
+
+ load("@rules_java//java/common:java_common.bzl", "java_common")
+ load("@rules_java//java/common:java_info.bzl", "JavaInfo")
+-load("@rules_java//java/common:proguard_spec_info.bzl", "ProguardSpecInfo")
+ load("//bazel/common:proto_common.bzl", "proto_common")
+ load("//bazel/common:proto_info.bzl", "ProtoInfo")
+ load("//bazel/private:java_proto_support.bzl", "JavaProtoAspectInfo", "java_compile_for_protos", "java_info_merge_for_protos")
+ load("//bazel/private:toolchain_helpers.bzl", "toolchains")
++# Inline ProguardSpecInfo stub for rules_java 7.x compatibility
++ProguardSpecInfo = provider("ProguardSpecInfo", fields = ["specs"])
+
++
+ _PROTO_TOOLCHAIN_ATTR = "_aspect_proto_toolchain_for_javalite"
+
+ _JAVA_LITE_PROTO_TOOLCHAIN = Label("//bazel/private:javalite_toolchain_type")
diff --git a/science/py-tensorflow/files/bazel/fix-pybind11_protobuf.patch b/science/py-tensorflow/files/bazel/fix-pybind11_protobuf.patch
index 80d30bf25333..ac3760842143 100644
--- a/science/py-tensorflow/files/bazel/fix-pybind11_protobuf.patch
+++ b/science/py-tensorflow/files/bazel/fix-pybind11_protobuf.patch
@@ -1,116 +1,79 @@
-diff --git a/pybind11_protobuf/BUILD b/pybind11_protobuf/BUILD
-index b62eb91..1856ad3 100644
--- a/pybind11_protobuf/BUILD
+++ b/pybind11_protobuf/BUILD
-@@ -61,9 +61,11 @@ pybind_library(
- "@com_google_absl//absl/container:flat_hash_map",
+@@ -46,7 +46,6 @@
"@com_google_absl//absl/strings",
"@com_google_absl//absl/types:optional",
-- "@com_google_protobuf//:proto_api",
"@com_google_protobuf//:protobuf",
-- ],
-+ ] + select({
-+ ":enable_pyproto_api_setting": ["@com_google_protobuf//:proto_api"],
-+ "//conditions:default": [],
-+ }),
+- "@com_google_protobuf//python:proto_api",
+ ],
)
- pybind_library(
-diff --git a/pybind11_protobuf/proto_cast_util.cc b/pybind11_protobuf/proto_cast_util.cc
-index 52c57c9..771e688 100644
---- a/pybind11_protobuf/proto_cast_util.cc
-+++ b/pybind11_protobuf/proto_cast_util.cc
-@@ -14,9 +14,12 @@
+@@ -75,7 +74,6 @@
+ "@com_google_absl//absl/synchronization",
+ "@com_google_absl//absl/types:optional",
+ "@com_google_protobuf//:protobuf",
+- "@com_google_protobuf//python:proto_api",
+ ],
+ )
- #include "google/protobuf/descriptor.pb.h"
- #include "google/protobuf/descriptor.h"
-+#include "google/protobuf/descriptor_database.h"
- #include "google/protobuf/dynamic_message.h"
+--- a/pybind11_protobuf/check_unknown_fields.h
++++ b/pybind11_protobuf/check_unknown_fields.h
+@@ -6,7 +6,11 @@
+ #include "absl/strings/string_view.h"
+ #include "absl/types/optional.h"
#include "google/protobuf/message.h"
-+#if defined(PYBIND11_PROTOBUF_ENABLE_PYPROTO_API)
++#if __has_include("python/google/protobuf/proto_api.h")
#include "python/google/protobuf/proto_api.h"
-+#endif
- #include "absl/container/flat_hash_map.h"
- #include "absl/strings/numbers.h"
- #include "absl/strings/str_replace.h"
-@@ -35,8 +38,12 @@ using ::google::protobuf::FileDescriptor;
- using ::google::protobuf::FileDescriptorProto;
- using ::google::protobuf::Message;
- using ::google::protobuf::MessageFactory;
-+#if defined(PYBIND11_PROTOBUF_ENABLE_PYPROTO_API)
- using ::google::protobuf::python::PyProto_API;
- using ::google::protobuf::python::PyProtoAPICapsuleName;
+#else
-+struct PyProto_API;
++namespace google::protobuf::python { struct PyProto_API; }
+#endif
- namespace pybind11_protobuf {
- namespace {
-@@ -321,6 +328,7 @@ py::object GlobalState::PyMessageInstance(const Descriptor* descriptor) {
- module_name + "?");
- }
+ namespace pybind11_protobuf::check_unknown_fields {
-+#if defined(PYBIND11_PROTOBUF_ENABLE_PYPROTO_API)
- std::pair<py::object, Message*> GlobalState::PyFastCppProtoMessageInstance(
- const Descriptor* descriptor) {
- assert(descriptor != nullptr);
-@@ -361,6 +369,7 @@ std::pair<py::object, Message*> GlobalState::PyFastCppProtoMessageInstance(
- }
- return {std::move(result), message};
- }
-+#endif
-
- // Create C++ DescriptorPools based on Python DescriptorPools.
- // The Python pool will provide message definitions when they are needed.
-@@ -500,6 +509,7 @@ class PythonDescriptorPoolWrapper {
- private:
- bool CopyToFileDescriptorProto(py::handle py_file_descriptor,
- FileDescriptorProto* output) {
-+#if defined(PYBIND11_PROTOBUF_ENABLE_PYPROTO_API)
- if (GlobalState::instance()->py_proto_api()) {
- try {
- py::object c_proto = py::reinterpret_steal<py::object>(
-@@ -518,6 +528,7 @@ class PythonDescriptorPoolWrapper {
- PyErr_Print();
- }
- }
+--- a/pybind11_protobuf/check_unknown_fields.cc
++++ b/pybind11_protobuf/check_unknown_fields.cc
+@@ -15,7 +15,9 @@
+ #include "google/protobuf/descriptor.h"
+ #include "google/protobuf/message.h"
+ #include "google/protobuf/unknown_field_set.h"
++#if __has_include("python/google/protobuf/proto_api.h")
+ #include "python/google/protobuf/proto_api.h"
+#endif
- py::object wire = py_file_descriptor.attr("serialized_pb");
- const char* bytes = PYBIND11_BYTES_AS_STRING(wire.ptr());
-@@ -561,6 +572,9 @@ void ImportProtoDescriptorModule(const Descriptor* descriptor) {
+ namespace pybind11_protobuf::check_unknown_fields {
+ namespace {
+@@ -103,11 +105,16 @@
+ unknown_field_number = unknown_field_set.field(0).number();
- const Message* PyProtoGetCppMessagePointer(py::handle src) {
- assert(PyGILState_Check());
-+#ifndef PYBIND11_PROTOBUF_ENABLE_PYPROTO_API
-+ return nullptr;
+ // Stop only if the extension is known by Python.
++#if __has_include("python/google/protobuf/proto_api.h")
+ if (py_proto_api->GetDefaultDescriptorPool()->FindExtensionByNumber(
+ unknown_field_parent_descriptor, unknown_field_number)) {
+ field_fqn_parts.resize(depth);
*** 3182 LINES SKIPPED ***