commit:     3609f624e1e5179c4d1ddaccc876a38ec5ab7de3
Author:     Sébastien Fabbro <bicatali <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 29 00:51:32 2016 +0000
Commit:     Sebastien Fabbro <bicatali <AT> gentoo <DOT> org>
CommitDate: Sat Oct 29 00:51:32 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3609f624

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

 dev-util/bazel/bazel-0.3.2-r1.ebuild | 65 ++++++++++++++++++++++++++++++++++++
 dev-util/bazel/metadata.xml          | 13 ++++++++
 2 files changed, 78 insertions(+)

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 00000000..a78ef97
--- /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 6fa3754..518e125 100644
--- a/dev-util/bazel/metadata.xml
+++ b/dev-util/bazel/metadata.xml
@@ -4,7 +4,20 @@
        <maintainer type="person">
                <email>[email protected]</email>
        </maintainer>
+       <maintainer type="person">
+               <email>[email protected]</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>

Reply via email to