summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorgy Yakovlev <gyakovlev@gentoo.org>2020-06-10 18:41:54 -0700
committerGeorgy Yakovlev <gyakovlev@gentoo.org>2020-06-10 19:00:01 -0700
commit9ffa2b34eb0ec951221636e3108295b5741a8485 (patch)
tree88d479c4afe9e9f968a74ad93943e57852fbadde /dev-util
parentmail-client/aerc: drop old (diff)
downloadgentoo-9ffa2b34eb0ec951221636e3108295b5741a8485.tar.gz
gentoo-9ffa2b34eb0ec951221636e3108295b5741a8485.tar.bz2
gentoo-9ffa2b34eb0ec951221636e3108295b5741a8485.zip
dev-util/sccache: add live ebuild
Package-Manager: Portage-2.3.100, Repoman-2.3.22 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/sccache/sccache-9999.ebuild95
1 files changed, 95 insertions, 0 deletions
diff --git a/dev-util/sccache/sccache-9999.ebuild b/dev-util/sccache/sccache-9999.ebuild
new file mode 100644
index 000000000000..df4af3cbb8ad
--- /dev/null
+++ b/dev-util/sccache/sccache-9999.ebuild
@@ -0,0 +1,95 @@
+# Copyright 2017-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# generated with cargo-ebuild 0.2.0
+# needs itoa-0.3.4 for tests
+# added bincode-1.2.0 manually
+CRATES="
+"
+
+inherit cargo eutils
+
+DESCRIPTION="ccache/distcc like tool with support for rust and cloud storage"
+HOMEPAGE="https://github.com/mozilla/sccache/"
+
+if [ ${PV} == "9999" ] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/mozilla/sccache.git"
+else
+ SRC_URI="https://github.com/mozilla/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+ $(cargo_crate_uris ${CRATES})"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 ISC MIT Unlicense ZLIB"
+SLOT="0"
+IUSE="azure dist-client dist-server gcs memcached redis s3"
+
+DEPEND="
+ dist-server? ( dev-libs/openssl:0= )
+ gcs? ( dev-libs/openssl:0= )
+"
+
+RDEPEND="${DEPEND}
+ dist-server? ( sys-apps/bubblewrap )
+"
+
+QA_FLAGS_IGNORED="usr/bin/sccache*"
+
+src_unpack() {
+ if [[ "${PV}" == *9999* ]]; then
+ git-r3_src_unpack
+ cargo_live_src_unpack
+ else
+ cargo_src_unpack
+ fi
+}
+
+src_configure() {
+ myfeatures=(
+ $(usev azure)
+ $(usev dist-client)
+ $(usev dist-server)
+ $(usev gcs)
+ $(usev memcached)
+ $(usev redis)
+ $(usev s3)
+ )
+}
+
+src_compile() {
+ cargo_src_compile ${myfeatures:+--features "${myfeatures[*]}"} --no-default-features
+}
+
+src_install() {
+ cargo_src_install ${myfeatures:+--features "${myfeatures[*]}"} --no-default-features
+
+ keepdir /etc/sccache
+
+ einstalldocs
+ dodoc -r docs/.
+
+ if use dist-server; then
+ newinitd "${FILESDIR}"/server.initd sccache-server
+ newconfd "${FILESDIR}"/server.confd sccache-server
+
+ newinitd "${FILESDIR}"/scheduler.initd sccache-scheduler
+ newconfd "${FILESDIR}"/scheduler.confd sccache-scheduler
+ fi
+}
+
+src_test() {
+ if [[ "${PV}" == *9999* ]]; then
+ ewarn "tests are always broken for ${PV} (require network), skipping"
+ else
+ cargo_src_test ${myfeatures:+--features "${myfeatures[*]}"} --no-default-features
+ fi
+}
+
+pkg_postinst() {
+ ewarn "${PN} is experimental, please use with care"
+ use memcached && optfeature "memcached backend support" net-misc/memcached
+ use redis && optfeature "redis backend support" dev-db/redis
+}