commit:     49db3410a59ab1ddf9a5923dde4bb475bc81a562
Author:     Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 24 12:47:44 2024 +0000
Commit:     Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
CommitDate: Sat Feb 24 12:47:44 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=49db3410

sci-libs/keras: treeclean

Closes: https://bugs.gentoo.org/823866
Closes: https://bugs.gentoo.org/797277
Closes: https://bugs.gentoo.org/897214
Closes: https://bugs.gentoo.org/910026
Signed-off-by: Jakov Smolić <jsmolic <AT> gentoo.org>

 profiles/package.mask                              |   1 -
 sci-libs/keras/Manifest                            |   3 -
 ...ras-2.14.0-0001-bazel-Use-system-protobuf.patch | 330 ---------------------
 sci-libs/keras/keras-2.15.0.ebuild                 |  84 ------
 sci-libs/keras/metadata.xml                        |  15 -
 5 files changed, 433 deletions(-)

diff --git a/profiles/package.mask b/profiles/package.mask
index 266ca0dd986b..efee25a0a55b 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -209,7 +209,6 @@ net-wireless/crda
 # Use sci-libs/pytorch as a modern alternative with better packaging.
 # Removal on 2024-02-17. Bug #922374
 dev-build/bazel
-sci-libs/keras
 
 # Andreas Sturmlechner <[email protected]> (2023-12-25)
 # Masked until KF6 is unmasked.

diff --git a/sci-libs/keras/Manifest b/sci-libs/keras/Manifest
deleted file mode 100644
index 773b0a5317c2..000000000000
--- a/sci-libs/keras/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST bazelbuild-rules_cc-0.0.2.tar.gz 127138 BLAKE2B 
2a4cb12096bd8e6efebb13861b259ea12266372d37ef0d6c6005c4b9a6f919c26e1caa2ac78578aefd80a4f5bf08c1a14e15df5218f5d6b949beacba116b7b33
 SHA512 
688b5e6ea0e4cc8e5e11fc7aaac70f88c54d2d70221df0772eea1f0ff3ec16e2e92305f76da09c3c497f29e9132870ceaec7ecad034cca678ff4303899b67c14
-DIST bazelbuild-rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip 9422 
BLAKE2B 
bbc45c97551ee8126335b611ffca6574dac843d4db9b3221b10d26487f8eecfe38ba0cd67a4039a3ad921c25fea6294c43e4f4e7a57a060a30791acd6c4f9d39
 SHA512 
ba06242feb711e7fb6e821fd9ac029248b4f3e466fb1acf971d0db8196f3efe4d114ef137acbe4913073f8cbe8ccab4d47d8bafa21b867b2d6a6d57f5a647f0c
-DIST keras-2.15.0.tar.gz 2389088 BLAKE2B 
8cadb992f8e23568a1680d825b382c25d5ec5b82be758289c977a071cb5000429d40738c1462c292f53cda20fbfdc499c025b2fbb1ca9637eb2a8e5789c0a5bf
 SHA512 
2ce001d8dadda2a3df24420a512822204795300215db4496003c1f1a317223f1a8aa6f8b2493a67fbaf9986c2a48e1fd1065828eac6a6f3953bad3db66ed7515

diff --git 
a/sci-libs/keras/files/keras-2.14.0-0001-bazel-Use-system-protobuf.patch 
b/sci-libs/keras/files/keras-2.14.0-0001-bazel-Use-system-protobuf.patch
deleted file mode 100644
index 526742490f90..000000000000
--- a/sci-libs/keras/files/keras-2.14.0-0001-bazel-Use-system-protobuf.patch
+++ /dev/null
@@ -1,330 +0,0 @@
-From a064130a9cb6a2544c96552d43b3ff1b4bab0de4 Mon Sep 17 00:00:00 2001
-From: wangjiezhe <[email protected]>
-Date: Fri, 24 Nov 2023 00:35:16 +0800
-Subject: [PATCH] bazel: Use system protobuf
-
----
- WORKSPACE                |  52 ----------
- keras/protobuf/BUILD     |   2 +-
- third_party/BUILD        |   8 +-
- third_party/protobuf.bzl | 216 +++++++++++++++++++++++++++++++++++++++
- 4 files changed, 224 insertions(+), 54 deletions(-)
- create mode 100644 third_party/protobuf.bzl
-
-diff --git a/WORKSPACE b/WORKSPACE
-index c0ebc4e52..61282aead 100644
---- a/WORKSPACE
-+++ b/WORKSPACE
-@@ -1,53 +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",
--    urls = [
--        
"https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz";,
--        
"https://github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz";,
--    ],
--    sha256 = 
"74d544d96f4a5bb630d465ca8bbcfe231e3594e5aae57e1edbf17a6eb3ca2506",
--)
--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 = 
"1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926",
--    strip_prefix = "six-1.16.0",
--    urls = 
["https://pypi.python.org/packages/source/s/six/six-1.16.0.tar.gz";],
--)
--
--bind(
--    name = "six",
--    actual = "@six_archive//:six",
--)
--
--http_archive(
--    name = "com_google_protobuf",
--    sha256 = 
"f66073dee0bc159157b0bd7f502d7d1ee0bc76b3c1eac9836927511bdc4b3fc1",
--    strip_prefix = "protobuf-3.21.9",
--    urls = 
["https://github.com/protocolbuffers/protobuf/archive/v3.21.9.zip";],
--)
--
--# ZLIB. Need by com_google_protobuf.
--http_archive(
--    name = "zlib",
--    build_file = "@com_google_protobuf//:third_party/zlib.BUILD",
--    sha256 = 
"b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30",
--    strip_prefix = "zlib-1.2.13",
--    urls = [
--      
"https://storage.googleapis.com/mirror.tensorflow.org/zlib.net/zlib-1.2.13.tar.gz";,
--      "https://zlib.net/zlib-1.2.13.tar.gz";,
--      ],
--)
--
--
--load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
--protobuf_deps()
-diff --git a/keras/protobuf/BUILD b/keras/protobuf/BUILD
-index e2f9c1f3b..d50579a7e 100644
---- a/keras/protobuf/BUILD
-+++ b/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(
-     # copybara:uncomment default_applicable_licenses = ["//keras:license"],
-diff --git a/third_party/BUILD b/third_party/BUILD
-index 9be54076c..9399232f6 100644
---- a/third_party/BUILD
-+++ b/third_party/BUILD
-@@ -1,4 +1,5 @@
- package(
-+    default_visibility = ["//visibility:public"],
-     licenses = ["notice"],  # Apache 2.0
- )
- 
-@@ -7,4 +8,9 @@ exports_files([
-     "six.BUILD",
- ])
- 
--package(default_visibility = ["//visibility:public"])
-+genrule(
-+    name = "protoc",
-+    outs = ["protoc.bin"],
-+    cmd = "ln -s $$(which protoc) $@",
-+    executable = 1,
-+)
-diff --git a/third_party/protobuf.bzl b/third_party/protobuf.bzl
-new file mode 100644
-index 000000000..3a7ef0a27
---- /dev/null
-+++ b/third_party/protobuf.bzl
-@@ -0,0 +1,216 @@
-+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
-+    )
--- 
-2.41.0
-

