summaryrefslogtreecommitdiff
path: root/sci-libs/keras/keras-2.10.0.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/keras/keras-2.10.0.ebuild')
-rw-r--r--sci-libs/keras/keras-2.10.0.ebuild85
1 files changed, 85 insertions, 0 deletions
diff --git a/sci-libs/keras/keras-2.10.0.ebuild b/sci-libs/keras/keras-2.10.0.ebuild
new file mode 100644
index 000000000000..8ee2fa5059b1
--- /dev/null
+++ b/sci-libs/keras/keras-2.10.0.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8,9,10} )
+inherit bazel distutils-r1
+
+DESCRIPTION="Deep Learning for humans"
+HOMEPAGE="https://keras.io/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+bazel_external_uris="
+ https://github.com/bazelbuild/rules_cc/archive/b1c40e1de81913a3c40e5948f78719c28152486d.zip -> bazelbuild-rules_cc-b1c40e1de81913a3c40e5948f78719c28152486d.zip
+ 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.10[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-util/bazel-4.2.2"
+
+# Bazel tests not pytest, also want GPU access
+RESTRICT="test"
+DOCS=( CONTRIBUTING.md README.md )
+PATCHES=(
+ "${FILESDIR}/keras-2.10.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
+}