Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Mar 2026 19:07:43 +0000
From:      Yuri Victorovich <yuri@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 6dd59102c98f - main - science/py-tensorflow: update 2.13.=?utf-8?Q?1 =E2=86=92 2.?=21.0
Message-ID:  <69c826ff.1bfba.76a32af3@gitrepo.freebsd.org>

index | next in thread | raw e-mail

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 ***


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69c826ff.1bfba.76a32af3>