From 31396a3ee044603fcc7fe0ae3a1cfcc998722e63 Mon Sep 17 00:00:00 2001 From: idealseal Date: Wed, 29 Apr 2026 22:41:55 +0000 Subject: [PATCH] dev-util/sccache: add 0.15.0 Signed-off-by: idealseal Part-of: https://codeberg.org/gentoo/gentoo/pulls/782 Merges: https://codeberg.org/gentoo/gentoo/pulls/782 Signed-off-by: Sam James --- dev-util/sccache/Manifest | 2 + dev-util/sccache/sccache-0.15.0.ebuild | 110 +++++++++++++++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 dev-util/sccache/sccache-0.15.0.ebuild diff --git a/dev-util/sccache/Manifest b/dev-util/sccache/Manifest index fd63945ec211a..bd549fb615dcf 100644 --- a/dev-util/sccache/Manifest +++ b/dev-util/sccache/Manifest @@ -1,3 +1,5 @@ DIST itoa-0.3.4.crate 9921 BLAKE2B b2cc97b6b50164bfab0ccf3afb53ec827ec3247a8111814f9e2e3181394515abda1f452168d11b518d771701f6ce9a2936a0ed69e9b82e1a842c51c1e74df536 SHA512 1cecca0c6c6d9602e692e16cb6dce850c0f7c7ac5ec1defe1f5b8a17ed325abe41eaba56c1d973dc63bc476b52d436a90b266f6eff99c618b6581cbffcaa278f DIST sccache-0.14.0-crates.tar.xz 32418420 BLAKE2B f1ca91b632ec1b5d5c1aeb08e220ffcfffaf02dcc6d482c83e0e2ddb638f69de9bfb7b22db1c53c3f76f1161350284c0a3814f8193d3eb9af2ef45a216fae398 SHA512 773da6d68f500faf2af4cac9c514a753ba1db637a25c2b09918df6b865fd5580c319a63bafaadc12e76604a7b36fe57bb2e0f59609be6dc945b42f1d5e58f35f DIST sccache-0.14.0.tar.gz 436677 BLAKE2B f2b8b7a76ff5aef6d3a0e96c8fb363b19c0a0cd1611d3cc9e88c2b9bb47fa343780ae6cf9175e1ffc51cb1428375acfbd1b62843d221d6499f46c359034d8b7e SHA512 9ff3aeb9b29029f60fa67ce7a5cba2b36b5141699085029b0701c716a25b27d0c1d04d9f37036c6bdee009e3c3f3ab525d4064cf10016977bb387d5a73467d38 +DIST sccache-0.15.0-crates.tar.xz 32724088 BLAKE2B 67b4f70b861274eafc695516b66f5caf2e4ed625963896597b8630b7644883b698db6a53e3b9c034890055cf1516d976ed7e1e3f10a642a55473c6a88ae8aa51 SHA512 63a62b62fcae689674f3b08a928b62299b1df43f2e093262c3f0990e393036194ae7ab6274a51abe1d579c32128f6c492a0e15f360f22590f364d8d7231c1c36 +DIST sccache-0.15.0.tar.gz 470381 BLAKE2B 856169402e8ad9099b5cf9dbee71c8d2b5dc843e5f89711f22ac919ffaad0c961ccc270aa04dedd56067effc5c60d3b8756ef9f690a66acb532af3d602c2f473 SHA512 0df93c7662aee904e8a1424a700ae9c9ac255583aca88cf73eed232a041dcf5ebe76da2c28b08f2da79b2896c00228755916eed21526aae6354ba1afc78b9e12 diff --git a/dev-util/sccache/sccache-0.15.0.ebuild b/dev-util/sccache/sccache-0.15.0.ebuild new file mode 100644 index 0000000000000..c8af725c41031 --- /dev/null +++ b/dev-util/sccache/sccache-0.15.0.ebuild @@ -0,0 +1,110 @@ +# Copyright 2017-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.7 + +EAPI=8 + +CRATES="" +# Required for tests but not included by pycargoebuild. +CRATES+=" + itoa@0.3.4 +" + +# https://github.com/mozilla/sccache?tab=readme-ov-file#build-requirements +RUST_MIN_VER="1.85.0" + +inherit cargo optfeature systemd + +DESCRIPTION="ccache/distcc like tool with support for rust and cloud storage" +HOMEPAGE="https://github.com/mozilla/sccache" +SRC_URI=" + https://github.com/mozilla/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/gentoo-crate-dist/sccache/releases/download/v${PV}/sccache-${PV}-crates.tar.xz + ${CARGO_CRATE_URIS} +" + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD-2 BSD CC0-1.0 CDLA-Permissive-2.0 ISC MIT MPL-2.0 + Unicode-3.0 Unicode-DFS-2016 ZLIB +" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64" +IUSE="azure dist-client dist-server gcs memcached redis s3 webdav" + +BDEPEND="virtual/pkgconfig" +DEPEND=" + app-arch/zstd:= + virtual/zlib:= + dist-server? ( dev-libs/openssl:= ) + gcs? ( dev-libs/openssl:= ) +" +RDEPEND=" + ${DEPEND} + dev-util/shadowman +" +# Needed for eselect calls in pkg_* +IDEPEND="dev-util/shadowman" + +QA_FLAGS_IGNORED="usr/bin/sccache*" + +pkg_setup() { + export OPENSSL_NO_VENDOR=1 + export PKG_CONFIG_ALLOW_CROSS=1 + export ZSTD_SYS_USE_PKG_CONFIG=1 + rust_pkg_setup +} + +src_configure() { + local myfeatures=( + $(usev azure) + $(usev dist-client) + $(usev dist-server) + $(usev gcs) + $(usev memcached) + $(usev redis) + $(usev s3) + $(usev webdav) + ) + + cargo_src_configure --no-default-features +} + +src_install() { + cargo_src_install + + keepdir /etc/sccache + + insinto /usr/share/shadowman/tools + newins - sccache <<<"${EPREFIX}/usr/lib/sccache/bin" + + 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 + + systemd_dounit "${FILESDIR}"/sccache-server.service + systemd_dounit "${FILESDIR}"/sccache-scheduler.service + fi +} + +pkg_postinst() { + use memcached && optfeature "memcached backend support" net-misc/memcached + use redis && optfeature "redis backend support" dev-db/redis + + if [[ -z ${ROOT} ]]; then + eselect compiler-shadow update sccache + fi +} + +pkg_prerm() { + if [[ -z ${REPLACE_BY_VERSION} && -z ${ROOT} ]]; then + eselect compiler-shadow remove sccache + fi +}