summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-util/bazel/Manifest1
-rw-r--r--dev-util/bazel/bazel-0.29.1.ebuild109
2 files changed, 110 insertions, 0 deletions
diff --git a/dev-util/bazel/Manifest b/dev-util/bazel/Manifest
index bc96aabab66a..c80c930700b7 100644
--- a/dev-util/bazel/Manifest
+++ b/dev-util/bazel/Manifest
@@ -5,3 +5,4 @@ DIST bazel-0.26.1-dist.zip 244633948 BLAKE2B 667078bda6e52f696127b7a4914ec52ab67
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
+DIST bazel-0.29.1-dist.zip 265744999 BLAKE2B 8495ab96947b02ec827cc2b5f542454e0d631eb077514c740d8be813495644f0be1020e706e2dbd321fa6f39af3060c4a7b2e68499201eaffc197704c1ecf760 SHA512 4da49e3f1ba681003afc2536d55954ed5a2c29de4a68e5a07f2627f3573d97bd6e244bc8a4f43c8951ecddd221041d87270ca9b7dd59ab16676306c9716f003d
diff --git a/dev-util/bazel/bazel-0.29.1.ebuild b/dev-util/bazel/bazel-0.29.1.ebuild
new file mode 100644
index 000000000000..84224be11667
--- /dev/null
+++ b/dev-util/bazel/bazel-0.29.1.ebuild
@@ -0,0 +1,109 @@
+# 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 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}"
+
+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
+}