Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/ccache/
Date: Fri, 27 Aug 2021 21:30:08
Message-Id: 1630099798.f6988b81e4fc908de6c49e2c733eb524f6ed0438.sam@gentoo
1 commit: f6988b81e4fc908de6c49e2c733eb524f6ed0438
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Fri Aug 27 21:26:59 2021 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Fri Aug 27 21:29:58 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f6988b81
7
8 dev-util/ccache: add 4.4
9
10 Signed-off-by: Sam James <sam <AT> gentoo.org>
11
12 dev-util/ccache/Manifest | 1 +
13 dev-util/ccache/ccache-4.4.ebuild | 86 +++++++++++++++++++++++++++++++++++++++
14 dev-util/ccache/metadata.xml | 1 +
15 3 files changed, 88 insertions(+)
16
17 diff --git a/dev-util/ccache/Manifest b/dev-util/ccache/Manifest
18 index 4e9442f6a4b..a1dab85d544 100644
19 --- a/dev-util/ccache/Manifest
20 +++ b/dev-util/ccache/Manifest
21 @@ -1 +1,2 @@
22 DIST ccache-4.3.tar.xz 433508 BLAKE2B 6ab48aa587b4dc86020e3b0f722003dc5c03709626e143a1d38506b6072f9963fc76e89b6d18128dfc28035bf8d24e46ea44f219db69a1b3a294416f0b023090 SHA512 ec082de95ea8b22154ce1e67e0a0fc28266cfb71f382205f7eab14e6ac1c7841027d063041131832b3227d833d99ec874e90df238f35f433de4c381566931c7f
23 +DIST ccache-4.4.tar.xz 509516 BLAKE2B 6c4519d3cd93be49dfff09f22ada798894c9f4475395443e0dcfcf768178f1520cf26bc5c2e0ea22e06cc3ebd6ddaf930a2d1b517593a10c3253f7faa3131f43 SHA512 a857d1aded9c352eabba9c0f31b43fd17ae91672dabdfc086851448867c9dff6ad6dd7ee60f8e39102d41b7d8cf7866c6bf104e0214e865de45e75a8df7626f0
24
25 diff --git a/dev-util/ccache/ccache-4.4.ebuild b/dev-util/ccache/ccache-4.4.ebuild
26 new file mode 100644
27 index 00000000000..39f7580581d
28 --- /dev/null
29 +++ b/dev-util/ccache/ccache-4.4.ebuild
30 @@ -0,0 +1,86 @@
31 +# Copyright 1999-2021 Gentoo Authors
32 +# Distributed under the terms of the GNU General Public License v2
33 +
34 +EAPI=7
35 +
36 +inherit cmake toolchain-funcs
37 +
38 +DESCRIPTION="Fast compiler cache"
39 +HOMEPAGE="https://ccache.dev/"
40 +SRC_URI="https://github.com/ccache/ccache/releases/download/v${PV}/ccache-${PV}.tar.xz"
41 +
42 +LICENSE="GPL-3 LGPL-3"
43 +SLOT="0"
44 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
45 +# Enable 'static-c++' by default to make 'gcc' ebuild Just Work: bug #761220
46 +IUSE="redis +static-c++ test"
47 +RESTRICT="!test? ( test )"
48 +
49 +DEPEND="app-arch/zstd:=
50 + redis? ( dev-libs/hiredis:= )"
51 +RDEPEND="${DEPEND}
52 + dev-util/shadowman
53 + sys-apps/gentoo-functions"
54 +# clang-specific tests use dev-libs/elfutils to compare objects for equality.
55 +# Let's pull in the dependency unconditionally.
56 +DEPEND+=" test? ( dev-libs/elfutils )"
57 +BDEPEND="app-text/asciidoc"
58 +
59 +DOCS=( doc/{AUTHORS,MANUAL,NEWS}.adoc CONTRIBUTING.md README.md )
60 +
61 +PATCHES=(
62 + "${FILESDIR}"/${PN}-3.5-nvcc-test.patch
63 + "${FILESDIR}"/${PN}-4.0-objdump.patch
64 + "${FILESDIR}"/${PN}-4.1-avoid-run-user.patch
65 +)
66 +
67 +src_prepare() {
68 + cmake_src_prepare
69 +
70 + sed \
71 + -e "/^EPREFIX=/s:'':'${EPREFIX}':" \
72 + "${FILESDIR}"/ccache-config-3 > ccache-config || die
73 +
74 + # mainly used in tests
75 + tc-export CC OBJDUMP
76 +
77 + # Avoid dependency on libstdc++.so. Useful for cases when
78 + # we would like to use ccache to build older gcc which injects
79 + # into ccache locally built (possibly outdated) libstdc++
80 + # See bug #761220 for examples.
81 + #
82 + # Ideally gcc should not use LD_PRELOAD to avoid this type of failures.
83 + use static-c++ && append-ldflags -static-libstdc++
84 +}
85 +
86 +src_configure() {
87 + local mycmakeargs=(
88 + -DUSE_CCACHE=OFF
89 + -DZSTD_FROM_INTERNET=OFF
90 + -DREDIS_STORAGE_BACKEND=$(usex redis)
91 + )
92 +
93 + use redis && mycmakeargs+=( -DHIREDIS_FROM_INTERNET_DEFAULT=OFF )
94 +
95 + cmake_src_configure
96 +}
97 +
98 +src_install() {
99 + cmake_src_install
100 +
101 + dobin ccache-config
102 + insinto /usr/share/shadowman/tools
103 + newins - ccache <<<"${EPREFIX}/usr/lib/ccache/bin"
104 +}
105 +
106 +pkg_prerm() {
107 + if [[ -z ${REPLACED_BY_VERSION} && ${ROOT:-/} == / ]] ; then
108 + eselect compiler-shadow remove ccache
109 + fi
110 +}
111 +
112 +pkg_postinst() {
113 + if [[ ${ROOT:-/} == / ]]; then
114 + eselect compiler-shadow update ccache
115 + fi
116 +}
117
118 diff --git a/dev-util/ccache/metadata.xml b/dev-util/ccache/metadata.xml
119 index f673d3c5836..57030654f60 100644
120 --- a/dev-util/ccache/metadata.xml
121 +++ b/dev-util/ccache/metadata.xml
122 @@ -6,6 +6,7 @@
123 <name>Gentoo Toolchain Project</name>
124 </maintainer>
125 <use>
126 + <flag name="redis">Enable Redis backend for storage via <pkg>dev-libs/hiredis</pkg></flag>
127 <flag name="static-c++">Avoid dynamic dependency on gcc's libstdc++.</flag>
128 </use>
129 <longdescription lang="en">