summaryrefslogtreecommitdiff
path: root/dev-build/bazel
diff options
context:
space:
mode:
Diffstat (limited to 'dev-build/bazel')
-rw-r--r--dev-build/bazel/Manifest16
-rw-r--r--dev-build/bazel/bazel-3.7.2-r1.ebuild117
-rw-r--r--dev-build/bazel/bazel-4.2.2.ebuild100
-rw-r--r--dev-build/bazel/bazel-5.0.0.ebuild96
-rw-r--r--dev-build/bazel/bazel-5.1.1.ebuild96
-rw-r--r--dev-build/bazel/bazel-5.3.0.ebuild96
-rw-r--r--dev-build/bazel/bazel-6.2.0.ebuild96
-rw-r--r--dev-build/bazel/files/bazel-3.2.0-include-limits-for-gcc-11.patch25
-rw-r--r--dev-build/bazel/files/bazel-3.7.2-musl-temp-failure-retry.patch34
-rw-r--r--dev-build/bazel/files/bazel-4.2.2-absl_numeric_limits.patch41
-rw-r--r--dev-build/bazel/metadata.xml20
11 files changed, 737 insertions, 0 deletions
diff --git a/dev-build/bazel/Manifest b/dev-build/bazel/Manifest
new file mode 100644
index 000000000000..56fb335aa590
--- /dev/null
+++ b/dev-build/bazel/Manifest
@@ -0,0 +1,16 @@
+AUX bazel-3.2.0-include-limits-for-gcc-11.patch 788 BLAKE2B 7eadc6f43c1a527584f2b4d8d59387ffa1526fb7282919d38dd8a05eaa35766addd900c105444ea6925db868ee8ef8ff8297095926cb78597d23131f350539ae SHA512 d8997f67f79aaf276f0b9b2e60928f39b34722323947c597b6bcc3a7a7211be9e7a1e65917d7e7f92bc88f9ef79a7803c352ebe823ee5f933918f6f00716218a
+AUX bazel-3.7.2-musl-temp-failure-retry.patch 1238 BLAKE2B d6890d77ddd256fd1fa681ecf0aad1c5ac4e4e2f4ff46276b54a3464a6394136fe239aa32a5ce11b97fc78b90fb6615746b418eb320d33a3640b4932c929431a SHA512 81e5cd55dcf3d158af88e2edf286862b75c1585abe6d37ff67a99716b6c57a338d22c2a96f8938a10a374348edc532e01670e164fb376b3df70471afa11c898b
+AUX bazel-4.2.2-absl_numeric_limits.patch 2413 BLAKE2B 3e31f886b3f561faa79255aa65b163fae0ffae94db0374e033e3690119de7b87e183a8f6fc1c88d880a319bb1ea6c5d86640b864711cfb2f4d5b30095b303217 SHA512 3b32947b1e0af9ec367bafea439a4e21a57dd7c782fb6cc32f4c2a15bda05be2a676625b80cfa28c7a98e6be3bd7310ee632d5eef966615d11aaa14afea981bc
+DIST bazel-3.7.2-dist.zip 313677756 BLAKE2B cd6363762c68d25739a6bf6c13f10e191302a10b6fb7d97455effbc678d4f0b644c76115cad478aad7c09f703d9e594f4bdb8669ed6ab97d6a559a27723c510c SHA512 e8746ef5ec22feb95e9dbbddb3fb56cf8f49c80f326fc2a4e0ce2619607826fac22f46bfb995daee55bf9ffabb9d646b8454be2bce7b479da5cf2a7e5b3be62b
+DIST bazel-4.2.2-dist.zip 279304631 BLAKE2B 2a32838e50b63c4b6400aced10085c6c9aacf28641ea555a44b9c4ed8991fc29658b4d420b26179e8eed0e00cfe7391e8eec84c7851f17493c74d1c5682427af SHA512 123f73dc87053e37705bb729f82bd722d6d2799fe106f79c51cf5566fb2771d824108cbe275aad55ae590b970c549008b433704cbf1245394769e950796eb8db
+DIST bazel-5.0.0-dist.zip 235894565 BLAKE2B 3798eb9111772809f0345e0c74bef38d8f9d44a7f20844f20aad187a2e177f4999ffa0e1cc1719e4284cdc7c72295bb903d32ce56821c72ee2908f4d939d0769 SHA512 2a9a972d1cce6b50f959fec3d37506914208169c8aa36e5ec5f9a27942e9beff1080a544a18e9bd5eb13dc434c1864cda0594e6da5b78c2f41085abf808c22d7
+DIST bazel-5.1.1-dist.zip 236073335 BLAKE2B dacc98db99a4877bcda743058f8d34c276d893bec14a595155587f9d0a2716caf106e1d08917f8103b9c15c45433285cce2063f15a2653d3d1a4a6b67242876f SHA512 84e2f72df1838fc88a39853afc510bca835fea28590e9aac2138b5416d2f8d9aefd082c81012a2066194fdc440b00b44f9f188b5c896461acebfeb9cd40efc7c
+DIST bazel-5.3.0-dist.zip 235314819 BLAKE2B 771a940e083d569b0297d37877e6d52c16f698bc5141e2c9c895d5d6cdd9e93203fbc941eca7daa4b40026551c25a5bf45d0862b8b13993bc40434aa6bb99dd3 SHA512 6c98e904596764a309e98ea2453c751dc0bf27c683462c5654b72076f8537bccf6c5103ccea60fa3a3dffeaa76b07db80a594feb96ed566282d10bb04f0e1455
+DIST bazel-6.2.0-dist.zip 196992916 BLAKE2B 9516deae60f4193e68687909e3dff0539030d55ee220973890c41c82bb390f04327411fc2a4f0f6782279ae3c2d127498283a86ecc86c2fcdf424b3bd10bad93 SHA512 c2ff9cafd07553bf7e6f4ed2b561bd217f5ec6dda173269cc5a1885f5ec2fea09855cc09f63b62e653135b9babbedbf280e928bf0f3a1404b7066ba5bbecf18f
+EBUILD bazel-3.7.2-r1.ebuild 2778 BLAKE2B c6e5ee1f14b5aa938b413f8415e922b20d2ae0f990afc549dd66940ae6595afa64521aa54728ee2de71c01c4e9c3ed118f3d4285e8402503309c57a2491d95c0 SHA512 dc8767763f1e84fa98ec7dd163a15c47e72f16e0de2c3e70310ce9bc55f37225eebda4ad46cf7c3a00c3f5a675617d91adbfc5f46584f63a63486c7098717419
+EBUILD bazel-4.2.2.ebuild 2368 BLAKE2B bc21547439f0e6868780564ab191a2586a44f0dee5690a628c949f63243565c137e5c02e1aa32eb5b57b93eab2fa7361cba162f95c0c1914c723e930b161e305 SHA512 1673e568731f5e31a33ea1eb10e29cf48ee99ca16ab26de3d9cf16bb6b0e9ba2bc7b62d0d732585ad53dea2eb6471f03672c90195af045b6f31a74b71dfbe3b1
+EBUILD bazel-5.0.0.ebuild 2387 BLAKE2B fa942d93606e7428073b291d12daff0514164303e52fd4d4f6629fdd0533b78205594d9deaeac06b37bae72dcd03cb9145b4e83801435bc6c2ec15ece4878c80 SHA512 4ebb0932361c38f594f5e9a3154e6d999fce3202fe07be987ac277ce94be4731d1fad5c3d96f079c9dcd2f8f49ece76b51563d1eebdfed667ec948ff44e823a3
+EBUILD bazel-5.1.1.ebuild 2388 BLAKE2B 7d67c560e467bfce8b2f5f7fc69c15d023052f497593fe76fef131ad930f521628f63bd8f3902447722fea365a4075d999535d45243901beed52299db284cc7e SHA512 40d0b3ca9943acffedde34132b6f85cce84862bca2a6e059e218df81d090eef17a7cb00eeb6efd074204cfe5e4a2ddbb511360db77016e5fad0b1a646a1d0b08
+EBUILD bazel-5.3.0.ebuild 2388 BLAKE2B 7d67c560e467bfce8b2f5f7fc69c15d023052f497593fe76fef131ad930f521628f63bd8f3902447722fea365a4075d999535d45243901beed52299db284cc7e SHA512 40d0b3ca9943acffedde34132b6f85cce84862bca2a6e059e218df81d090eef17a7cb00eeb6efd074204cfe5e4a2ddbb511360db77016e5fad0b1a646a1d0b08
+EBUILD bazel-6.2.0.ebuild 2388 BLAKE2B 7d67c560e467bfce8b2f5f7fc69c15d023052f497593fe76fef131ad930f521628f63bd8f3902447722fea365a4075d999535d45243901beed52299db284cc7e SHA512 40d0b3ca9943acffedde34132b6f85cce84862bca2a6e059e218df81d090eef17a7cb00eeb6efd074204cfe5e4a2ddbb511360db77016e5fad0b1a646a1d0b08
+MISC metadata.xml 706 BLAKE2B 07f70164b2e809db66f4255b62635e1b93ff58269f323a0efbfd994dd425034e4896599463c900582f0863cebf8f5ee0dd56da01bafbd30c9e27e88ffb99ad46 SHA512 3a335159533ca5f0d7de3b1bde18a737ba2dca2de56121124cdb9cb05009db5fac07bef1d21d5b73bec834b7928e7ec291e2ff3cd964e395431b9deac29bfbe6
diff --git a/dev-build/bazel/bazel-3.7.2-r1.ebuild b/dev-build/bazel/bazel-3.7.2-r1.ebuild
new file mode 100644
index 000000000000..d3df6e005fa0
--- /dev/null
+++ b/dev-build/bazel/bazel-3.7.2-r1.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit bash-completion-r1 java-pkg-2 multiprocessing
+
+DESCRIPTION="Fast and correct automated build system"
+HOMEPAGE="https://bazel.build/"
+
+SRC_URI="https://github.com/bazelbuild/bazel/releases/download/${PV}/${P}-dist.zip"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="examples tools"
+# strip corrupts the bazel binary
+# test fails with network-sandbox: An error occurred during the fetch of repository 'io_bazel_skydoc' (bug 690794)
+RESTRICT="strip test"
+RDEPEND=">=virtual/jre-1.8:*"
+DEPEND="
+ || (
+ virtual/jdk:1.8
+ virtual/jdk:11
+ )
+ app-arch/unzip
+ app-arch/zip"
+
+S="${WORKDIR}"
+
+bazel-get-flags() {
+ local i fs=()
+ for i in ${CFLAGS}; do
+ fs+=( "--copt=${i}" "--host_copt=${i}" )
+ done
+ for i in ${CXXFLAGS}; do
+ fs+=( "--cxxopt=${i}" "--host_cxxopt=${i}" )
+ done
+ for i in ${CPPFLAGS}; do
+ fs+=( "--copt=${i}" "--host_copt=${i}" )
+ fs+=( "--cxxopt=${i}" "--host_cxxopt=${i}" )
+ done
+ for i in ${LDFLAGS}; do
+ fs+=( "--linkopt=${i}" "--host_linkopt=${i}" )
+ done
+ echo "${fs[*]}"
+}
+
+pkg_setup() {
+ if has ccache ${FEATURES}; then
+ ewarn "${PN} usually fails to compile with ccache, you have been warned"
+ fi
+ java-pkg-2_pkg_setup
+}
+
+src_unpack() {
+ # Only unpack the main distfile
+ unpack ${P}-dist.zip
+}
+
+src_prepare() {
+ default
+
+ # F: fopen_wr
+ # S: deny
+ # P: /proc/self/setgroups
+ # A: /proc/self/setgroups
+ # R: /proc/24939/setgroups
+ # C: /usr/lib/systemd/systemd
+ addpredict /proc
+
+ eapply "${FILESDIR}/${PN}-3.2.0-include-limits-for-gcc-11.patch"
+ eapply "${FILESDIR}/${PN}-3.7.2-musl-temp-failure-retry.patch"
+}
+
+src_compile() {
+ export EXTRA_BAZEL_ARGS="--jobs=$(makeopts_jobs) $(bazel-get-flags) --host_javabase=@local_jdk//:jdk"
+ VERBOSE=yes ./compile.sh || die
+
+ ./scripts/generate_bash_completion.sh \
+ --bazel=output/bazel \
+ --output=bazel-complete.bash \
+ --prepend=scripts/bazel-complete-header.bash \
+ --prepend=scripts/bazel-complete-template.bash
+}
+
+src_test() {
+ output/bazel test \
+ --verbose_failures \
+ --spawn_strategy=standalone \
+ --genrule_strategy=standalone \
+ --verbose_test_summary \
+ examples/cpp:hello-success_test || die
+ output/bazel shutdown
+}
+
+src_install() {
+ dobin output/bazel
+ newbashcomp bazel-complete.bash ${PN}
+ bashcomp_alias ${PN} ibazel
+ insinto /usr/share/zsh/site-functions
+ doins scripts/zsh_completion/_bazel
+
+ if use examples; then
+ docinto examples
+ dodoc -r examples/*
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ # could really build tools but I don't know which ones
+ # are actually used
+ if use tools; then
+ docinto tools
+ dodoc -r tools/*
+ docompress -x /usr/share/doc/${PF}/tools
+ docompress -x /usr/share/doc/${PF}/tools/build_defs/pkg/testdata
+ fi
+}
diff --git a/dev-build/bazel/bazel-4.2.2.ebuild b/dev-build/bazel/bazel-4.2.2.ebuild
new file mode 100644
index 000000000000..34671fe9f8d0
--- /dev/null
+++ b/dev-build/bazel/bazel-4.2.2.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1 bazel java-pkg-2 multiprocessing
+
+DESCRIPTION="Fast and correct automated build system"
+HOMEPAGE="https://bazel.build/"
+
+SRC_URI="https://github.com/bazelbuild/bazel/releases/download/${PV}/${P}-dist.zip"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="examples tools"
+# strip corrupts the bazel binary
+# test fails with network-sandbox: An error occurred during the fetch of repository 'io_bazel_skydoc' (bug 690794)
+RESTRICT="strip test"
+RDEPEND=">=virtual/jre-1.8:*"
+DEPEND="
+ || (
+ virtual/jdk:1.8
+ virtual/jdk:11
+ )
+ app-arch/unzip
+ app-arch/zip"
+
+S="${WORKDIR}"
+PATCHES=(
+ "${FILESDIR}/${PN}-3.2.0-include-limits-for-gcc-11.patch"
+ "${FILESDIR}/${PN}-4.2.2-absl_numeric_limits.patch"
+)
+
+pkg_setup() {
+ if has ccache ${FEATURES}; then
+ ewarn "${PN} usually fails to compile with ccache, you have been warned"
+ fi
+ java-pkg-2_pkg_setup
+}
+
+src_unpack() {
+ # Only unpack the main distfile
+ unpack ${P}-dist.zip
+}
+
+src_prepare() {
+ default
+
+ # F: fopen_wr
+ # S: deny
+ # P: /proc/self/setgroups
+ # A: /proc/self/setgroups
+ # R: /proc/24939/setgroups
+ # C: /usr/lib/systemd/systemd
+ addpredict /proc
+}
+
+src_compile() {
+ export EXTRA_BAZEL_ARGS="--jobs=$(makeopts_jobs) $(bazel_get_flags) --host_javabase=@local_jdk//:jdk"
+ VERBOSE=yes ./compile.sh || die
+
+ ./scripts/generate_bash_completion.sh \
+ --bazel=output/bazel \
+ --output=bazel-complete.bash \
+ --prepend=scripts/bazel-complete-header.bash \
+ --prepend=scripts/bazel-complete-template.bash
+}
+
+src_test() {
+ output/bazel test \
+ --verbose_failures \
+ --spawn_strategy=standalone \
+ --genrule_strategy=standalone \
+ --verbose_test_summary \
+ examples/cpp:hello-success_test || die
+ output/bazel shutdown
+}
+
+src_install() {
+ dobin output/bazel
+ newbashcomp bazel-complete.bash ${PN}
+ bashcomp_alias ${PN} ibazel
+ insinto /usr/share/zsh/site-functions
+ doins scripts/zsh_completion/_bazel
+
+ if use examples; then
+ docinto examples
+ dodoc -r examples/*
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ # could really build tools but I don't know which ones
+ # are actually used
+ if use tools; then
+ docinto tools
+ dodoc -r tools/*
+ docompress -x /usr/share/doc/${PF}/tools
+ docompress -x /usr/share/doc/${PF}/tools/build_defs/pkg/testdata
+ fi
+}
diff --git a/dev-build/bazel/bazel-5.0.0.ebuild b/dev-build/bazel/bazel-5.0.0.ebuild
new file mode 100644
index 000000000000..6c42ab528c84
--- /dev/null
+++ b/dev-build/bazel/bazel-5.0.0.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1 bazel java-pkg-2 multiprocessing
+
+DESCRIPTION="Fast and correct automated build system"
+HOMEPAGE="https://bazel.build/"
+
+SRC_URI="https://github.com/bazelbuild/bazel/releases/download/${PV}/${P}-dist.zip"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="examples tools"
+# strip corrupts the bazel binary
+# test fails with network-sandbox: An error occurred during the fetch of repository 'io_bazel_skydoc' (bug 690794)
+RESTRICT="strip test"
+RDEPEND=">=virtual/jre-11:*"
+DEPEND="
+ virtual/jdk:11
+ app-arch/unzip
+ app-arch/zip"
+
+S="${WORKDIR}"
+
+pkg_setup() {
+ if has ccache ${FEATURES}; then
+ ewarn "${PN} usually fails to compile with ccache, you have been warned"
+ fi
+ java-pkg-2_pkg_setup
+}
+
+src_unpack() {
+ # Only unpack the main distfile
+ unpack ${P}-dist.zip
+}
+
+src_prepare() {
+ default
+
+ # F: fopen_wr
+ # S: deny
+ # P: /proc/self/setgroups
+ # A: /proc/self/setgroups
+ # R: /proc/24939/setgroups
+ # C: /usr/lib/systemd/systemd
+ addpredict /proc
+}
+
+src_compile() {
+ export JAVA_HOME=$(java-config --jre-home) # so keepwork works
+ export EXTRA_BAZEL_ARGS="--jobs=$(makeopts_jobs) $(bazel_get_flags)
+ --java_runtime_version=local_jdk
+ --tool_java_runtime_version=local_jdk"
+ VERBOSE=yes ./compile.sh || die "Failed compiling bazel"
+
+ ./scripts/generate_bash_completion.sh \
+ --bazel=output/bazel \
+ --output=bazel-complete.bash \
+ --prepend=scripts/bazel-complete-header.bash \
+ --prepend=scripts/bazel-complete-template.bash || die "Failed to generate bash completions"
+}
+
+src_test() {
+ output/bazel test \
+ --verbose_failures \
+ --spawn_strategy=standalone \
+ --genrule_strategy=standalone \
+ --verbose_test_summary \
+ examples/cpp:hello-success_test || die
+ output/bazel shutdown
+}
+
+src_install() {
+ dobin output/bazel
+ newbashcomp bazel-complete.bash ${PN}
+ bashcomp_alias ${PN} ibazel
+ insinto /usr/share/zsh/site-functions
+ doins scripts/zsh_completion/_bazel
+
+ if use examples; then
+ docinto examples
+ dodoc -r examples/*
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ # could really build tools but I don't know which ones
+ # are actually used
+ if use tools; then
+ docinto tools
+ dodoc -r tools/*
+ docompress -x /usr/share/doc/${PF}/tools
+ docompress -x /usr/share/doc/${PF}/tools/build_defs/pkg/testdata
+ fi
+}
diff --git a/dev-build/bazel/bazel-5.1.1.ebuild b/dev-build/bazel/bazel-5.1.1.ebuild
new file mode 100644
index 000000000000..1afd007db9d4
--- /dev/null
+++ b/dev-build/bazel/bazel-5.1.1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1 bazel java-pkg-2 multiprocessing
+
+DESCRIPTION="Fast and correct automated build system"
+HOMEPAGE="https://bazel.build/"
+
+SRC_URI="https://github.com/bazelbuild/bazel/releases/download/${PV}/${P}-dist.zip"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples tools"
+# strip corrupts the bazel binary
+# test fails with network-sandbox: An error occurred during the fetch of repository 'io_bazel_skydoc' (bug 690794)
+RESTRICT="strip test"
+RDEPEND=">=virtual/jre-11:*"
+DEPEND="
+ virtual/jdk:11
+ app-arch/unzip
+ app-arch/zip"
+
+S="${WORKDIR}"
+
+pkg_setup() {
+ if has ccache ${FEATURES}; then
+ ewarn "${PN} usually fails to compile with ccache, you have been warned"
+ fi
+ java-pkg-2_pkg_setup
+}
+
+src_unpack() {
+ # Only unpack the main distfile
+ unpack ${P}-dist.zip
+}
+
+src_prepare() {
+ default
+
+ # F: fopen_wr
+ # S: deny
+ # P: /proc/self/setgroups
+ # A: /proc/self/setgroups
+ # R: /proc/24939/setgroups
+ # C: /usr/lib/systemd/systemd
+ addpredict /proc
+}
+
+src_compile() {
+ export JAVA_HOME=$(java-config --jre-home) # so keepwork works
+ export EXTRA_BAZEL_ARGS="--jobs=$(makeopts_jobs) $(bazel_get_flags)
+ --java_runtime_version=local_jdk
+ --tool_java_runtime_version=local_jdk"
+ VERBOSE=yes ./compile.sh || die "Failed compiling bazel"
+
+ ./scripts/generate_bash_completion.sh \
+ --bazel=output/bazel \
+ --output=bazel-complete.bash \
+ --prepend=scripts/bazel-complete-header.bash \
+ --prepend=scripts/bazel-complete-template.bash || die "Failed to generate bash completions"
+}
+
+src_test() {
+ output/bazel test \
+ --verbose_failures \
+ --spawn_strategy=standalone \
+ --genrule_strategy=standalone \
+ --verbose_test_summary \
+ examples/cpp:hello-success_test || die
+ output/bazel shutdown
+}
+
+src_install() {
+ dobin output/bazel
+ newbashcomp bazel-complete.bash ${PN}
+ bashcomp_alias ${PN} ibazel
+ insinto /usr/share/zsh/site-functions
+ doins scripts/zsh_completion/_bazel
+
+ if use examples; then
+ docinto examples
+ dodoc -r examples/*
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ # could really build tools but I don't know which ones
+ # are actually used
+ if use tools; then
+ docinto tools
+ dodoc -r tools/*
+ docompress -x /usr/share/doc/${PF}/tools
+ docompress -x /usr/share/doc/${PF}/tools/build_defs/pkg/testdata
+ fi
+}
diff --git a/dev-build/bazel/bazel-5.3.0.ebuild b/dev-build/bazel/bazel-5.3.0.ebuild
new file mode 100644
index 000000000000..1afd007db9d4
--- /dev/null
+++ b/dev-build/bazel/bazel-5.3.0.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1 bazel java-pkg-2 multiprocessing
+
+DESCRIPTION="Fast and correct automated build system"
+HOMEPAGE="https://bazel.build/"
+
+SRC_URI="https://github.com/bazelbuild/bazel/releases/download/${PV}/${P}-dist.zip"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples tools"
+# strip corrupts the bazel binary
+# test fails with network-sandbox: An error occurred during the fetch of repository 'io_bazel_skydoc' (bug 690794)
+RESTRICT="strip test"
+RDEPEND=">=virtual/jre-11:*"
+DEPEND="
+ virtual/jdk:11
+ app-arch/unzip
+ app-arch/zip"
+
+S="${WORKDIR}"
+
+pkg_setup() {
+ if has ccache ${FEATURES}; then
+ ewarn "${PN} usually fails to compile with ccache, you have been warned"
+ fi
+ java-pkg-2_pkg_setup
+}
+
+src_unpack() {
+ # Only unpack the main distfile
+ unpack ${P}-dist.zip
+}
+
+src_prepare() {
+ default
+
+ # F: fopen_wr
+ # S: deny
+ # P: /proc/self/setgroups
+ # A: /proc/self/setgroups
+ # R: /proc/24939/setgroups
+ # C: /usr/lib/systemd/systemd
+ addpredict /proc
+}
+
+src_compile() {
+ export JAVA_HOME=$(java-config --jre-home) # so keepwork works
+ export EXTRA_BAZEL_ARGS="--jobs=$(makeopts_jobs) $(bazel_get_flags)
+ --java_runtime_version=local_jdk
+ --tool_java_runtime_version=local_jdk"
+ VERBOSE=yes ./compile.sh || die "Failed compiling bazel"
+
+ ./scripts/generate_bash_completion.sh \
+ --bazel=output/bazel \
+ --output=bazel-complete.bash \
+ --prepend=scripts/bazel-complete-header.bash \
+ --prepend=scripts/bazel-complete-template.bash || die "Failed to generate bash completions"
+}
+
+src_test() {
+ output/bazel test \
+ --verbose_failures \
+ --spawn_strategy=standalone \
+ --genrule_strategy=standalone \
+ --verbose_test_summary \
+ examples/cpp:hello-success_test || die
+ output/bazel shutdown
+}
+
+src_install() {
+ dobin output/bazel
+ newbashcomp bazel-complete.bash ${PN}
+ bashcomp_alias ${PN} ibazel
+ insinto /usr/share/zsh/site-functions
+ doins scripts/zsh_completion/_bazel
+
+ if use examples; then
+ docinto examples
+ dodoc -r examples/*
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ # could really build tools but I don't know which ones
+ # are actually used
+ if use tools; then
+ docinto tools
+ dodoc -r tools/*
+ docompress -x /usr/share/doc/${PF}/tools
+ docompress -x /usr/share/doc/${PF}/tools/build_defs/pkg/testdata
+ fi
+}
diff --git a/dev-build/bazel/bazel-6.2.0.ebuild b/dev-build/bazel/bazel-6.2.0.ebuild
new file mode 100644
index 000000000000..1afd007db9d4
--- /dev/null
+++ b/dev-build/bazel/bazel-6.2.0.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1 bazel java-pkg-2 multiprocessing
+
+DESCRIPTION="Fast and correct automated build system"
+HOMEPAGE="https://bazel.build/"
+
+SRC_URI="https://github.com/bazelbuild/bazel/releases/download/${PV}/${P}-dist.zip"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples tools"
+# strip corrupts the bazel binary
+# test fails with network-sandbox: An error occurred during the fetch of repository 'io_bazel_skydoc' (bug 690794)
+RESTRICT="strip test"
+RDEPEND=">=virtual/jre-11:*"
+DEPEND="
+ virtual/jdk:11
+ app-arch/unzip
+ app-arch/zip"
+
+S="${WORKDIR}"
+
+pkg_setup() {
+ if has ccache ${FEATURES}; then
+ ewarn "${PN} usually fails to compile with ccache, you have been warned"
+ fi
+ java-pkg-2_pkg_setup
+}
+
+src_unpack() {
+ # Only unpack the main distfile
+ unpack ${P}-dist.zip
+}
+
+src_prepare() {
+ default
+
+ # F: fopen_wr
+ # S: deny
+ # P: /proc/self/setgroups
+ # A: /proc/self/setgroups
+ # R: /proc/24939/setgroups
+ # C: /usr/lib/systemd/systemd
+ addpredict /proc
+}
+
+src_compile() {
+ export JAVA_HOME=$(java-config --jre-home) # so keepwork works
+ export EXTRA_BAZEL_ARGS="--jobs=$(makeopts_jobs) $(bazel_get_flags)
+ --java_runtime_version=local_jdk
+ --tool_java_runtime_version=local_jdk"
+ VERBOSE=yes ./compile.sh || die "Failed compiling bazel"
+
+ ./scripts/generate_bash_completion.sh \
+ --bazel=output/bazel \
+ --output=bazel-complete.bash \
+ --prepend=scripts/bazel-complete-header.bash \
+ --prepend=scripts/bazel-complete-template.bash || die "Failed to generate bash completions"
+}
+
+src_test() {
+ output/bazel test \
+ --verbose_failures \
+ --spawn_strategy=standalone \
+ --genrule_strategy=standalone \
+ --verbose_test_summary \
+ examples/cpp:hello-success_test || die
+ output/bazel shutdown
+}
+
+src_install() {
+ dobin output/bazel
+ newbashcomp bazel-complete.bash ${PN}
+ bashcomp_alias ${PN} ibazel
+ insinto /usr/share/zsh/site-functions
+ doins scripts/zsh_completion/_bazel
+
+ if use examples; then
+ docinto examples
+ dodoc -r examples/*
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ # could really build tools but I don't know which ones
+ # are actually used
+ if use tools; then
+ docinto tools
+ dodoc -r tools/*
+ docompress -x /usr/share/doc/${PF}/tools
+ docompress -x /usr/share/doc/${PF}/tools/build_defs/pkg/testdata
+ fi
+}
diff --git a/dev-build/bazel/files/bazel-3.2.0-include-limits-for-gcc-11.patch b/dev-build/bazel/files/bazel-3.2.0-include-limits-for-gcc-11.patch
new file mode 100644
index 000000000000..c864eb4017e6
--- /dev/null
+++ b/dev-build/bazel/files/bazel-3.2.0-include-limits-for-gcc-11.patch
@@ -0,0 +1,25 @@
+diff --git a/third_party/ijar/mapped_file_unix.cc b/third_party/ijar/mapped_file_unix.cc
+index 6e3a908718..030e9ca59f 100644
+--- a/third_party/ijar/mapped_file_unix.cc
++++ b/third_party/ijar/mapped_file_unix.cc
+@@ -19,6 +19,7 @@
+ #include <sys/mman.h>
+
+ #include <algorithm>
++#include <limits>
+
+ #include "third_party/ijar/mapped_file.h"
+
+diff --git a/third_party/ijar/zlib_client.h b/third_party/ijar/zlib_client.h
+index ed6616362f..da0848852b 100644
+--- a/third_party/ijar/zlib_client.h
++++ b/third_party/ijar/zlib_client.h
+@@ -19,6 +19,8 @@
+
+ #include "third_party/ijar/common.h"
+
++#include <limits>
++
+ namespace devtools_ijar {
+ // Try to compress a file entry in memory using the deflate algorithm.
+ // It will compress buf (of size length) unless the compressed size is bigger
diff --git a/dev-build/bazel/files/bazel-3.7.2-musl-temp-failure-retry.patch b/dev-build/bazel/files/bazel-3.7.2-musl-temp-failure-retry.patch
new file mode 100644
index 000000000000..4c8648bb639f
--- /dev/null
+++ b/dev-build/bazel/files/bazel-3.7.2-musl-temp-failure-retry.patch
@@ -0,0 +1,34 @@
+https://bugs.gentoo.org/815907
+https://github.com/bazelbuild/bazel/commit/bcce6dd026e90336e80616a8c1004a79a2f8640c
+
+From: philwo <philwo@google.com>
+Date: Thu, 20 May 2021 08:13:09 -0700
+Subject: [PATCH] Add the TEMP_FAILURE_RETRY macro to linux-sandbox-pid1.cc.
+
+This allows us to build Bazel on Linux systems which use a C standard library that does not include this macro, like Alpine Linux (which uses musl).
+
+Fixes #12460.
+
+PiperOrigin-RevId: 374873483
+--- a/src/main/tools/linux-sandbox-pid1.cc
++++ b/src/main/tools/linux-sandbox-pid1.cc
+@@ -49,6 +49,19 @@
+ #include <linux/fs.h>
+ #endif
+
++#ifndef TEMP_FAILURE_RETRY
++// Some C standard libraries like musl do not define this macro, so we'll
++// include our own version for compatibility.
++#define TEMP_FAILURE_RETRY(exp) \
++ ({ \
++ decltype(exp) _rc; \
++ do { \
++ _rc = (exp); \
++ } while (_rc == -1 && errno == EINTR); \
++ _rc; \
++ })
++#endif // TEMP_FAILURE_RETRY
++
+ #include "src/main/tools/linux-sandbox-options.h"
+ #include "src/main/tools/linux-sandbox.h"
+ #include "src/main/tools/logging.h"
diff --git a/dev-build/bazel/files/bazel-4.2.2-absl_numeric_limits.patch b/dev-build/bazel/files/bazel-4.2.2-absl_numeric_limits.patch
new file mode 100644
index 000000000000..c120255bf383
--- /dev/null
+++ b/dev-build/bazel/files/bazel-4.2.2-absl_numeric_limits.patch
@@ -0,0 +1,41 @@
+ third_party/grpc/absl.patch | 11 +++++++++++
+ third_party/grpc/grpc_1.33.1.patch | 12 ++++++++++++
+ 2 files changed, 23 insertions(+)
+
+diff --git a/third_party/grpc/absl.patch b/third_party/grpc/absl.patch
+new file mode 100644
+index 0000000000..aeb6916c6f
+--- /dev/null
++++ b/third_party/grpc/absl.patch
+@@ -0,0 +1,11 @@
++diff -ur abseil-cpp-df3ea785d8c30a9503321a3d35ee7d35808f190d_orig/absl/synchronization/internal/graphcycles.cc abseil-cpp-df3ea785d8c30a9503321a3d35ee7d35808f190d/absl/synchronization/internal/graphcycles.cc
++--- abseil-cpp-df3ea785d8c30a9503321a3d35ee7d35808f190d_orig/absl/synchronization/internal/graphcycles.cc 2020-03-04 12:57:37.000000000 -0800
+++++ abseil-cpp-df3ea785d8c30a9503321a3d35ee7d35808f190d/absl/synchronization/internal/graphcycles.cc 2022-01-28 12:27:26.588456815 -0800
++@@ -35,6 +35,7 @@
++
++ #include "absl/synchronization/internal/graphcycles.h"
++
+++#include <limits>
++ #include <algorithm>
++ #include <array>
++ #include "absl/base/internal/hide_ptr.h"
+diff --git a/third_party/grpc/grpc_1.33.1.patch b/third_party/grpc/grpc_1.33.1.patch
+index dda6fc177e..f426d02b63 100644
+--- a/third_party/grpc/grpc_1.33.1.patch
++++ b/third_party/grpc/grpc_1.33.1.patch
+@@ -120,3 +120,15 @@ index c047f0c515..7c24fbc617 100644
+ ":windows": "@com_github_grpc_grpc//third_party/cares:config_windows/ares_config.h",
+ ":android": "@com_github_grpc_grpc//third_party/cares:config_android/ares_config.h",
+ "//conditions:default": "@com_github_grpc_grpc//third_party/cares:config_linux/ares_config.h",
++diff -ur grpc-1.33.1/bazel/grpc_deps.bzl grpc-1.33.1/bazel/grpc_deps.bzl
++--- grpc-1.33.1/bazel/grpc_deps.bzl 2022-02-05 16:50:14.780031906 -0800
+++++ grpc-1.33.1/bazel/grpc_deps.bzl 2022-02-05 16:51:56.670953159 -0800
++@@ -241,6 +241,8 @@
++ name = "com_google_absl",
++ sha256 = "f368a8476f4e2e0eccf8a7318b98dafbe30b2600f4e3cf52636e5eb145aba06a",
++ strip_prefix = "abseil-cpp-df3ea785d8c30a9503321a3d35ee7d35808f190d",
+++ patch_args = ["-p1"],
+++ patches = ["@io_bazel//third_party/grpc:absl.patch"],
++ urls = [
++ "https://storage.googleapis.com/grpc-bazel-mirror/github.com/abseil/abseil-cpp/archive/df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz",
++ "https://github.com/abseil/abseil-cpp/archive/df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz",
diff --git a/dev-build/bazel/metadata.xml b/dev-build/bazel/metadata.xml
new file mode 100644
index 000000000000..e36c237bc2ce
--- /dev/null
+++ b/dev-build/bazel/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>perfinion@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">bazelbuild/bazel</remote-id>
+ </upstream>
+ <longdescription>
+ Bazel is Google's own build tool. Bazel has built-in support for
+ building both client and server software, including client
+ applications for both Android and iOS platforms. It also provides
+ an extensible framework that you can use to develop your own build
+ rules.
+ </longdescription>
+ <use>
+ <flag name="tools">Install extra bazel tools to build from sources</flag>
+ </use>
+</pkgmetadata>