commit:     ba41c92f47c5fe8551f1761d4ae1c48829cc46fd
Author:     Mark Wright <gienah <AT> gentoo <DOT> org>
AuthorDate: Wed May  2 23:17:12 2018 +0000
Commit:     Mark Wright <gienah <AT> gentoo <DOT> org>
CommitDate: Wed May  2 23:17:12 2018 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=ba41c92f

dev-util/bazel: Set our flags for #861 prefix

Package-Manager: Portage-2.3.33, Repoman-2.3.9

 dev-util/bazel/bazel-0.13.0.ebuild | 104 +++++++++++++++++++++++++++++++++++++
 dev-util/bazel/metadata.xml        |  20 +++++++
 2 files changed, 124 insertions(+)

diff --git a/dev-util/bazel/bazel-0.13.0.ebuild 
b/dev-util/bazel/bazel-0.13.0.ebuild
new file mode 100644
index 000000000..797c062b0
--- /dev/null
+++ b/dev-util/bazel/bazel-0.13.0.ebuild
@@ -0,0 +1,104 @@
+# 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
+
+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}"
+
+pkg_setup() {
+       echo ${PATH} | grep -q ccache && \
+               ewarn "${PN} usually fails to compile with ccache, you have 
been warned"
+       java-pkg-2_pkg_setup
+}
+
+bazel-get-flags() {
+       local fs=""
+       for i in ${CFLAGS}; do
+               [[ -n "${fs}" ]] && fs+=" "
+               fs+="--copt=${i}"
+       done
+       for i in ${CXXFLAGS}; do
+               [[ -n "${fs}" ]] && fs+=" "
+               fs+="--cxxopt=${i}"
+       done
+       for i in ${CPPFLAGS}; do
+               [[ -n "${fs}" ]] && fs+=" "
+               fs+="--copt=${i}"
+               fs+="--cxxopt=${i}"
+       done
+       for i in ${LDFLAGS}; do
+               [[ -n "${fs}" ]] && fs+=" "
+               fs+="--linkopt=${i}"
+       done
+       echo "${fs}"
+}
+
+src_compile() {
+       # F: fopen_wr
+       # S: deny
+       # P: /proc/self/setgroups
+       # A: /proc/self/setgroups
+       # R: /proc/24939/setgroups
+       # C: /usr/lib/systemd/systemd
+       addpredict /proc
+       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
+       einfo "output/bazel --bazelrc=\"${T}/bazelrc\" build \\"
+       einfo "    $(bazel-get-flags) \\"
+       einfo "    scripts:bazel-complete.bash"
+       output/bazel --bazelrc="${T}/bazelrc" build $(bazel-get-flags) \
+               scripts:bazel-complete.bash || die
+       mv bazel-bin/scripts/bazel-complete.bash output/ || 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() {
+       output/bazel shutdown
+       dobin output/bazel
+       newbashcomp output/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
+}

diff --git a/dev-util/bazel/metadata.xml b/dev-util/bazel/metadata.xml
new file mode 100644
index 000000000..e7d5f3b34
--- /dev/null
+++ b/dev-util/bazel/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>zmed...@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>

Reply via email to