diff --git a/sci-libs/keras/keras-2.15.0.ebuild 
b/sci-libs/keras/keras-2.15.0.ebuild
deleted file mode 100644
index c67472647c1b..000000000000
--- a/sci-libs/keras/keras-2.15.0.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-inherit bazel distutils-r1
-
-DESCRIPTION="Deep Learning for humans"
-HOMEPAGE="https://keras.io/";
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-bazel_external_uris="
-       
https://github.com/bazelbuild/rules_cc/releases/download/0.0.2/rules_cc-0.0.2.tar.gz
 -> bazelbuild-rules_cc-0.0.2.tar.gz
-       
https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip
 -> bazelbuild-rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip"
-
-SRC_URI="https://github.com/keras-team/${PN}/archive/v${PV}.tar.gz -> 
${P}.tar.gz
-       ${bazel_external_uris}"
-
-RDEPEND="
-       >=dev-libs/protobuf-3.13.0:=
-       dev-python/absl-py[${PYTHON_USEDEP}]
-       dev-python/h5py[${PYTHON_USEDEP}]
-       dev-python/numpy[${PYTHON_USEDEP}]
-       dev-python/pandas[${PYTHON_USEDEP}]
-       dev-python/pillow[${PYTHON_USEDEP}]
-       >=dev-python/protobuf-python-3.13.0[${PYTHON_USEDEP}]
-       dev-python/six[${PYTHON_USEDEP}]
-       >=sci-libs/keras-applications-1.0.8[${PYTHON_USEDEP}]
-       >=sci-libs/keras-preprocessing-1.1.2[${PYTHON_USEDEP}]
-       >=sci-libs/tensorflow-2.15[python,${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}
-       dev-python/setuptools[${PYTHON_USEDEP}]"
-BDEPEND="
-       app-arch/unzip
-       >=dev-libs/protobuf-3.13.0
-       dev-java/java-config
-       >=dev-build/bazel-5.3.0"
-
-# Bazel tests not pytest, also want GPU access
-RESTRICT="test"
-DOCS=( CONTRIBUTING.md README.md )
-PATCHES=(
-       "${FILESDIR}/keras-2.14.0-0001-bazel-Use-system-protobuf.patch"
-)
-
-src_unpack() {
-       unpack "${P}.tar.gz"
-       bazel_load_distfiles "${bazel_external_uris}"
-}
-
-src_prepare() {
-       bazel_setup_bazelrc
-       default
-       python_copy_sources
-}
-
-python_compile() {
-       pushd "${BUILD_DIR}" >/dev/null || die
-
-       ebazel build //keras/tools/pip_package:build_pip_package
-       ebazel shutdown
-
-       local srcdir="${T}/src-${EPYTHON/./_}"
-       mkdir -p "${srcdir}" || die
-       bazel-bin/keras/tools/pip_package/build_pip_package --src "${srcdir}" 
|| die
-
-       popd || die
-}
-
-src_compile() {
-       export JAVA_HOME=$(java-config --jre-home)
-       distutils-r1_src_compile
-}
-
-python_install() {
-       pushd "${T}/src-${EPYTHON/./_}" >/dev/null || die
-       esetup.py install
-       python_optimize
-       popd || die
-}

diff --git a/sci-libs/keras/metadata.xml b/sci-libs/keras/metadata.xml
deleted file mode 100644
index c2708124bd6d..000000000000
--- a/sci-libs/keras/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
-<pkgmetadata>
-       <maintainer type="person">
-               <email>[email protected]</email>
-               <name>Jason Zaman</name>
-       </maintainer>
-       <longdescription lang="en">
-               A deep learning for humans. TensorFlow Keras is an 
implementation
-               of the Keras API that uses TensorFlow as a backend.
-       </longdescription>
-       <upstream>
-               <remote-id type="github">keras-team/keras</remote-id>
-       </upstream>
-</pkgmetadata>

Reply via email to