summaryrefslogtreecommitdiff
path: root/dev-util/ccache
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-11-25 22:39:15 +0000
committerV3n3RiX <venerix@redcorelinux.org>2020-11-25 22:39:15 +0000
commitd934827bf44b7cfcf6711964418148fa60877668 (patch)
tree0625f358789b5e015e49db139cc1dbc9be00428f /dev-util/ccache
parent2e34d110f164bf74d55fced27fe0000201b3eec5 (diff)
gentoo resync : 25.11.2020
Diffstat (limited to 'dev-util/ccache')
-rw-r--r--dev-util/ccache/Manifest14
-rw-r--r--dev-util/ccache/ccache-3.7.12.ebuild (renamed from dev-util/ccache/ccache-3.7.11.ebuild)2
-rw-r--r--dev-util/ccache/ccache-4.0.ebuild104
-rw-r--r--dev-util/ccache/ccache-4.1.ebuild69
-rw-r--r--dev-util/ccache/files/ccache-3.7.12-objdump.patch (renamed from dev-util/ccache/files/ccache-3.7.10-objdump.patch)7
-rw-r--r--dev-util/ccache/files/ccache-4.0-atomic.patch21
-rw-r--r--dev-util/ccache/files/ccache-4.0-avoid-run-user.patch18
-rw-r--r--dev-util/ccache/files/ccache-4.0-objdump.patch12
-rw-r--r--dev-util/ccache/files/ccache-4.1-avoid-run-user.patch18
9 files changed, 256 insertions, 9 deletions
diff --git a/dev-util/ccache/Manifest b/dev-util/ccache/Manifest
index 4daf497c38d2..4a09f5d73c88 100644
--- a/dev-util/ccache/Manifest
+++ b/dev-util/ccache/Manifest
@@ -1,6 +1,14 @@
AUX ccache-3.5-nvcc-test.patch 262 BLAKE2B b33b6372e8e6c597d7ed6c781f0a3ac22c435d1309fe387e62c5f9b61c783294ec81cfd1c8a0afc60e63148dcc89f95ebc6d313a0567431a8d05c96e3d59bae1 SHA512 651e26335df8eb551f95064d67925d6e7dd15c8a082b291cdea31fcbc2e5482b2358de71c205c668173b3dc5a75ef004d95dbdd92391e4a4aa6bc1283f5f3a72
-AUX ccache-3.7.10-objdump.patch 392 BLAKE2B 6c15a165aff5b2633b0c3571f8f89a3480d5608b006f9f3c0a80117d5c94039fc3e631d0f54c870df1904ac5c855d11007fb73178be8df7001be4f414d103ede SHA512 94f291d44a64ed9aff04da39467751aaf84262fd987c63e53213cbdedbaf30c36ff0aa0902e73418846153e8cdf5a912b021adf7c122bea9698cb296faa9ebf6
+AUX ccache-3.7.12-objdump.patch 302 BLAKE2B dfd85c0448ee685109079d0b6d84342941d777aee0d0eaa968abc9f089173f7d9e63b97dcbc1618431815238de1c231d2454d4577b7177e63230e4806cce4d3b SHA512 18461643d1404b341f9259aea8163c5306c81155350487bef22614586c7ba355bb846d2bc2ebe2746ac781d7267a474933ed3baf2196f1d62bb3fdeff5c8d094
+AUX ccache-4.0-atomic.patch 546 BLAKE2B 4cde3f7251e503925eaebda911d3d7da4bf9c0dff3d5fe543a39032eb9b7286d2e48a7198a674a64586cd8f7313928b404d77581809d2fe504b093efa156efa5 SHA512 3d172a6b87390ff2c0c1b419ead42b035bd618c01beee3aebcb1bc536a3e13eb71221e224f3992cfa299dae2037dbe65157a2ad16d7c406127c65e3bd62369af
+AUX ccache-4.0-avoid-run-user.patch 565 BLAKE2B b45dc881661843b86823dc4ec27459c92652c75a80aeed39964bff1ddecb31c36037259319288f0ae6d6729236852fe0a3f74c59b54c5d078837babd1886c05f SHA512 f37a5e7127e4a7c9192285e96dfa6f23280b55607a74bae68dd8400576ee75b6db795c34295fdc82c960d36a11104baa63ba8148ab34129264b6694664ba5e70
+AUX ccache-4.0-objdump.patch 271 BLAKE2B e641f1acef1e439660753c781d5760ab2a2530ce8dbcfacb1c3835523ec41ff35701536698827f11c39c1e06641fcf6b57d374944ecb44888a66c7860f97b813 SHA512 cc53f44b173c1ae66258aa573182ae936304dac9daf8489a20c45dbe3d554df207bd93b370da2c86b22fbc4edf5fd954f84fd18812d97d41a88ea4c7926f117c
+AUX ccache-4.1-avoid-run-user.patch 557 BLAKE2B 956ac163da6c8acdefb5b395549067272beea095e93686cf553d534c94d76c1c032ef3423f851907367006e1e7bc7b4afe1494bef1eb293e5aca2e3625c29c10 SHA512 bbdd370e478839980423777053baa42ce37cd18ebf8cd36d3f5b13d9252c38b17840ab6e71aefda20a9903bd4a85e4cdb4582728a9db9d1e847b0ee9569bba9e
AUX ccache-config-3 2147 BLAKE2B 6e703e12b6a2f83b838f8b1d1e534de3366b6e2994990b30c381b0df28be9c0ae7c0f1d7325282e97ca54881171846c13945b264bd4a793785ff1a19d0941669 SHA512 05d512b001b6a2fdc947d10d810c89683144080a060c24a37422e9b587594e1ee42fa1d7607461571f196819dae92146d861e8ae116e9226e1ff97ea035b3003
-DIST ccache-3.7.11.tar.xz 354160 BLAKE2B 46fc5d65d6224bb796db7632b35ccca1089e5fed36eeb2ba231cf4c1aaa94be10bf0504f6ef565ce11673e527e09dee64583a764062ca7fea38364d790dd8cc1 SHA512 47b71b3ab4b89bf9b6f6d15941c22d2207b369922f51f9a8fbf4e86554325053dccce669e1c1ed3c0019a7e0a3d610f399e52d3fee68b56111aa7c1b24132c11
-EBUILD ccache-3.7.11.ebuild 1530 BLAKE2B 093cb80d04da0eff8e43fc8410ae9754e469a7bb13b6345e58b54e78403c51c5958d74ee427fe48a4b9af7106c6b06078bc883bd98f89d1272e68029dacffb6a SHA512 807892e4ce506421b26715df51fbfb92eb6101d25589f4c91dd7d7c83b20babd95371ce6d2fa9fe3258f3cadff2be8f96f24dbe9b1e674fafcbf5dd55d798fb7
+DIST ccache-3.7.12.tar.xz 354684 BLAKE2B b0b1028ede8206622c4b563cdc1351bdbe49ac11aa92d405c778af91db5bac029f7331371ef0a55bc3b1c7a0b60fbc5711277e048481bf0f4ad4b1be8acd3495 SHA512 0eb47869f86d36b3e5fad0d5073973f0444f3efe23fd14469a9e05154ea219228443098b1c5e4a8a0c5c78b4bfa7623735b50ebd6b8b4d0626766061850d6a62
+DIST ccache-4.0.tar.xz 383264 BLAKE2B ef4ca19860e2a0d313354cbd59a9eff441e86663820e8233dcf4b45a008ffa330b4a4c22eb11f3c6a7a98950d7d247034e60eb71c84ec4471f60fa19591651bd SHA512 1e55767bc2919109ae3c9b74f0adcd518e7e11df45c3981b2e9f8b04a780f9730457eeef1df137c65ab20e0959600c5317f06b58ffb82f5806c7c9f6cc305715
+DIST ccache-4.1.tar.xz 389240 BLAKE2B 265ed6cd9602a04db0fadf63266d0fe1e78a74c69a27f05854a287e4048934d6afd63e71987bc525217782075c1a158601c400f3418caa0eb9730f34275bd08c SHA512 e80075eeea3fef8215de0a793e02381bfb59d7e74237fa34a49306047c60f0de0e678396ad3a9e5d86d3ad2aa21bbe29c7f0055f06b3ba2470f6895ce2eedd7b
+EBUILD ccache-3.7.12.ebuild 1530 BLAKE2B 6ea1ab50007e06e65ec0a5115a05d052bd529ca672a7fa53661ff45b6c388f7b5807f2f2f2bd1ef93ee46668e6f31406aaee905a7c68afc6acc39352ebf2934e SHA512 e34c1ee340602cfdeb3e83d92a299af71a36c217037a8f703796b3595ab8c38ae84c63ba79117d583857a59b30218da7025f22469c7c52d4f06305b5542fd398
+EBUILD ccache-4.0.ebuild 2307 BLAKE2B bbde9b526f28bd20eae445589e12d533eefacd9a637c2e5f2d399bcaa4011610d8a728433fc399c01dc895cdbea750f53b8981ba57e4f6c10ccf9f77b2399863 SHA512 1d4be8c05062acdaeaf50b658ad2f690a75351b18dc3c80d904aa405a1db2228ab31bff856145c6a32152c088c68d016cc75e9f3ec0ba78cabe65a08b6c7e365
+EBUILD ccache-4.1.ebuild 1504 BLAKE2B 291541d21959b85e974c9fe00086a98dbebe35cbb5bfec6af37dd4e9b32c55512dabce472cfae2eccf003cf9903928c76e718fb0a5d71982173d73056ffbf94b SHA512 fdcf3c601b4e574f4e6f7b305c5b417b69d5cb9916c8838dbca86e4e87082ba7901002b8432e349ca4d93252dbbf093e660b25b81999e007ee6735e60e1473bf
MISC metadata.xml 445 BLAKE2B 8ef8f120989420428ea85108180c659c72a7553f3f20ab96597d26aa04b059f491aeae8c887697a214c437f2dba30fbb934cb47c1db93821eda7dd489e6cb693 SHA512 41ffcad23c9f0274c48a058090d6404cd782dea6674b81615a6b3b7fa272ff5df4c68404fb4dcdb9d2275c13fb137f21f0f65232d5fb1ef6152cc25213893249
diff --git a/dev-util/ccache/ccache-3.7.11.ebuild b/dev-util/ccache/ccache-3.7.12.ebuild
index 04f64dcc7b6a..5dfae60d7ef7 100644
--- a/dev-util/ccache/ccache-3.7.11.ebuild
+++ b/dev-util/ccache/ccache-3.7.12.ebuild
@@ -28,7 +28,7 @@ RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}"/${PN}-3.5-nvcc-test.patch
- "${FILESDIR}"/${PN}-3.7.10-objdump.patch
+ "${FILESDIR}"/${PN}-3.7.12-objdump.patch
)
src_prepare() {
diff --git a/dev-util/ccache/ccache-4.0.ebuild b/dev-util/ccache/ccache-4.0.ebuild
new file mode 100644
index 000000000000..da46cf9b15a3
--- /dev/null
+++ b/dev-util/ccache/ccache-4.0.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="fast compiler cache"
+HOMEPAGE="https://ccache.dev/"
+SRC_URI="https://github.com/ccache/ccache/releases/download/v${PV}/ccache-${PV}.tar.xz"
+
+LICENSE="GPL-3 LGPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ dev-util/shadowman
+ sys-apps/gentoo-functions"
+# clang-specific tests use dev-libs/elfutils to compare objects for equality.
+# Let's pull in the dependency unconditionally.
+DEPEND+="
+ test? ( dev-libs/elfutils )"
+
+RESTRICT="!test? ( test )"
+
+DOCS=( doc/{AUTHORS,MANUAL,NEWS}.adoc CONTRIBUTING.md README.md )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.5-nvcc-test.patch
+ "${FILESDIR}"/${PN}-4.0-objdump.patch
+ "${FILESDIR}"/${PN}-4.0-avoid-run-user.patch
+ "${FILESDIR}"/${PN}-4.0-atomic.patch
+)
+
+# ccache does not do it automatically. TODO: fix upstream
+need_latomic() {
+ # test if -latomic is needed and helps. -latomic is needed
+ # at least on ppc32. Use bit of inodeCache.cpp test.
+ cat >"${T}"/a-test.cc <<-EOF
+ #include <atomic>
+ #include <cstdint>
+ std::atomic<std::int64_t> a;
+ int main() { return a.load() == 0; }
+ EOF
+
+ local cxx_cmd=(
+ $(tc-getCXX)
+ $CXXFLAGS
+ $LDFLAGS
+ "${T}"/a-test.cc
+ -o "${T}"/a-test
+ )
+
+ einfo "${cxx_cmd[@]}"
+ "${cxx_cmd[@]}" && return 1
+
+ einfo "Trying to add -latomic"
+ einfo "${cxx_cmd[@]}"
+ cxx_cmd+=(-latomic)
+ "${cxx_cmd[@]}" && return 0
+
+ return 1
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed \
+ -e "/^EPREFIX=/s:'':'${EPREFIX}':" \
+ "${FILESDIR}"/ccache-config-3 > ccache-config || die
+
+ # mainly used in tests
+ tc-export CC OBJDUMP
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLINK_WITH_ATOMIC=$(need_latomic && echo YES || echo NO)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ # TODO: install manpage: https://github.com/ccache/ccache/issues/684
+ cmake_src_install
+
+ dobin ccache-config
+ insinto /usr/share/shadowman/tools
+ newins - ccache <<<"${EPREFIX}/usr/lib/ccache/bin"
+}
+
+pkg_prerm() {
+ if [[ -z ${REPLACED_BY_VERSION} && ${ROOT:-/} == / ]] ; then
+ eselect compiler-shadow remove ccache
+ fi
+}
+
+pkg_postinst() {
+ if [[ ${ROOT:-/} == / ]]; then
+ eselect compiler-shadow update ccache
+ fi
+}
diff --git a/dev-util/ccache/ccache-4.1.ebuild b/dev-util/ccache/ccache-4.1.ebuild
new file mode 100644
index 000000000000..8f04356c74b3
--- /dev/null
+++ b/dev-util/ccache/ccache-4.1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="fast compiler cache"
+HOMEPAGE="https://ccache.dev/"
+SRC_URI="https://github.com/ccache/ccache/releases/download/v${PV}/ccache-${PV}.tar.xz"
+
+LICENSE="GPL-3 LGPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ dev-util/shadowman
+ sys-apps/gentoo-functions"
+# clang-specific tests use dev-libs/elfutils to compare objects for equality.
+# Let's pull in the dependency unconditionally.
+DEPEND+="
+ test? ( dev-libs/elfutils )
+"
+BDEPEND="
+ app-text/asciidoc
+"
+
+RESTRICT="!test? ( test )"
+
+DOCS=( doc/{AUTHORS,MANUAL,NEWS}.adoc CONTRIBUTING.md README.md )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.5-nvcc-test.patch
+ "${FILESDIR}"/${PN}-4.0-objdump.patch
+ "${FILESDIR}"/${PN}-4.1-avoid-run-user.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed \
+ -e "/^EPREFIX=/s:'':'${EPREFIX}':" \
+ "${FILESDIR}"/ccache-config-3 > ccache-config || die
+
+ # mainly used in tests
+ tc-export CC OBJDUMP
+}
+
+src_install() {
+ cmake_src_install
+
+ dobin ccache-config
+ insinto /usr/share/shadowman/tools
+ newins - ccache <<<"${EPREFIX}/usr/lib/ccache/bin"
+}
+
+pkg_prerm() {
+ if [[ -z ${REPLACED_BY_VERSION} && ${ROOT:-/} == / ]] ; then
+ eselect compiler-shadow remove ccache
+ fi
+}
+
+pkg_postinst() {
+ if [[ ${ROOT:-/} == / ]]; then
+ eselect compiler-shadow update ccache
+ fi
+}
diff --git a/dev-util/ccache/files/ccache-3.7.10-objdump.patch b/dev-util/ccache/files/ccache-3.7.12-objdump.patch
index bad334a5c546..f5387104e453 100644
--- a/dev-util/ccache/files/ccache-3.7.10-objdump.patch
+++ b/dev-util/ccache/files/ccache-3.7.12-objdump.patch
@@ -1,15 +1,12 @@
Allow ${CHOST}-objdump (or any other override)
--- a/test/suites/debug_prefix_map.bash
+++ b/test/suites/debug_prefix_map.bash
-@@ -24,9 +24,9 @@ objdump_cmd() {
+@@ -24,7 +24,7 @@ objdump_cmd() {
if $HOST_OS_APPLE; then
xcrun dwarfdump -r0 $1
- elif $HOST_OS_FREEBSD; then
+ else
- objdump -W $1
+ ${OBJDUMP-objdump} -W $1
- else
-- objdump -g $1
-+ ${OBJDUMP-objdump} -g $1
fi
}
diff --git a/dev-util/ccache/files/ccache-4.0-atomic.patch b/dev-util/ccache/files/ccache-4.0-atomic.patch
new file mode 100644
index 000000000000..87b237c7dd56
--- /dev/null
+++ b/dev-util/ccache/files/ccache-4.0-atomic.patch
@@ -0,0 +1,21 @@
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -63,11 +63,17 @@ if(WIN32)
+ endif()
+ endif()
+
++option(LINK_WITH_ATOMIC "Add 'atomic' if needed" OFF)
++set(atomic_lib "")
++if(LINK_WITH_ATOMIC)
++ set(atomic_lib "atomic")
++endif()
++
+ find_package(Threads REQUIRED)
+ target_link_libraries(
+ ccache_lib
+ PRIVATE standard_settings standard_warnings ZSTD::ZSTD
+- Threads::Threads third_party_lib)
++ Threads::Threads third_party_lib ${atomic_lib})
+
+ target_include_directories(ccache_lib PRIVATE ${CMAKE_BINARY_DIR} .)
+
diff --git a/dev-util/ccache/files/ccache-4.0-avoid-run-user.patch b/dev-util/ccache/files/ccache-4.0-avoid-run-user.patch
new file mode 100644
index 000000000000..07da25c6c341
--- /dev/null
+++ b/dev-util/ccache/files/ccache-4.0-avoid-run-user.patch
@@ -0,0 +1,18 @@
+Gentoo's sandbox does not whitelist this path by default yet.
+TODO: bug link.
+
+Until we have a sandbox whitelisting the path let's rely on ccache's default.
+--- a/src/Config.cpp
++++ b/src/Config.cpp
+@@ -833,11 +833,5 @@ Config::check_key_tables_consistency()
+ std::string
+ Config::default_temporary_dir(const std::string& cache_dir)
+ {
+-#ifdef HAVE_GETEUID
+- std::string user_tmp_dir = fmt::format("/run/user/{}", geteuid());
+- if (Stat::stat(user_tmp_dir).is_directory()) {
+- return user_tmp_dir + "/ccache-tmp";
+- }
+-#endif
+ return cache_dir + "/tmp";
+ }
diff --git a/dev-util/ccache/files/ccache-4.0-objdump.patch b/dev-util/ccache/files/ccache-4.0-objdump.patch
new file mode 100644
index 000000000000..af48e997f50b
--- /dev/null
+++ b/dev-util/ccache/files/ccache-4.0-objdump.patch
@@ -0,0 +1,12 @@
+Allow ${CHOST}-objdump (or any other override)
+--- a/test/run
++++ b/test/run
+@@ -133,7 +133,7 @@ objdump_cmd() {
+ # back to brute force and ignorance.
+ strings "$1"
+ else
+- objdump -W "$file"
++ ${OBJDUMP-objdump} -W "$file"
+ fi
+ }
+
diff --git a/dev-util/ccache/files/ccache-4.1-avoid-run-user.patch b/dev-util/ccache/files/ccache-4.1-avoid-run-user.patch
new file mode 100644
index 000000000000..be7db76ecbf0
--- /dev/null
+++ b/dev-util/ccache/files/ccache-4.1-avoid-run-user.patch
@@ -0,0 +1,18 @@
+Gentoo's sandbox does not whitelist this path by default yet.
+TODO: bug link.
+
+Until we have a sandbox whitelisting the path let's rely on ccache's default.
+--- a/src/Config.cpp
++++ b/src/Config.cpp
+@@ -885,11 +885,5 @@ Config::check_key_tables_consistency()
+ std::string
+ Config::default_temporary_dir(const std::string& cache_dir)
+ {
+-#ifdef HAVE_GETEUID
+- std::string user_tmp_dir = FMT("/run/user/{}", geteuid());
+- if (Stat::stat(user_tmp_dir).is_directory()) {
+- return user_tmp_dir + "/ccache-tmp";
+- }
+-#endif
+ return cache_dir + "/tmp";
+ }