summaryrefslogtreecommitdiff
path: root/dev-util/bazel
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/bazel')
-rw-r--r--dev-util/bazel/Manifest3
-rw-r--r--dev-util/bazel/bazel-4.2.2.ebuild96
-rw-r--r--dev-util/bazel/files/bazel-4.2.2-absl_numeric_limits.patch41
3 files changed, 140 insertions, 0 deletions
diff --git a/dev-util/bazel/Manifest b/dev-util/bazel/Manifest
index d5cf24017882..bb3468c59ca8 100644
--- a/dev-util/bazel/Manifest
+++ b/dev-util/bazel/Manifest
@@ -1,5 +1,8 @@
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
EBUILD bazel-3.7.2-r1.ebuild 2740 BLAKE2B c6aaea27500b46a0aa684410307726b6ba5a306b27331cdee0e4b6af09cd711fb6918eeb0e9ac1c84e4fce1f22b870f7bf0f62b498e16ea71a232ea5280ca5af SHA512 f3b810aa3af9baf87e732029235650bb59c1f9894bc80b7973fbeed47e8c362b5c6dc75365b752043e655c8a57f52bcdb8a8aaa0f7491b7a34619d778571b4ab
+EBUILD bazel-4.2.2.ebuild 2331 BLAKE2B ea7a699f20c41be2c185ea185657c16072c6aeb13ad0f89eb33bcabc44eaa1dab492e27f82af9066f38c98770c0053ae36228d6a0c1e0c07585863040aaa25b9 SHA512 42e147bcfb3f46a85ced3fd68c08019f4f6477863b68a20af5d91f54a9e2289db09a1e8c7f09261436c9d24c0cc7bd4523502a4b62f127d57c559b443f890a39
MISC metadata.xml 706 BLAKE2B 07f70164b2e809db66f4255b62635e1b93ff58269f323a0efbfd994dd425034e4896599463c900582f0863cebf8f5ee0dd56da01bafbd30c9e27e88ffb99ad46 SHA512 3a335159533ca5f0d7de3b1bde18a737ba2dca2de56121124cdb9cb05009db5fac07bef1d21d5b73bec834b7928e7ec291e2ff3cd964e395431b9deac29bfbe6
diff --git a/dev-util/bazel/bazel-4.2.2.ebuild b/dev-util/bazel/bazel-4.2.2.ebuild
new file mode 100644
index 000000000000..41553e6c87d4
--- /dev/null
+++ b/dev-util/bazel/bazel-4.2.2.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2022 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/jdk-1.8:*"
+DEPEND="${RDEPEND}
+ 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-util/bazel/files/bazel-4.2.2-absl_numeric_limits.patch b/dev-util/bazel/files/bazel-4.2.2-absl_numeric_limits.patch
new file mode 100644
index 000000000000..c120255bf383
--- /dev/null
+++ b/dev-util/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",