From nobody Sat Nov 01 18:01:41 2025 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4czQdx5qwrz6GMGN; Sat, 01 Nov 2025 18:01:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4czQdx48zsz46RJ; Sat, 01 Nov 2025 18:01:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1762020101; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tXmqGJKvdplCcafkII9Ug21ZvlkfYbDTKBYM0OikLow=; b=tYjV6CFRI9rHDt863xzxs+xHTRNT9pwPxwObmGCw9++0FNFyBed3kcTL07EIf3izllGmkC 7qLsOrD3o0qv0b2DfLbMFD0DVKp/gR/4EBuHURTAUF0sHtYXOPlEsCeynV/0lSv3HekoSW mEr90cAhF3mITHuJozSq12pQ9t+QyeGcLC4/wYcxYeaebu7rM7+HZrxEUC08JnTjNYz9k4 4iICxXL82gtb+cbWosz7Z1TmMhRC5dGo07WCZP1GUk8U1+2oVVpFU3CTN5E77KmbKpaXj3 oY+Q4TEMf/oW2UH+Xt06JjZp1cIGgjfs8ONs9zl2AbbC/XaSJKmleQtWtwbIHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1762020101; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tXmqGJKvdplCcafkII9Ug21ZvlkfYbDTKBYM0OikLow=; b=OL4Lt6f2k8tHzRB4adl+GcicAEI3c5Pd1I52bO99WlcHu08B0IguEXkWdzErrxWEA19ZZL 5Jdg3B9oWS2JokKzEZoNEUWZYY7J7cPVwatLLsFeeC9yR7jkiqqoUeI8hwcfg6YwMbdu0F oWfGSeEQVNopPV+kuqgSuG1X1HQClzxRZFSpCBHkZ+m1mDowEMPBTJdtZHp2cESNdWmYmp csA7l0uBc/G9KnM+8/HfDmKO9mgoJYJM7JBTEe0n8ZUADn5ZHkC13Jxd1EDLEc+6fi73JQ NGP6hDMLqQCsgOy589GNVAa59WDiDFdH5GjAvEHRYzxRhcer1U+hOh14CNPWZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1762020101; a=rsa-sha256; cv=none; b=oPGB6jdbem72mY3xLs++zDF1/3mpw/D5JiiKdQosqQsRetdbsTRO+DRwHZmUjM2L1Np43i WV/lkkvS3zPSJb0Dka6qKIWhKFcQYBJETrlj5oz+9SRQcxgAgzun16bQEoWoeJaZILg1Zc fV++okVjmADGGqL3+6qy5uWumlawIf1pLxJ/sgiwhPCYpVfS+dsYHZEaezmIRNYNx+0eY9 kMkmU3uqQIsrnghZsiNgd7gTA40iobFzu20BDltrjDFA35ARBNOONuo0G/xl9RYbFJIhbV vLcZREXOmG/qnw8SiwZJ9lrHjcko4oBLcjcPM+cxDqMFO/WFmf2oTWPWs4Xtfg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4czQdx3l5yzqn6; Sat, 01 Nov 2025 18:01:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5A1I1fYv060235; Sat, 1 Nov 2025 18:01:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5A1I1f7j060232; Sat, 1 Nov 2025 18:01:41 GMT (envelope-from git) Date: Sat, 1 Nov 2025 18:01:41 GMT Message-Id: <202511011801.5A1I1f7j060232@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Yuri Victorovich Subject: git: d98dbeb7d641 - main - =?utf-8?Q?math/py-keras: update 2.9.0 =E2=86=92 3.12.0?= List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-all@freebsd.org Sender: owner-dev-commits-ports-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuri X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d98dbeb7d6412c8947b6823dd5db470d89051f50 Auto-Submitted: auto-generated The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=d98dbeb7d6412c8947b6823dd5db470d89051f50 commit d98dbeb7d6412c8947b6823dd5db470d89051f50 Author: Yuri Victorovich AuthorDate: 2025-11-01 18:01:07 +0000 Commit: Yuri Victorovich CommitDate: 2025-11-01 18:01:38 +0000 math/py-keras: update 2.9.0 → 3.12.0 --- math/py-keras/Makefile | 117 +---- math/py-keras/Makefile.MASTER_SITES | 5 - math/py-keras/distinfo | 10 +- math/py-keras/files/bazelrc | 18 - math/py-keras/files/freebsd/BUILD | 88 ---- .../py-keras/files/freebsd/cc_toolchain_config.bzl | 287 ----------- math/py-keras/files/patch-.bazelrc | 13 - math/py-keras/files/patch-WORKSPACE | 57 -- math/py-keras/files/patch-keras_protobuf_BUILD | 11 - .../files/patch-keras_protobuf_protobuf.bzl | 220 -------- ...keras_tools_pip__package_build__pip__package.sh | 20 - math/py-keras/files/patch-pyproject.toml | 20 + math/py-keras/files/patch-third__party_BUILD | 19 - math/py-keras/pkg-descr | 2 +- math/py-keras/pkg-plist | 572 --------------------- 15 files changed, 47 insertions(+), 1412 deletions(-) diff --git a/math/py-keras/Makefile b/math/py-keras/Makefile index b6dc701fdfc6..bdbf443eb9ad 100644 --- a/math/py-keras/Makefile +++ b/math/py-keras/Makefile @@ -1,107 +1,36 @@ PORTNAME= keras -DISTVERSION= 2.9.0 -PORTREVISION= 2 -CATEGORIES= math # machine-learning +DISTVERSION= 3.12.0 +CATEGORIES= math python # machine-learning +MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= yuri@FreeBSD.org -COMMENT= Deep learning library for Python +COMMENT= Multi-backend deep learning library for Python WWW= https://keras.io/ -LICENSE= MIT -LICENSE_FILE= ${WRKSRC}/LICENSE +LICENSE= APACHE20 +BUILD_DEPENDS= ${PY_SETUPTOOLS} \ + ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} RUN_DEPENDS= ${PYNUMPY} \ - ${PYTHON_PKGNAMEPREFIX}absl-py>=1.0.0:devel/py-absl-py \ - ${PYTHON_PKGNAMEPREFIX}h5py>=0:science/py-h5py@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pandas>=1.3.5:math/py-pandas@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pillow>=9.2.0:graphics/py-pillow@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}keras-preprocessing>=1.1.0:math/py-keras-preprocessing@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}scipy>=0.14:science/py-scipy@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}six>=1.9.0:devel/py-six@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}protobuf>=3.13.0:devel/py-protobuf@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}keras-applications>=1.0.8:math/py-keras-applications@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}keras-preprocessing>=1.1.1:math/py-keras-preprocessing@${PY_FLAVOR} - -BUILD_DEPENDS= ${RUN_DEPENDS} \ - ${PYTHON_PKGNAMEPREFIX}tensorflow>=2.9.0:science/py-tensorflow@${PY_FLAVOR} \ - bazel:devel/bazel5 \ - bash:shells/bash + ${PYTHON_PKGNAMEPREFIX}absl-py>0:devel/py-absl-py@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}h5py>0:science/py-h5py@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}ml-dtypes>0:math/py-ml-dtypes@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}namex>0:devel/py-namex@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}optree>0:devel/py-optree@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}rich>0:textproc/py-rich@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}tensorflow>=2.12.0:science/py-tensorflow@${PY_FLAVOR} +RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}scipy>=1.0:science/py-scipy@${PY_FLAVOR} + +# Extra dependencies for optional backends (jax, torch) +# openvino backend not available as FreeBSD port +EXTRA_DEPENDS= ${PYTHON_PKGNAMEPREFIX}jax>0:math/py-jax@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytorch>0:misc/py-pytorch@${PY_FLAVOR} USES= python +USE_PYTHON= autoplist concurrent pep517 -USE_GITHUB= yes -GH_ACCOUNT= keras-team -GH_PROJECT= ${PORTNAME} -GH_TAGNAME= r2.9 - -.include "Makefile.MASTER_SITES" - -post-patch: - # don't cache stuff to $HOME/.cache/ - @${MKDIR} ${WRKDIR}/bazel-cache - @${MKDIR} ${WRKDIR}/bazel-dist - -.for file in ${DISTFILES:C/\:(.*)//} - @${ECHO} "Moving ${file} to ${WRKDIR}/bazel-dist" - @${CP} ${DISTDIR}/${DIST_SUBDIR}/${file} ${WRKDIR}/bazel-dist -.endfor - - # place the generate wheel file here - @${MKDIR} ${WRKDIR}/whl - - # These files are from my tensorflow port - # if both make it into the port they can be shared - - # copy the toolchain over - @${CP} -R ${PATCHDIR}/freebsd \ - ${WRKSRC}/ - - @${CP} ${PATCHDIR}/bazelrc \ - ${WRKSRC}/ - - #setup localbase - @${REINPLACE_CMD} "s#%%LOCALBASE%%#${LOCALBASE}#" \ - ${WRKSRC}/freebsd/cc_toolchain_config.bzl \ - ${WRKSRC}/.bazelrc \ - ${WRKSRC}/bazelrc - - # setup our bazelrc - @${REINPLACE_CMD} "s#%%BAZEL_DIR%%#${WRKDIR}#" ${WRKSRC}/bazelrc - @${REINPLACE_CMD} "s#%%BAZEL_DIST%%#${WRKDIR}#" ${WRKSRC}/bazelrc - @${REINPLACE_CMD} "s#%%PATH%%#${PATH}#" ${WRKSRC}/bazelrc - @${REINPLACE_CMD} "s#%%PYTHON%%#${PYTHON_CMD}#" ${WRKSRC}/.bazelrc - - # bazel is horrible, it will won't propagated enviroment variable throughout the build - # and will ignore variables set by us. This causing a lot of issues, especially with python - # auto generated files will sometimes ignore our py_runtime toolchain and our PYTHON_BIN_PATH - # causing it to still set the shebang line to bin/env python3. Even on the github page the solution - # has been to use a symlink to work around so do that here as a fix - @${MKDIR} ${WRKDIR}/.bin - ${LN} -s ${PYTHON_CMD} ${WRKDIR}/.bin/python3 - - @${REINPLACE_CMD} "s#%%PYTHON%%#${PYTHON_CMD}#" \ - ${WRKSRC}/keras/tools/pip_package/build_pip_package.sh - -do-build: - @cd ${WRKSRC} && ${SETENV} \ - PYTHON_BIN_PATH=${PYTHON_CMD} \ - PYTHON_LIB_PATH="${PYTHON_SITELIBDIR}" \ - PYTHON_BINARY=${PYTHON_CMD} \ - bazel --bazelrc="${WRKSRC}/bazelrc" \ - build --config=freebsd \ - //keras/tools/pip_package:build_pip_package - -# @${REINPLACE_CMD} "s#python#${PYTHON_CMD}#" \ -# ${WRKSRC}/bazel-bin/keras/tools/pip_package/build_pip_package - - @cd ${WRKSRC} && \ - bazel-bin/keras/tools/pip_package/build_pip_package \ - ${WRKDIR}/whl - -do-install: - @${MKDIR} ${STAGEDIR}/${PYTHON_SITELIBDIR} - - ${UNZIP_NATIVE_CMD} -d ${STAGEDIR}/${PYTHON_SITELIBDIR} ${WRKDIR}/whl/${PORTNAME}-${PORTVERSION}-*.whl +NO_ARCH= yes .include diff --git a/math/py-keras/Makefile.MASTER_SITES b/math/py-keras/Makefile.MASTER_SITES deleted file mode 100644 index cd5c112cf8ea..000000000000 --- a/math/py-keras/Makefile.MASTER_SITES +++ /dev/null @@ -1,5 +0,0 @@ -DISTFILES+= b1c40e1de81913a3c40e5948f78719c28152486d.zip:rulescc \ - 7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip:javarules - -MASTER_SITES+= https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/:rulescc \ - https://github.com/bazelbuild/rules_java/archive/:javarules diff --git a/math/py-keras/distinfo b/math/py-keras/distinfo index 865f68978d88..71f79dad70e0 100644 --- a/math/py-keras/distinfo +++ b/math/py-keras/distinfo @@ -1,7 +1,3 @@ -TIMESTAMP = 1662706867 -SHA256 (b1c40e1de81913a3c40e5948f78719c28152486d.zip) = d0c573b94a6ef20ef6ff20154a23d0efcb409fb0e1ff0979cec318dfe42f0cdd -SIZE (b1c40e1de81913a3c40e5948f78719c28152486d.zip) = 201360 -SHA256 (7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip) = bc81f1ba47ef5cc68ad32225c3d0e70b8c6f6077663835438da8d5733f917598 -SIZE (7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip) = 9422 -SHA256 (keras-team-keras-2.9.0-r2.9_GH0.tar.gz) = 90bded417306a1fad2d7088009d87972afbac8d6eee29d3f24711df6994ac51a -SIZE (keras-team-keras-2.9.0-r2.9_GH0.tar.gz) = 2142794 +TIMESTAMP = 1730473740 +SHA256 (keras-3.12.0.tar.gz) = 536e3f8385a05ae04e82e08715a1a59988578087e187b04cb0a6fad11743f07f +SIZE (keras-3.12.0.tar.gz) = 1129187 diff --git a/math/py-keras/files/bazelrc b/math/py-keras/files/bazelrc deleted file mode 100644 index f1efb9602f3e..000000000000 --- a/math/py-keras/files/bazelrc +++ /dev/null @@ -1,18 +0,0 @@ -startup --output_user_root="%%BAZEL_DIR%%/.cache/" - -# make bazel only fetch distfiles from the cache -fetch --repository_cache="%%BAZEL_DIR%%/bazel-cache/" --distdir="%%BAZEL_DIST%%/bazel-dist/" -build --repository_cache="%%BAZEL_DIR%%/bazel-cache/" --distdir="%%BAZEL_DIST%%/bazel-dist/" - -build --define=PREFIX=%%LOCALBASE%% -build --define=LIBDIR=%%LOCALBASE%%/lib -build --define=INCLUDEDIR=%%LOCALBASE%%/include -build --define=PROTOBUF_INCLUDE_PATH=%%LOCALBASE%%/include - -build --extra_toolchains=//freebsd:cc-toolchain-freebsd - -# for python -build --action_env=PATH=%%PATH%% -build --host_action_env=PATH=%%PATH%% - -build --config=freebsd diff --git a/math/py-keras/files/freebsd/BUILD b/math/py-keras/files/freebsd/BUILD deleted file mode 100644 index 4096b1c74d42..000000000000 --- a/math/py-keras/files/freebsd/BUILD +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright 2018 The Bazel Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# This becomes the BUILD file for @local_config_cc// under FreeBSD and OpenBSD. -load(":cc_toolchain_config.bzl", "cc_toolchain_config") -load("@rules_cc//cc:defs.bzl", "cc_library", "cc_toolchain", "cc_toolchain_suite") -load("@bazel_tools//tools/python:toolchain.bzl", "py_runtime_pair") - -package(default_visibility = ["//visibility:public"]) -cc_library( - name = "malloc", -) -filegroup( - name = "empty", - srcs = [], -) - -# Hardcoded toolchain, legacy behaviour. -cc_toolchain_suite( - name = "freebsd_clang", - toolchains = { - "k8": ":cc-compiler-freebsd", - "freebsd": ":cc-compiler-freebsd", - }, -) - -cc_toolchain( - name = "cc-compiler-freebsd", - all_files = ":empty", - ar_files = ":empty", - as_files = ":empty", - compiler_files = ":empty", - dwp_files = ":empty", - linker_files = ":empty", - objcopy_files = ":empty", - strip_files = ":empty", - supports_param_files = 0, - toolchain_config = ":local_freebsd", - toolchain_identifier = "local_freebsd", -) -cc_toolchain_config( - name = "local_freebsd", - cpu = "k8", -) - -toolchain( - name = "cc-toolchain-freebsd", - exec_compatible_with = [ - "@platforms//cpu:x86_64", - "@platforms//os:freebsd", - ], - target_compatible_with = [ - "@platforms//cpu:x86_64", - "@platforms//os:freebsd", - ], - toolchain = ":cc-compiler-freebsd", - toolchain_type = "@bazel_tools//tools/cpp:toolchain_type", -) - -py_runtime( - name = "freebsd_python", - interpreter_path = "/usr/local/bin/python3.9", - python_version = "PY3", - visibility = ["//visibility:public"], -) - -py_runtime_pair( - name = "bsd_py_runtime_pair", - py2_runtime = None, - py3_runtime = ":freebsd_python", -) - -toolchain( - name = "freebsd_py_toolchain", - toolchain = ":bsd_py_runtime_pair", - toolchain_type = "@bazel_tools//tools/python:toolchain_type", -) - diff --git a/math/py-keras/files/freebsd/cc_toolchain_config.bzl b/math/py-keras/files/freebsd/cc_toolchain_config.bzl deleted file mode 100644 index 51f2393e7bd2..000000000000 --- a/math/py-keras/files/freebsd/cc_toolchain_config.bzl +++ /dev/null @@ -1,287 +0,0 @@ -# Copyright 2019 The Bazel Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -"""A Starlark cc_toolchain configuration rule for FreeBSD and OpenBSD.""" -load( - "@bazel_tools//tools/cpp:cc_toolchain_config_lib.bzl", - "action_config", - "feature", - "flag_group", - "flag_set", - "tool", - "tool_path", - "with_feature_set", -) - -load("@bazel_tools//tools/build_defs/cc:action_names.bzl", "ACTION_NAMES") -all_compile_actions = [ - ACTION_NAMES.c_compile, - ACTION_NAMES.cpp_compile, - ACTION_NAMES.linkstamp_compile, - ACTION_NAMES.assemble, - ACTION_NAMES.preprocess_assemble, - ACTION_NAMES.cpp_header_parsing, - ACTION_NAMES.cpp_module_compile, - ACTION_NAMES.cpp_module_codegen, - ACTION_NAMES.clif_match, - ACTION_NAMES.lto_backend, -] -all_cpp_compile_actions = [ - ACTION_NAMES.cpp_compile, - ACTION_NAMES.linkstamp_compile, - ACTION_NAMES.cpp_header_parsing, - ACTION_NAMES.cpp_module_compile, - ACTION_NAMES.cpp_module_codegen, - ACTION_NAMES.clif_match, -] -all_link_actions = [ - ACTION_NAMES.cpp_link_executable, - ACTION_NAMES.cpp_link_dynamic_library, - ACTION_NAMES.cpp_link_nodeps_dynamic_library, -] -def _impl(ctx): - cpu = ctx.attr.cpu - is_bsd = cpu == "k8" or cpu == "freebsd" or cpu == "openbsd" - compiler = "compiler" - toolchain_identifier = "local_freebsd" - host_system_name = "local" if is_bsd else "armeabi-v7a" - target_system_name = "local" if is_bsd else "armeabi-v7a" - target_libc = "local" if is_bsd else "armeabi-v7a" - abi_version = "local" if is_bsd else "armeabi-v7a" - abi_libc_version = "local" if is_bsd else "armeabi-v7a" - objcopy_embed_data_action = action_config( - action_name = "objcopy_embed_data", - enabled = True, - tools = [tool(path = "/usr/bin/objcopy")], - ) - action_configs = [objcopy_embed_data_action] if is_bsd else [] - default_link_flags_feature = feature( - name = "default_link_flags", - enabled = True, - flag_sets = [ - flag_set( - actions = all_link_actions, - flag_groups = [ - flag_group( - flags = [ - "-Wl,-undefined,dynamic_lookup", - "-lc++", - "-Wl,-z,relro,-z,now", - "-no-canonical-prefixes", - "-L%%LOCALBASE%%/lib", - ], - ), - ], - ), - flag_set( - actions = all_link_actions, - flag_groups = [flag_group(flags = ["-Wl,--gc-sections"])], - with_features = [with_feature_set(features = ["opt"])], - ), - ], - ) - unfiltered_compile_flags_feature = feature( - name = "unfiltered_compile_flags", - enabled = True, - flag_sets = [ - flag_set( - actions = all_compile_actions, - flag_groups = [ - flag_group( - flags = [ - "-no-canonical-prefixes", - "-Wno-builtin-macro-redefined", - "-D__DATE__=\"redacted\"", - "-D__TIMESTAMP__=\"redacted\"", - "-D__TIME__=\"redacted\"", - ], - ), - ], - ), - ], - ) - supports_pic_feature = feature(name = "supports_pic", enabled = True) - default_compile_flags_feature = feature( - name = "default_compile_flags", - enabled = True, - flag_sets = [ - flag_set( - actions = all_compile_actions, - flag_groups = [ - flag_group( - flags = [ - "-U_FORTIFY_SOURCE", - "-D_FORTIFY_SOURCE=1", - "-fstack-protector", - "-Wall", - "-fno-omit-frame-pointer", - ], - ), - ], - ), - flag_set( - actions = all_compile_actions, - flag_groups = [flag_group(flags = ["-g"])], - with_features = [with_feature_set(features = ["dbg"])], - ), - flag_set( - actions = all_compile_actions, - flag_groups = [ - flag_group( - flags = [ - "-g0", - "-O2", - "-DNDEBUG", - "-ffunction-sections", - "-fdata-sections", - ], - ), - ], - with_features = [with_feature_set(features = ["opt"])], - ), - flag_set( - actions = all_cpp_compile_actions + [ACTION_NAMES.lto_backend], - flag_groups = [flag_group(flags = ["-std=c++17"])], - ), - ], - ) - opt_feature = feature(name = "opt") - supports_dynamic_linker_feature = feature(name = "supports_dynamic_linker", enabled = True) - objcopy_embed_flags_feature = feature( - name = "objcopy_embed_flags", - enabled = True, - flag_sets = [ - flag_set( - actions = ["objcopy_embed_data"], - flag_groups = [flag_group(flags = ["-I", "binary"])], - ), - ], - ) - dbg_feature = feature(name = "dbg") - user_compile_flags_feature = feature( - name = "user_compile_flags", - enabled = True, - flag_sets = [ - flag_set( - actions = all_compile_actions, - flag_groups = [ - flag_group( - flags = ["%{user_compile_flags}"], - iterate_over = "user_compile_flags", - expand_if_available = "user_compile_flags", - ), - ], - ), - ], - ) - sysroot_feature = feature( - name = "sysroot", - enabled = True, - flag_sets = [ - flag_set( - actions = [ - ACTION_NAMES.c_compile, - ACTION_NAMES.cpp_compile, - ACTION_NAMES.linkstamp_compile, - ACTION_NAMES.preprocess_assemble, - ACTION_NAMES.cpp_header_parsing, - ACTION_NAMES.cpp_module_compile, - ACTION_NAMES.cpp_module_codegen, - ACTION_NAMES.clif_match, - ACTION_NAMES.lto_backend, - ] + all_link_actions, - flag_groups = [ - flag_group( - flags = ["--sysroot=%{sysroot}"], - expand_if_available = "sysroot", - ), - ], - ), - ], - ) - if is_bsd: - features = [ - default_compile_flags_feature, - default_link_flags_feature, - supports_dynamic_linker_feature, - supports_pic_feature, - objcopy_embed_flags_feature, - opt_feature, - dbg_feature, - user_compile_flags_feature, - sysroot_feature, - unfiltered_compile_flags_feature, - ] - else: - features = [supports_dynamic_linker_feature, supports_pic_feature] - if (is_bsd): - cxx_builtin_include_directories = ["/usr/lib/clang/13.0.0/include", "/usr/include/c++/v1", "/usr/local/include", "/usr/include"] - else: - cxx_builtin_include_directories = [] - if is_bsd: - tool_paths = [ - tool_path(name = "ar", path = "/usr/bin/ar"), - tool_path(name = "cpp", path = "/usr/bin/clang-cpp"), - tool_path(name = "dwp", path = "/usr/bin/dwp"), - tool_path(name = "gcc", path = "/usr/bin/clang"), - tool_path(name = "gcov", path = "/usr/bin/gcov"), - tool_path(name = "ld", path = "/usr/bin/ld"), - tool_path(name = "nm", path = "/usr/bin/nm"), - tool_path(name = "objcopy", path = "/usr/bin/objcopy"), - tool_path(name = "objdump", path = "/usr/bin/objdump"), - tool_path(name = "strip", path = "/usr/bin/strip"), - ] - else: - tool_paths = [ - tool_path(name = "ar", path = "/bin/false"), - tool_path(name = "cpp", path = "/bin/false"), - tool_path(name = "dwp", path = "/bin/false"), - tool_path(name = "gcc", path = "/bin/false"), - tool_path(name = "gcov", path = "/bin/false"), - tool_path(name = "ld", path = "/bin/false"), - tool_path(name = "nm", path = "/bin/false"), - tool_path(name = "objcopy", path = "/bin/false"), - tool_path(name = "objdump", path = "/bin/false"), - tool_path(name = "strip", path = "/bin/false"), - ] - out = ctx.actions.declare_file(ctx.label.name) - ctx.actions.write(out, "Fake executable") - return [ - cc_common.create_cc_toolchain_config_info( - ctx = ctx, - features = features, - action_configs = action_configs, - cxx_builtin_include_directories = cxx_builtin_include_directories, - toolchain_identifier = toolchain_identifier, - host_system_name = host_system_name, - target_system_name = target_system_name, - target_cpu = cpu, - target_libc = target_libc, - compiler = compiler, - abi_version = abi_version, - abi_libc_version = abi_libc_version, - tool_paths = tool_paths, - ), - DefaultInfo( - executable = out, - ), - ] - -cc_toolchain_config = rule( - implementation = _impl, - attrs = { - "cpu": attr.string(mandatory = True), - }, - provides = [CcToolchainConfigInfo], - executable = True, -) diff --git a/math/py-keras/files/patch-.bazelrc b/math/py-keras/files/patch-.bazelrc deleted file mode 100644 index 31d69a3184cb..000000000000 --- a/math/py-keras/files/patch-.bazelrc +++ /dev/null @@ -1,13 +0,0 @@ ---- .bazelrc.orig 2022-04-22 17:34:55 UTC -+++ .bazelrc -@@ -106,7 +106,9 @@ build:macos --define=PREFIX=/usr - build:macos --define=LIBDIR=$(PREFIX)/lib - build:macos --define=INCLUDEDIR=$(PREFIX)/include - build:macos --define=PROTOBUF_INCLUDE_PATH=$(PREFIX)/include --# TF_SYSTEM_LIBS do not work on windows. -+ -+build:freebsd --define force_libcpp=enabled -+build:freebsd --action_env=CXXFLAGS=-stdlib=libc++ - - # On windows, we still link everything into a single DLL. - build:windows --config=monolithic diff --git a/math/py-keras/files/patch-WORKSPACE b/math/py-keras/files/patch-WORKSPACE deleted file mode 100644 index c4ce74c61bd8..000000000000 --- a/math/py-keras/files/patch-WORKSPACE +++ /dev/null @@ -1,57 +0,0 @@ ---- WORKSPACE.orig 2022-09-08 09:13:13 UTC -+++ WORKSPACE -@@ -1,54 +1 @@ - workspace(name = "org_keras") -- --load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") -- --# Needed by protobuf --load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") --http_archive( -- name = "bazel_skylib", -- url = "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.1/bazel-skylib-1.0.1.tar.gz", -- sha256 = "f1c8360c01fcf276778d3519394805dc2a71a64274a3a0908bc9edff7b5aebc8", --) --load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace") --bazel_skylib_workspace() -- --# Needed by protobuf --http_archive( -- name = "six_archive", -- build_file = "//third_party:six.BUILD", -- sha256 = "d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73", -- strip_prefix = "six-1.12.0", -- urls = [ -- "http://mirror.bazel.build/pypi.python.org/packages/source/s/six/six-1.12.0.tar.gz", -- "https://pypi.python.org/packages/source/s/six/six-1.12.0.tar.gz", # 2018-12-10 -- ], --) -- --bind( -- name = "six", -- actual = "@six_archive//:six", --) -- --http_archive( -- name = "com_google_protobuf", -- sha256 = "1fbf1c2962af287607232b2eddeaec9b4f4a7a6f5934e1a9276e9af76952f7e0", -- strip_prefix = "protobuf-3.9.2", -- urls = ["https://github.com/protocolbuffers/protobuf/archive/v3.9.2.tar.gz"], --) -- --# ZLIB --# Need by com_google_protobuf. Note that the original URL from zlib side is not --# available for now. We need to use bazel mirror as a backup. --http_archive( -- name = "zlib", -- build_file = "@com_google_protobuf//:third_party/zlib.BUILD", -- sha256 = "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1", -- strip_prefix = "zlib-1.2.11", -- urls = [ -- "https://mirror.bazel.build/zlib.net/zlib-1.2.11.tar.gz", -- "https://zlib.net/zlib-1.2.11.tar.gz", -- ], --) -- --load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") --protobuf_deps() diff --git a/math/py-keras/files/patch-keras_protobuf_BUILD b/math/py-keras/files/patch-keras_protobuf_BUILD deleted file mode 100644 index e8ba4c72a808..000000000000 --- a/math/py-keras/files/patch-keras_protobuf_BUILD +++ /dev/null @@ -1,11 +0,0 @@ ---- keras/protobuf/BUILD.orig 2022-09-08 09:14:15 UTC -+++ keras/protobuf/BUILD -@@ -1,7 +1,7 @@ - # Description: - # Contains Keras protobufs - --load("@com_google_protobuf//:protobuf.bzl", "py_proto_library") -+load("//third_party:protobuf.bzl", "py_proto_library") - - package( - default_visibility = [ diff --git a/math/py-keras/files/patch-keras_protobuf_protobuf.bzl b/math/py-keras/files/patch-keras_protobuf_protobuf.bzl deleted file mode 100644 index 0ffcff335127..000000000000 --- a/math/py-keras/files/patch-keras_protobuf_protobuf.bzl +++ /dev/null @@ -1,220 +0,0 @@ ---- /dev/null 2022-09-08 10:18:38.049755000 +0100 -+++ third_party/protobuf.bzl 2022-09-08 10:17:38.840977000 +0100 -@@ -0,0 +1,217 @@ -+def _GetPath(ctx, path): -+ if ctx.label.workspace_root: -+ return ctx.label.workspace_root + "/" + path -+ else: -+ return path -+ -+def _IsNewExternal(ctx): -+ # Bazel 0.4.4 and older have genfiles paths that look like: -+ # bazel-out/local-fastbuild/genfiles/external/repo/foo -+ # After the exec root rearrangement, they look like: -+ # ../repo/bazel-out/local-fastbuild/genfiles/foo -+ return ctx.label.workspace_root.startswith("../") -+ -+def _GenDir(ctx): -+ if _IsNewExternal(ctx): -+ # We are using the fact that Bazel 0.4.4+ provides repository-relative paths -+ # for ctx.genfiles_dir. -+ return ctx.genfiles_dir.path + ( -+ "/" + ctx.attr.includes[0] if ctx.attr.includes and ctx.attr.includes[0] else "" -+ ) -+ -+ # This means that we're either in the old version OR the new version in the local repo. -+ # Either way, appending the source path to the genfiles dir works. -+ return ctx.var["GENDIR"] + "/" + _SourceDir(ctx) -+ -+def _SourceDir(ctx): -+ if not ctx.attr.includes: -+ return ctx.label.workspace_root -+ if not ctx.attr.includes[0]: -+ return _GetPath(ctx, ctx.label.package) -+ if not ctx.label.package: -+ return _GetPath(ctx, ctx.attr.includes[0]) -+ return _GetPath(ctx, ctx.label.package + "/" + ctx.attr.includes[0]) -+ -+def _PyOuts(srcs, use_grpc_plugin = False): -+ ret = [s[:-len(".proto")] + "_pb2.py" for s in srcs] -+ if use_grpc_plugin: -+ ret += [s[:-len(".proto")] + "_pb2_grpc.py" for s in srcs] -+ return ret -+ -+def _proto_gen_impl(ctx): -+ """General implementation for generating protos""" -+ srcs = ctx.files.srcs -+ deps = [] -+ deps += ctx.files.srcs -+ source_dir = _SourceDir(ctx) -+ gen_dir = _GenDir(ctx) -+ if source_dir: -+ import_flags = ["-I" + source_dir, "-I" + gen_dir] -+ else: -+ import_flags = ["-I."] -+ -+ for dep in ctx.attr.deps: -+ import_flags += dep.proto.import_flags -+ deps += dep.proto.deps -+ import_flags = depset(import_flags).to_list() -+ deps = depset(deps).to_list() -+ -+ args = [] -+ if ctx.attr.gen_cc: -+ args += ["--cpp_out=" + gen_dir] -+ if ctx.attr.gen_py: -+ args += ["--python_out=" + gen_dir] -+ -+ inputs = srcs + deps -+ tools = [ctx.executable.protoc] -+ if ctx.executable.plugin: -+ plugin = ctx.executable.plugin -+ lang = ctx.attr.plugin_language -+ if not lang and plugin.basename.startswith("protoc-gen-"): -+ lang = plugin.basename[len("protoc-gen-"):] -+ if not lang: -+ fail("cannot infer the target language of plugin", "plugin_language") -+ -+ outdir = gen_dir -+ if ctx.attr.plugin_options: -+ outdir = ",".join(ctx.attr.plugin_options) + ":" + outdir -+ args += ["--plugin=protoc-gen-%s=%s" % (lang, plugin.path)] -+ args += ["--%s_out=%s" % (lang, outdir)] -+ tools.append(plugin) -+ -+ if args: -+ ctx.actions.run( -+ inputs = inputs, -+ outputs = ctx.outputs.outs, -+ arguments = args + import_flags + [s.path for s in srcs], -+ executable = ctx.executable.protoc, -+ mnemonic = "ProtoCompile", -+ tools = tools, -+ use_default_shell_env = True, -+ ) -+ -+ return struct( -+ proto = struct( -+ srcs = srcs, -+ import_flags = import_flags, -+ deps = deps, -+ ), -+ ) -+ -+proto_gen = rule( -+ attrs = { -+ "srcs": attr.label_list(allow_files = True), -+ "deps": attr.label_list(providers = ["proto"]), -+ "includes": attr.string_list(), -+ "protoc": attr.label( -+ cfg = "host", -+ executable = True, -+ allow_single_file = True, -+ mandatory = True, -+ ), -+ "plugin": attr.label( -+ cfg = "host", -+ allow_files = True, -+ executable = True, -+ ), -+ "plugin_language": attr.string(), -+ "plugin_options": attr.string_list(), -+ "gen_cc": attr.bool(), -+ "gen_py": attr.bool(), -+ "outs": attr.output_list(), -+ }, -+ output_to_genfiles = True, -+ implementation = _proto_gen_impl, -+) -+"""Generates codes from Protocol Buffers definitions. -+ -+This rule helps you to implement Skylark macros specific to the target -+language. You should prefer more specific `cc_proto_library `, -+`py_proto_library` and others unless you are adding such wrapper macros. -+ -+Args: -+ srcs: Protocol Buffers definition files (.proto) to run the protocol compiler -+ against. -+ deps: a list of dependency labels; must be other proto libraries. -+ includes: a list of include paths to .proto files. -+ protoc: the label of the protocol compiler to generate the sources. -+ plugin: the label of the protocol compiler plugin to be passed to the protocol -+ compiler. -+ plugin_language: the language of the generated sources -+ plugin_options: a list of options to be passed to the plugin -+ gen_cc: generates C++ sources in addition to the ones from the plugin. -+ gen_py: generates Python sources in addition to the ones from the plugin. -+ outs: a list of labels of the expected outputs from the protocol compiler. -+""" -+ -+def py_proto_library( -+ name, -+ srcs = [], -+ deps = [], -+ py_libs = [], -+ py_extra_srcs = [], -+ include = None, -+ default_runtime = None, -+ protoc = "//third_party:protoc", -+ use_grpc_plugin = False, -+ **kwargs): -+ """Bazel rule to create a Python protobuf library from proto source files -+ -+ NOTE: the rule is only an internal workaround to generate protos. The -+ interface may change and the rule may be removed when bazel has introduced -+ the native rule. -+ -+ Args: -+ name: the name of the py_proto_library. -+ srcs: the .proto files of the py_proto_library. -+ deps: a list of dependency labels; must be py_proto_library. -+ py_libs: a list of other py_library targets depended by the generated -+ py_library. -+ py_extra_srcs: extra source files that will be added to the output -+ py_library. This attribute is used for internal bootstrapping. -+ include: a string indicating the include path of the .proto files. -+ default_runtime: the implicitly default runtime which will be depended on by -+ the generated py_library target. -+ protoc: the label of the protocol compiler to generate the sources. -+ use_grpc_plugin: a flag to indicate whether to call the Python C++ plugin -+ when processing the proto files. -+ **kwargs: other keyword arguments that are passed to py_library. -+ -+ """ -+ outs = _PyOuts(srcs, use_grpc_plugin) -+ -+ includes = [] -+ if include != None: -+ includes = [include] -+ -+ grpc_python_plugin = None -+ if use_grpc_plugin: -+ grpc_python_plugin = "//external:grpc_python_plugin" -+ # Note: Generated grpc code depends on Python grpc module. This dependency -+ # is not explicitly listed in py_libs. Instead, host system is assumed to -+ # have grpc installed. -+ -+ proto_gen( -+ name = name + "_genproto", -+ srcs = srcs, -+ deps = [s + "_genproto" for s in deps], -+ includes = includes, -+ protoc = protoc, -+ gen_py = 1, -+ outs = outs, -+ visibility = ["//visibility:public"], -+ plugin = grpc_python_plugin, -+ plugin_language = "grpc", -+ ) -+ -+ if default_runtime and not default_runtime in py_libs + deps: -+ py_libs = py_libs + [default_runtime] -+ -+ native.py_library( -+ name = name, -+ srcs = outs + py_extra_srcs, -+ deps = py_libs + deps, -+ imports = includes, -+ **kwargs -+ ) -+ diff --git a/math/py-keras/files/patch-keras_tools_pip__package_build__pip__package.sh b/math/py-keras/files/patch-keras_tools_pip__package_build__pip__package.sh deleted file mode 100644 index cdce5d8b7fce..000000000000 --- a/math/py-keras/files/patch-keras_tools_pip__package_build__pip__package.sh +++ /dev/null @@ -1,20 +0,0 @@ ---- keras/tools/pip_package/build_pip_package.sh.orig 2022-04-22 17:34:55 UTC -+++ keras/tools/pip_package/build_pip_package.sh -@@ -39,7 +39,7 @@ function prepare_src() { - - # Verifies all expected files are in pip. - # Creates init files in all directory in pip. -- python keras/tools/pip_package/create_pip_helper.py --pip-root "${TMPDIR}/keras/" --bazel-root "./keras" -+ %%PYTHON%% keras/tools/pip_package/create_pip_helper.py --pip-root "${TMPDIR}/keras/" --bazel-root "./keras" - } - - function build_wheel() { -@@ -54,7 +54,7 @@ function build_wheel() { - - pushd ${TMPDIR} > /dev/null - echo $(date) : "=== Building wheel" -- "${PYTHON_BIN_PATH:-python}" setup.py bdist_wheel --universal --project_name $PROJECT_NAME -+ %%PYTHON%% setup.py bdist_wheel --universal --project_name $PROJECT_NAME - mkdir -p ${DEST} - cp dist/* ${DEST} - popd > /dev/null diff --git a/math/py-keras/files/patch-pyproject.toml b/math/py-keras/files/patch-pyproject.toml new file mode 100644 index 000000000000..16e73477ceb8 --- /dev/null +++ b/math/py-keras/files/patch-pyproject.toml @@ -0,0 +1,20 @@ +--- pyproject.toml.orig 2025-11-01 14:52:19 UTC ++++ pyproject.toml +@@ -11,7 +11,7 @@ license = {text = "Apache License 2.0"} + readme = "README.md" + requires-python = ">=3.10" + license = {text = "Apache License 2.0"} +-dynamic = ["version"] ++version = "3.12.0" + classifiers = [ + "Development Status :: 4 - Beta", + "Programming Language :: Python :: 3", +@@ -40,8 +40,6 @@ Repository = "https://github.com/keras-team/keras" + Home = "https://keras.io/" + Repository = "https://github.com/keras-team/keras" + +-[tool.setuptools.dynamic] +-version = {attr = "keras.src.version.__version__"} + + [tool.setuptools.package-dir] + "" = "." diff --git a/math/py-keras/files/patch-third__party_BUILD b/math/py-keras/files/patch-third__party_BUILD deleted file mode 100644 index 0a12377854e7..000000000000 --- a/math/py-keras/files/patch-third__party_BUILD +++ /dev/null @@ -1,19 +0,0 @@ ---- third_party/BUILD.orig 2022-09-08 09:14:55 UTC -+++ third_party/BUILD *** 603 LINES SKIPPED ***