diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-01-17 20:06:58 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-01-17 20:06:58 +0000 |
commit | 08c5e4df7a4b66ba8dbb827ca2e3a973d4f19ab0 (patch) | |
tree | 347af25df153363454776e1fe95fc4e8100a7e7d /dev-build/bazel | |
parent | fc6e577018dec28e18904f9ad5c1417976e3c728 (diff) |
gentoo auto-resync : 17:01:2024 - 20:06:58
Diffstat (limited to 'dev-build/bazel')
-rw-r--r-- | dev-build/bazel/Manifest | 16 | ||||
-rw-r--r-- | dev-build/bazel/bazel-3.7.2-r1.ebuild | 117 | ||||
-rw-r--r-- | dev-build/bazel/bazel-4.2.2.ebuild | 100 | ||||
-rw-r--r-- | dev-build/bazel/bazel-5.0.0.ebuild | 96 | ||||
-rw-r--r-- | dev-build/bazel/bazel-5.1.1.ebuild | 96 | ||||
-rw-r--r-- | dev-build/bazel/bazel-5.3.0.ebuild | 96 | ||||
-rw-r--r-- | dev-build/bazel/bazel-6.2.0.ebuild | 96 | ||||
-rw-r--r-- | dev-build/bazel/files/bazel-3.2.0-include-limits-for-gcc-11.patch | 25 | ||||
-rw-r--r-- | dev-build/bazel/files/bazel-3.7.2-musl-temp-failure-retry.patch | 34 | ||||
-rw-r--r-- | dev-build/bazel/files/bazel-4.2.2-absl_numeric_limits.patch | 41 | ||||
-rw-r--r-- | dev-build/bazel/metadata.xml | 20 |
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> |