summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-util/bazel/Manifest1
-rw-r--r--dev-util/bazel/bazel-0.28.1.ebuild108
2 files changed, 109 insertions, 0 deletions
diff --git a/dev-util/bazel/Manifest b/dev-util/bazel/Manifest
index eda2473a53f..bc96aabab66 100644
--- a/dev-util/bazel/Manifest
+++ b/dev-util/bazel/Manifest
@@ -4,3 +4,4 @@ DIST bazel-0.24.1-dist.zip 174691842 BLAKE2B 56d42421ac6f5513f019f3b71ca0c5e7b49
DIST bazel-0.26.1-dist.zip 244633948 BLAKE2B 667078bda6e52f696127b7a4914ec52ab67a84f89ac957304a281268615158cc813d7d7cdac58b336dd8ef1d3cd117f1474f64f741e0a3119034dc43ca3b58b0 SHA512 f43f156947c2e9effb1f3ab79235d47d00254103b5a5aac62001008403216b2330c9062ce85d42be4fa582ad52d14ba52a47875df40c58a7e18c391684407574
DIST bazel-0.27.0-dist.zip 247946763 BLAKE2B f061793de89144c77bd42de56c495e8b3399ac1892bdd2b0e210102ea1c2835a848432b2964ddcc6ebe77aa580efa378d46afad1faa6dec0831666f201a6dd74 SHA512 f5c6a0c789eb55790479ff839f7f959e7d0e46e5f14b5cdcd720e4dc2c36122345c9dcd6bfa803f88fb5264553a3d63ae0c8e4c7b9779bfc65183e2aaee5a666
DIST bazel-0.27.2-dist.zip 247948037 BLAKE2B ee3dafbb104f434080ad803cb40585e36a8c816eddac3d1a680752dd4ac65d588f1d5f4bb759dad0f59e9f6d7aad0ea5b54cd050d75a5434ee6ef079d8127641 SHA512 5fd7c2af2123424d3e5e4c9216de10d12ce604798f4831800c8d68cfd9bcf1133f4db9a947f0ee16db1a1513be17340ab8e36fba994a016d98c74ad5e026b4ab
+DIST bazel-0.28.1-dist.zip 256641169 BLAKE2B 489dfb1a27f83ff244cd05c11ec206689c12319a48f000379277073a108a79ad2dff61ed159efcbb1405531114ccb2d749e974004f969623cd4e9470166609f0 SHA512 640d3a9644436379e989d5993b5de9f2dc14d651a9f444c8795853989fdded7a62d71ab7cfa491d2aaf6402020c4931c8dc190d4dae63727b172ccb48ed55931
diff --git a/dev-util/bazel/bazel-0.28.1.ebuild b/dev-util/bazel/bazel-0.28.1.ebuild
new file mode 100644
index 00000000000..a1d730d5713
--- /dev/null
+++ b/dev-util/bazel/bazel-0.28.1.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2019 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 test tools"
+# strip corrupts the bazel binary
+RESTRICT="strip test? ( network-sandbox ) !test? ( test )"
+RDEPEND=">=virtual/jdk-1.8:*"
+DEPEND="${RDEPEND}
+ 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() {
+ echo ${PATH} | grep -q ccache && \
+ ewarn "${PN} usually fails to compile with ccache, you have been warned"
+ 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
+}