summaryrefslogtreecommitdiff
path: root/dev-util
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/Manifest.gzbin69166 -> 69166 bytes
-rw-r--r--dev-util/ccache/Manifest3
-rw-r--r--dev-util/ccache/ccache-4.7.ebuild93
-rw-r--r--dev-util/rr/Manifest6
-rw-r--r--dev-util/rr/files/rr-5.6.0-linux-headers-6.0.patch62
-rw-r--r--dev-util/rr/metadata.xml2
-rw-r--r--dev-util/rr/rr-5.6.0-r1.ebuild (renamed from dev-util/rr/rr-5.5.0.ebuild)24
7 files changed, 180 insertions, 10 deletions
diff --git a/dev-util/Manifest.gz b/dev-util/Manifest.gz
index 4a413409a9e5..8c77d3ccdb56 100644
--- a/dev-util/Manifest.gz
+++ b/dev-util/Manifest.gz
Binary files differ
diff --git a/dev-util/ccache/Manifest b/dev-util/ccache/Manifest
index badd33abc1da..a30856ec89c1 100644
--- a/dev-util/ccache/Manifest
+++ b/dev-util/ccache/Manifest
@@ -6,6 +6,9 @@ AUX ccache-config-3 2147 BLAKE2B 6e703e12b6a2f83b838f8b1d1e534de3366b6e2994990b3
DIST ccache-4.5.1.tar.xz 513008 BLAKE2B 637b6d36c169bc742efd165569879a47405c2884918ed3731186e8176c926fa0e8e9cd648756d501ae3b741c671e2399cfdb0bc216410bc64826d4fe00d69498 SHA512 267dcc6b41270eeffe029d13e58eca3399540037cc19dc58bb5ebeb7dcc51b201fbde91c9824eaee5b14fbf28bb7304b78d1340118bc72e56b80ff148575bc56
DIST ccache-4.6.3.tar.xz 531184 BLAKE2B b23c22876cd3f31bcd67b9120fd5e605441508478f40267d654a281c00e28e3021b135cda04ace6da9fb39d3c144c92a259e69287be73043730240f32982b6a9 SHA512 b8cee0a466e76d5551c9785836c66ac5a98b51624e9f919adf820265ec19c3429c99ed332aecdafcd03cf32c71074121c63ec56762259921c3762a011be24966
DIST ccache-4.6.3.tar.xz.asc 833 BLAKE2B 064d7bdf474540992180372c4c011b5bdeb98834803abcdec474f0988cac0339281c388545f9d28ae22b740268c338e092d618c0a4664c62c307d9a9ec1dff5e SHA512 ecba59c8089848737f37ef9bae4f631fae7eb2fedfc62879cd181ce37d412fbd883cc9dee52850757258009d75ef06477441cbf17d39db7b9d955300737e7f89
+DIST ccache-4.7.tar.xz 545560 BLAKE2B 20d08092e775354f84699ed48a88f8212517e7202ff2bc1bc381164341d4058b598d2a4981e35059ac10fc46ada183c35056732f1a61c9d14185cd41839a7485 SHA512 af7010de1f44bf5be9ba62a3af54af6b19e01b6dddf986a52c37106676bc3a5bd2298cccd2337cccbacfd1c148de177612c2bf24d254c6ade9dec253a0a62efd
+DIST ccache-4.7.tar.xz.asc 833 BLAKE2B 4c868467e53fb21021e5f553b6660b94f7fc93ba66d1798c09f09a281124f8351cbe29fcb621637e29c1f6f24468f0a9a6423a33a1691c220f929a595e961a56 SHA512 e88e8cf2ee8ce9015a93eefe3a7c8dab58da3e50536b5af8ee5013f6cb2af9928f82b4a6d9c4af2880e14698819f63c434324e45aa667e63e9fd309aaef448a6
EBUILD ccache-4.5.1.ebuild 2295 BLAKE2B 8b89808a850d5bb512a9672d719a800c9f17fd23dddc3bb5b1c0626b4160910bead0ca27137d734340ca9a60783349b97730376d5cb35473698b843203758d7c SHA512 96c0b4dbe479a0383fb28fda5f262e4490625e0ba137e5435ba8ee9702d14fe68c42a04a462792ff96aa176e3676a819602e2e50cb989d5061842c188d8fc5ba
EBUILD ccache-4.6.3.ebuild 2583 BLAKE2B becd6116917e1e64e1b6d7168cf99af6503196a0d414735f926b72b66757fc649e0f68df851d39eb7733deeb0b339dadea320b2a33fa3976fb1c180a5aa14c5a SHA512 b917373e3f5bf306aad19dba9df0200bf0a20b2a15a16ca91d87fdef05adcc16eb7f87999884bd83751ba3bc9f98c883cb0f0627f28fa740d0403eb7fc915c7c
+EBUILD ccache-4.7.ebuild 2583 BLAKE2B becd6116917e1e64e1b6d7168cf99af6503196a0d414735f926b72b66757fc649e0f68df851d39eb7733deeb0b339dadea320b2a33fa3976fb1c180a5aa14c5a SHA512 b917373e3f5bf306aad19dba9df0200bf0a20b2a15a16ca91d87fdef05adcc16eb7f87999884bd83751ba3bc9f98c883cb0f0627f28fa740d0403eb7fc915c7c
MISC metadata.xml 710 BLAKE2B 0a93cf3dd4222eb2fd500c3cafdff3c01eacecc489a471270922fc5dd1daf58cd1398ddfb7ab4d271a6e84d5a3da5c3e7a341b1e7994af7b10fd432318de7c5e SHA512 dbfa6b8d8f435e25887b25ce25df65184a7f315986ee60a1c723d0e6592ca73bc7414b6650014812eb882e7e39bed953eaa21139a414043c50c018a7b780e6f1
diff --git a/dev-util/ccache/ccache-4.7.ebuild b/dev-util/ccache/ccache-4.7.ebuild
new file mode 100644
index 000000000000..e6fd6165c15d
--- /dev/null
+++ b/dev-util/ccache/ccache-4.7.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/joelrosdahl.asc
+inherit cmake toolchain-funcs flag-o-matic verify-sig
+
+DESCRIPTION="Fast compiler cache"
+HOMEPAGE="https://ccache.dev/"
+SRC_URI="https://github.com/ccache/ccache/releases/download/v${PV}/${P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://github.com/ccache/ccache/releases/download/v${PV}/${P}.tar.xz.asc )"
+
+LICENSE="GPL-3 LGPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# Enable 'static-c++' by default to make 'gcc' ebuild Just Work: bug #761220
+IUSE="doc redis +static-c++ test"
+RESTRICT="!test? ( test )"
+
+DEPEND="app-arch/zstd:=
+ redis? ( dev-libs/hiredis:= )"
+RDEPEND="${DEPEND}
+ dev-util/shadowman
+ sys-apps/gentoo-functions"
+# Needed for eselect calls in pkg_*
+IDEPEND="dev-util/shadowman"
+
+# 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=" doc? ( dev-ruby/asciidoctor )
+ verify-sig? ( sec-keys/openpgp-keys-joelrosdahl )"
+
+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.6.2-avoid-run-user.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed \
+ -e "/^EPREFIX=/s:'':'${EPREFIX}':" \
+ "${FILESDIR}"/ccache-config-3 > ccache-config || die
+}
+
+src_configure() {
+ # Mainly used in tests
+ tc-export CC OBJDUMP
+
+ # Avoid dependency on libstdc++.so. Useful for cases when
+ # we would like to use ccache to build older gcc which injects
+ # into ccache locally built (possibly outdated) libstdc++
+ # See bug #761220 for examples.
+ #
+ # Ideally gcc should not use LD_PRELOAD to avoid this type of failure.
+ use static-c++ && append-ldflags -static-libstdc++
+
+ local mycmakeargs=(
+ -DENABLE_DOCUMENTATION=$(usex doc)
+ -DENABLE_TESTING=$(usex test)
+ -DZSTD_FROM_INTERNET=OFF
+ -DREDIS_STORAGE_BACKEND=$(usex redis)
+ )
+
+ use redis && mycmakeargs+=( -DHIREDIS_FROM_INTERNET_DEFAULT=OFF )
+
+ cmake_src_configure
+}
+
+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} && -z ${ROOT} ]] ; then
+ eselect compiler-shadow remove ccache
+ fi
+}
+
+pkg_postinst() {
+ if [[ -z ${ROOT} ]] ; then
+ eselect compiler-shadow update ccache
+ fi
+}
diff --git a/dev-util/rr/Manifest b/dev-util/rr/Manifest
index f0245535c0a4..06b05c800246 100644
--- a/dev-util/rr/Manifest
+++ b/dev-util/rr/Manifest
@@ -1,5 +1,5 @@
-DIST mozilla-rr-5.5.0.tar.gz 1477110 BLAKE2B d37162ef68b20f1ce7878c338f480e6e1ba1850e37d2c6728705b3ab8791897bfc238c950fd5f318dc2ba0be0df04571888092418b227e396c2c524121ad8345 SHA512 4101de8ccf46533e5fc8e72f99bff39253a40543510d9bc9a611ed0909efcd45a050244994a9ebc878d1c6d0af548ec7e2879d1e737f6455db732f75175ab497
+AUX rr-5.6.0-linux-headers-6.0.patch 2303 BLAKE2B 3f804757bc221617939bcfd128546f2bb66d0bd5ec8efb42a6cd05b0aac6e83513d8df89e7838673bc53228801d83ca57a888701539007b73ab9a734d6e2674f SHA512 21216496235e7d7507d319a0b8489a96f44f711dc0727b6bd1828ac80e1ac174a9bf2c9ced7ccadd0cd6d6af64a7a2b1a3f71a25816bef8b6d6e2f884ecd85eb
DIST mozilla-rr-5.6.0.tar.gz 1579320 BLAKE2B 14ea99c4486c72db844b5cad3f0c300d7bf5d49449e7080ed0484f89022be6d9b7f81b3808b65f59028a5256a6b3f6508729d5b7e8f3f45d8353ceb7ae2a577a SHA512 4b5ef65b6c6a4b62fc72949b4541aaf608f6133ea0b6c2e529a8eed725e6a0b5186f20ed60b210821e6929410e1f21723840eacfdc85bf12c87703e7ebf5f9a7
-EBUILD rr-5.5.0.ebuild 1343 BLAKE2B 9048afde5c6633ddae144e92d5f16f8ea8b463089364bb2e4daf97c86b398fff5cfd4c4245083323de6af4f88573686294a670a571ba9d1e3ee11f6cf7d6da97 SHA512 91094025d740dcb1a357400e1edc2598de8dbd4d7aadbdff0f153b7789647d18f0d9949ec4a05c5ce34496841ac48fa91b5971a05095fc036695277a7d610680
+EBUILD rr-5.6.0-r1.ebuild 1487 BLAKE2B 3ab41e5c4a3febb41e810b4c2f063c92cf58935632c1def384c81cad64f55aa95469e5bae91dc46820cc1c945946525b43f68cb81c624902defa0801aca2e4c0 SHA512 15e6f1b099e16dcf0deb9b9e3f6ff1199002ff0e41060e51f4fd5f44d6fd8127876c22954eba83b48767792f4f45445766be58c7c19a72178b1e603d4ab4c57d
EBUILD rr-5.6.0.ebuild 1426 BLAKE2B 3a342707b60f863d85b32eef3b7692225df1c9ca795aae0e2d3ae454e945f02d915e4452f0edd932d50091aed7dbd7c982c55dd28fdd65aa12dcce9fa7e1825e SHA512 828f8e4e466c8790f8217f59c2b3023a02de5bc0e5065911d438cc95d91c7c0b822189d12c479e0a78db3ed771ca64e4cce5489d00b1b69924e914461443ef92
-MISC metadata.xml 444 BLAKE2B ffed074f3322dfc2fb772a2b5e7056c1899e9f424e41f774a9da86af028322f5e3b4e371fbb624b9448733c30778fcfcf4cd7a54f40148d9db24702d5beb5a6f SHA512 481d21665113f88c355c0097b6ba0980d62570d53eb130096ee8db32c46eaa1e5f8f9746d2f7a9bf1bded5b725d4805d875abb81e2d7cb6e7c3fc8cf472c3274
+MISC metadata.xml 448 BLAKE2B 2ca27171b81983b513710708955b70a7a73174ca72fb8bac4c8363a5f0fb464431d9d84d3be7818e4132ff7ca9b2f6b3325c526e6424bbeac8ee6dad1728c8cb SHA512 01fa6e40deff5fc58f51b90f75f93cf38f10ad58e994153045954ebc9d00dc41e7d8ea625b2b882a376cb0db1dbcc9e1a025c85f9fb584ef7a46b6db812b649b
diff --git a/dev-util/rr/files/rr-5.6.0-linux-headers-6.0.patch b/dev-util/rr/files/rr-5.6.0-linux-headers-6.0.patch
new file mode 100644
index 000000000000..36a911bcbece
--- /dev/null
+++ b/dev-util/rr/files/rr-5.6.0-linux-headers-6.0.patch
@@ -0,0 +1,62 @@
+https://github.com/rr-debugger/rr/commit/2979c60ef8bbf7c940afd90172ddc5d8863f766e
+https://github.com/rr-debugger/rr/issues/3369
+https://bugs.gentoo.org/877157
+
+From 2979c60ef8bbf7c940afd90172ddc5d8863f766e Mon Sep 17 00:00:00 2001
+From: Robert O'Callahan <robert@ocallahan.org>
+Date: Thu, 25 Aug 2022 20:40:59 +1200
+Subject: [PATCH] Avoid creating a struct with elements after
+ ethtool_sset_info's variable-length-array.
+
+Resolves #3369
+--- a/src/record_syscall.cc
++++ b/src/record_syscall.cc
+@@ -1450,17 +1450,17 @@ template <typename Arch> void get_ethtool_gstrings_arch(RecordTask* t) {
+ AutoRemoteSyscalls remote(t);
+
+ // Do a ETHTOOL_GSSET_INFO to get the number of strings
+- struct SingleStringSet {
+- ethtool_sset_info et;
+- uint32_t data;
+- };
+- SingleStringSet sss;
+- sss.et.cmd = ETHTOOL_GSSET_INFO;
+- sss.et.reserved = 0;
+- sss.et.sset_mask = 1 << et_gstrings.string_set;
+- AutoRestoreMem sss_mem(remote, &sss, sizeof(sss));
+-
+- ifreq.ifr_ifru.ifru_data = sss_mem.get();
++ ethtool_sset_info et;
++ et.cmd = ETHTOOL_GSSET_INFO;
++ et.reserved = 0;
++ et.sset_mask = 1 << et_gstrings.string_set;
++ std::vector<uint8_t> buffer;
++ buffer.resize(sizeof(et) + sizeof(uint32_t));
++ memcpy(buffer.data(), &et, sizeof(et));
++ memset(buffer.data() + sizeof(et), 0, sizeof(uint32_t));
++ AutoRestoreMem et_mem(remote, buffer.data(), buffer.size());
++
++ ifreq.ifr_ifru.ifru_data = et_mem.get();
+ AutoRestoreMem ifr_mem(remote, &ifreq, sizeof(ifreq));
+
+ long ret = remote.syscall(regs.original_syscallno(), regs.arg1(),
+@@ -1470,8 +1470,7 @@ template <typename Arch> void get_ethtool_gstrings_arch(RecordTask* t) {
+ return;
+ }
+
+- sss = t->read_mem(sss_mem.get().cast<SingleStringSet>());
+-
++ uint32_t data = t->read_mem((et_mem.get() + sizeof(et)).cast<uint32_t>());
+ // Now do the ETHTOOL_GSTRINGS call
+ ret = remote.syscall(regs.original_syscallno(), regs.arg1(), SIOCETHTOOL,
+ regs.arg3());
+@@ -1479,7 +1478,7 @@ template <typename Arch> void get_ethtool_gstrings_arch(RecordTask* t) {
+ if (ret < 0) {
+ return;
+ }
+- t->record_remote(orig_gstrings, sizeof(ethtool_gstrings) + ETH_GSTRING_LEN*sss.data);
++ t->record_remote(orig_gstrings, sizeof(ethtool_gstrings) + ETH_GSTRING_LEN*data);
+ }
+
+ static void get_ethtool_gstrings(RecordTask* t) {
+
diff --git a/dev-util/rr/metadata.xml b/dev-util/rr/metadata.xml
index 873579e9b8df..dc95c45f1987 100644
--- a/dev-util/rr/metadata.xml
+++ b/dev-util/rr/metadata.xml
@@ -10,6 +10,6 @@
<name>Luca Barbato</name>
</maintainer>
<upstream>
- <remote-id type="github">mozilla/rr</remote-id>
+ <remote-id type="github">rr-debugger/rr</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-util/rr/rr-5.5.0.ebuild b/dev-util/rr/rr-5.6.0-r1.ebuild
index 73cc6777d148..096ff7b1f8c8 100644
--- a/dev-util/rr/rr-5.5.0.ebuild
+++ b/dev-util/rr/rr-5.6.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,7 +10,7 @@ inherit cmake linux-info python-single-r1
DESCRIPTION="Record and Replay Framework"
HOMEPAGE="https://rr-project.org/"
-SRC_URI="https://github.com/mozilla/${PN}/archive/${PV}.tar.gz -> mozilla-${P}.tar.gz"
+SRC_URI="https://github.com/rr-debugger/${PN}/archive/${PV}.tar.gz -> mozilla-${P}.tar.gz"
LICENSE="MIT BSD-2"
SLOT="0"
@@ -19,11 +19,14 @@ IUSE="multilib test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="
- sys-libs/zlib:=
+ ${PYTHON_DEPS}
dev-libs/capnproto:=
- ${PYTHON_DEPS}"
-RDEPEND="${DEPEND}
- sys-devel/gdb[xml]"
+ sys-libs/zlib:=
+"
+RDEPEND="
+ ${DEPEND}
+ sys-devel/gdb[xml]
+"
# Add all the deps needed only at build/test time.
DEPEND+="
test? (
@@ -33,8 +36,17 @@ DEPEND+="
sys-devel/gdb[xml]
)"
+QA_FLAGS_IGNORED="
+ usr/lib.*/rr/librrpage.so
+ usr/lib.*/rr/librrpage_32.so
+"
+
RESTRICT="test" # toolchain and kernel version dependent
+PATCHES=(
+ "${FILESDIR}"/${P}-linux-headers-6.0.patch
+)
+
pkg_setup() {
if use kernel_linux; then
CONFIG_CHECK="SECCOMP"