summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Fabbro <bicatali@gentoo.org>2016-10-29 00:51:32 +0000
committerSébastien Fabbro <bicatali@gentoo.org>2016-10-29 00:51:32 +0000
commit3609f624e1e5179c4d1ddaccc876a38ec5ab7de3 (patch)
treec41537d172fa01acd960aa012b004c92706b2159
parentdev-util/conan: initial import (diff)
downloadgentoo-3609f624.tar.gz
gentoo-3609f624.tar.bz2
gentoo-3609f624.zip
dev-util/bazel: add test, build verbosity, use flags and warn on ccache
Was committing almost simultaneously as initial import. Added myself as maintainer and: - build verbosity - ccache failed on me, so adding a warning for the user - option to install examples, tools, and zsh-completion Package-Manager: portage-2.3.2
-rw-r--r--dev-util/bazel/bazel-0.3.2-r1.ebuild65
-rw-r--r--dev-util/bazel/metadata.xml13
2 files changed, 78 insertions, 0 deletions
diff --git a/dev-util/bazel/bazel-0.3.2-r1.ebuild b/dev-util/bazel/bazel-0.3.2-r1.ebuild
new file mode 100644
index 000000000000..a78ef97d2ae8
--- /dev/null
+++ b/dev-util/bazel/bazel-0.3.2-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit bash-completion-r1 java-pkg-2
+
+DESCRIPTION="Fast and correct automated build system"
+HOMEPAGE="http://bazel.io/"
+SRC_URI="https://github.com/bazelbuild/bazel/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples tools zsh-completion"
+# strip corrupts the bazel binary
+RESTRICT="strip"
+DEPEND="virtual/jdk:1.8"
+RDEPEND="${DEPEND}"
+
+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_compile() {
+ VERBOSE=yes ./compile.sh || die
+ # Use standalone strategy to deactivate the bazel sandbox, since it
+ # conflicts with FEATURES=sandbox.
+ echo "build --verbose_failures --spawn_strategy=standalone --genrule_strategy=standalone" \
+ > "${T}/bazelrc" || die
+ output/bazel --bazelrc="${T}/bazelrc" build //scripts:bazel-complete.bash || die
+}
+
+src_test() {
+ output/bazel test \
+ --verbose_failures \
+ --spawn_strategy=standalone \
+ --genrule_strategy=standalone \
+ --verbose_test_summary \
+ examples/cpp:hello-success_test || die
+}
+
+src_install() {
+ dobin output/bazel
+ newbashcomp bazel-bin/scripts/bazel-complete.bash ${PN}
+ if use zsh-completion ; then
+ insinto /usr/share/zsh/site-functions
+ doins scripts/zsh_completion/_bazel
+ fi
+ if use examples; then
+ docinto examples
+ doins -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
+ doins -r tools/*
+ docompress -x /usr/share/doc/${PF}/tools
+ fi
+}
diff --git a/dev-util/bazel/metadata.xml b/dev-util/bazel/metadata.xml
index 6fa37547639c..518e125be253 100644
--- a/dev-util/bazel/metadata.xml
+++ b/dev-util/bazel/metadata.xml
@@ -4,7 +4,20 @@
<maintainer type="person">
<email>zmedico@gentoo.org</email>
</maintainer>
+ <maintainer type="person">
+ <email>bicatali@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>