forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Jason Zaman <[email protected]> Package-Manager: Portage-2.3.49, Repoman-2.3.10
- Loading branch information
Showing
2 changed files
with
124 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
DIST bazel-0.16.0-dist.zip 89720984 BLAKE2B be8ad9c94b13dd8d1d1de76ed67a3a695a2541327b8cb8a4d27b9279c065cb351d6b2d5785024d11a163bfd4697fb1375b350c8220387ab79db7e95537def5c3 SHA512 89cefed69df1cae7076673900546199427fab3508aad1f0347b9da38153b6b1566b19a4c205055f41ca431fd9444ec772c86bc32fbff0da0485a5e5f11728932 | ||
DIST bazel-0.17.1-dist.zip 79229870 BLAKE2B 0f149ac881dc1bc02ab5b07590620d19921034d6d5fb88bf46b0a10e0eceac1ba0f33181e9912d342c01e551bf94e38a13e4252762e6b4e7800ec1527a970f76 SHA512 b8c2292baf67b0b8a85811145ac220084975a2bcd2f2a9f461e83589296c56166886f91a32cde343762247a9c3a04100b3f86a8f969d880f641f88183a804e6b | ||
DIST bazel-0.17.2-dist.zip 79230155 BLAKE2B 62a60011f9605a1d615e648fdbb98b193561e1d86a7562ccb10fdbb8b6986e17a72c4076dbdbf6baf8a7af83e320af2c4e4b65b5b2101d845597ddd688194ba5 SHA512 0d277e20eac6fc972a31be1c77a750f6585d16beabfe7dd096db4103f0f191958aa83b52203b91d4df5b486ff20004c0b4b22125e58379f64f68abc4a87ac326 | ||
DIST google-desugar_jdk_libs-f5e6d80c6b4ec6b0a46603f72b015d45cf3c11cd.zip 1056996 BLAKE2B bf168c41a9958bcdc679a40d1e88911c6af0e47207362204326b712e0129b37348360a855f44af8b76acc46108ac89a707d0c0f793500c513a919070248939b9 SHA512 40cb9ffcaa3c57c69bcbec7b070fad5865e7317817049b7588dd42899054eb97cd17cb0019df99ad2324ed8e2efd8334cd83ace758a4c2d3f453503ccf54a91e | ||
DIST zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules.tar.gz 53360827 BLAKE2B 2cf000a50950d839fec4a0ff871632a18a67e93ff31a430d8af92fb0bf40f11d0d45a4427ec546618620aa1c1fc1078a9e918c540315ef8e5fb3928c9b36019d SHA512 63c3989b97845d9a019be5f20e667d9c96550738502c148b0dbf6cd9c1553df077217cb6fa0a9517d555c53a7a6eadeb7403d94aebca01f67aee3d97517df4fd |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
# Copyright 1999-2018 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
|
||
inherit bash-completion-r1 java-pkg-2 multiprocessing | ||
|
||
DESCRIPTION="Fast and correct automated build system" | ||
HOMEPAGE="http://bazel.io/" | ||
|
||
SRC_URI="https://github.com/bazelbuild/bazel/releases/download/${PV}/${P}-dist.zip" | ||
|
||
LICENSE="Apache-2.0" | ||
SLOT="0" | ||
KEYWORDS="~amd64" | ||
IUSE="examples tools zsh-completion" | ||
# strip corrupts the bazel binary | ||
RESTRICT="strip" | ||
RDEPEND="virtual/jdk:1.8" | ||
DEPEND="${RDEPEND} | ||
app-arch/unzip | ||
app-arch/zip" | ||
|
||
S="${WORKDIR}" | ||
QA_FLAGS_IGNORED="usr/bin/bazel" | ||
|
||
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 | ||
|
||
sed -i 's@//src:bazel@//src:bazel_nojdk@' scripts/BUILD || die | ||
|
||
# F: fopen_wr | ||
# S: deny | ||
# P: /proc/self/setgroups | ||
# A: /proc/self/setgroups | ||
# R: /proc/24939/setgroups | ||
# C: /usr/lib/systemd/systemd | ||
addpredict /proc | ||
|
||
# Use standalone strategy to deactivate the bazel sandbox, since it | ||
# conflicts with FEATURES=sandbox. | ||
cat > "${T}/bazelrc" <<-EOF | ||
build --verbose_failures | ||
build --spawn_strategy=standalone --genrule_strategy=standalone | ||
build --distdir=${S}/derived/distdir/ | ||
build --jobs=$(makeopts_jobs) $(bazel-get-flags) | ||
test --verbose_failures --verbose_test_summary | ||
test --spawn_strategy=standalone --genrule_strategy=standalone | ||
EOF | ||
|
||
echo "import ${T}/bazelrc" >> "${S}/.bazelrc" | ||
} | ||
|
||
src_compile() { | ||
export EXTRA_BAZEL_ARGS="--jobs=$(makeopts_jobs)" | ||
VERBOSE=yes ./compile.sh || die | ||
output/bazel --bazelrc="${T}/bazelrc" build //scripts:bazel-complete.bash || die | ||
output/bazel shutdown | ||
} | ||
|
||
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-bin/scripts/bazel-complete.bash ${PN} | ||
bashcomp_alias ${PN} ibazel | ||
if use zsh-completion ; then | ||
insinto /usr/share/zsh/site-functions | ||
doins scripts/zsh_completion/_bazel | ||
fi | ||
|
||
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 | ||
fi | ||
} |