summaryrefslogtreecommitdiff
path: root/dev-util/rr
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/rr')
-rw-r--r--dev-util/rr/Manifest4
-rw-r--r--dev-util/rr/rr-5.9.0.ebuild100
-rw-r--r--dev-util/rr/rr-9999.ebuild10
3 files changed, 111 insertions, 3 deletions
diff --git a/dev-util/rr/Manifest b/dev-util/rr/Manifest
index 0bc6494fdd6e..99a0a12b33e3 100644
--- a/dev-util/rr/Manifest
+++ b/dev-util/rr/Manifest
@@ -1,5 +1,7 @@
AUX rr-5.7.0-no-force-lto.patch 720 BLAKE2B 78733ac4cf79e9f49ccd4f6c6dc98ef7ebc518392072eed660ee5fbf22c90f0b89ee5d708edae2bce61e06d91522e46b5cebc3ffb8983c8d97ecbc1b261a8f7a SHA512 2f53aad8c1c65689a967ddf94c5f9d60d8edd2ed5486a4c95d74e2fa6e50e752adb3ae699085834af57d4251b48616d414d452a73bd1e0e3d9a5b0ee9e75622b
DIST mozilla-rr-5.8.0.tar.gz 1734617 BLAKE2B 75fcd99da89dc4acc033d033abc91ff61500ad1429702641888c628ad0e70f1dfb61309aa76092f34d3314086572a6af334970e5f4abb4d7c812800b23e64869 SHA512 98f0c970fad5c3a2c5d7c17f40c454db072d31053425ffc308a66a643e2f36ede04f33ab8b13f94c42c60a3b00e18a790783467f99a97e421551c498df313a6b
+DIST mozilla-rr-5.9.0.tar.gz 1801696 BLAKE2B b87d0a33201a513a692e8deb20ada38f235ce7a3e41dd806d0dba9a1a73f2c3dbf71d7f95b7cb0b284c7e38a4a19ea58f9ddef31d2e9b92efc686b24a8e551e7 SHA512 796d9b0b64e3993dfc14cf488e5e598b1de4828da415b1f97435598d62c1c133fc268d7838601275a00f59f05bf53d0bb796380418f4cb6cdfdda2c50207f996
EBUILD rr-5.8.0.ebuild 1855 BLAKE2B 83b9c7daf9cc58b1b09bfa08c8dc29c0936086123bf2de82d3a3b30b94eb4e2a4f00e815b47eef190304e4c238b897c527d7d3d4302801e832df068cce5f9a45 SHA512 ae2cabb78ea9347e7e17c55cb8334d2c145f54d22311abcb1513d189be0c0665eb04469a86e321b3ea2a0612be78624f95e6731dda59628a87be7772506df0da
-EBUILD rr-9999.ebuild 1855 BLAKE2B 83b9c7daf9cc58b1b09bfa08c8dc29c0936086123bf2de82d3a3b30b94eb4e2a4f00e815b47eef190304e4c238b897c527d7d3d4302801e832df068cce5f9a45 SHA512 ae2cabb78ea9347e7e17c55cb8334d2c145f54d22311abcb1513d189be0c0665eb04469a86e321b3ea2a0612be78624f95e6731dda59628a87be7772506df0da
+EBUILD rr-5.9.0.ebuild 2071 BLAKE2B 330ff4836fa0c585befa4403b5f4244175d8bea4c59817b552e478eec49467d93510940ea9fee9ea784562dbd435b0c7ee336058aa020f90bca4e2693621b77c SHA512 a8832a854f521087ef6308e56da654eec26af8787ed6d0658edbc1ec88fb13c421f03bab1a9b756354a8a1237b824ef81b446a893b88fa4c9b43d2f130acdd16
+EBUILD rr-9999.ebuild 2071 BLAKE2B 330ff4836fa0c585befa4403b5f4244175d8bea4c59817b552e478eec49467d93510940ea9fee9ea784562dbd435b0c7ee336058aa020f90bca4e2693621b77c SHA512 a8832a854f521087ef6308e56da654eec26af8787ed6d0658edbc1ec88fb13c421f03bab1a9b756354a8a1237b824ef81b446a893b88fa4c9b43d2f130acdd16
MISC metadata.xml 448 BLAKE2B 2ca27171b81983b513710708955b70a7a73174ca72fb8bac4c8363a5f0fb464431d9d84d3be7818e4132ff7ca9b2f6b3325c526e6424bbeac8ee6dad1728c8cb SHA512 01fa6e40deff5fc58f51b90f75f93cf38f10ad58e994153045954ebc9d00dc41e7d8ea625b2b882a376cb0db1dbcc9e1a025c85f9fb584ef7a46b6db812b649b
diff --git a/dev-util/rr/rr-5.9.0.ebuild b/dev-util/rr/rr-5.9.0.ebuild
new file mode 100644
index 000000000000..5d5eed823cfa
--- /dev/null
+++ b/dev-util/rr/rr-5.9.0.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+CMAKE_BUILD_TYPE=Release
+
+inherit cmake linux-info python-single-r1
+
+DESCRIPTION="Record and Replay Framework"
+HOMEPAGE="https://rr-project.org/"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/rr-debugger/rr"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/rr-debugger/${PN}/archive/${PV}.tar.gz -> mozilla-${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+# rr itself is MIT and BSD-2, but there's various bits under third-party too.
+LICENSE="MIT BSD-2 GPL-2 ZLIB"
+SLOT="0"
+IUSE="multilib test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="
+ ${PYTHON_DEPS}
+ app-arch/zstd:=
+ dev-libs/capnproto:=
+ sys-libs/zlib:=
+"
+RDEPEND="
+ ${DEPEND}
+ dev-debug/gdb[xml]
+"
+# Add all the deps needed only at build/test time.
+DEPEND+="
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ ')
+ dev-debug/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}"/${PN}-5.7.0-no-force-lto.patch
+)
+
+pkg_setup() {
+ if use kernel_linux; then
+ CONFIG_CHECK="SECCOMP"
+ linux-info_pkg_setup
+ fi
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -i 's:-Werror::' CMakeLists.txt || die # bug #609192
+}
+
+src_test() {
+ if has usersandbox ${FEATURES} ; then
+ ewarn "Test suite fails under FEATURES=usersandbox (bug #632394). Skipping."
+ return 0
+ fi
+
+ cmake_src_test
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -Ddisable32bit=$(usex !multilib) # bug #636786
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ # Upstream's CMake avoids stripping librrpreload at least, and
+ # Fedora avoids stripping all libraries. Treat it like Valgrind
+ # and play it safe.
+ dostrip -x "/usr/$(get_libdir)/rr"
+
+ python_fix_shebang "${ED}"/usr/bin/rr-collect-symbols.py
+ python_newscript scripts/zen_workaround.py rr-zen_workaround.py
+}
diff --git a/dev-util/rr/rr-9999.ebuild b/dev-util/rr/rr-9999.ebuild
index 9da8ebac1116..5d5eed823cfa 100644
--- a/dev-util/rr/rr-9999.ebuild
+++ b/dev-util/rr/rr-9999.ebuild
@@ -27,6 +27,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="
${PYTHON_DEPS}
+ app-arch/zstd:=
dev-libs/capnproto:=
sys-libs/zlib:=
"
@@ -65,7 +66,7 @@ pkg_setup() {
src_prepare() {
cmake_src_prepare
- sed -i 's:-Werror::' CMakeLists.txt || die #609192
+ sed -i 's:-Werror::' CMakeLists.txt || die # bug #609192
}
src_test() {
@@ -80,7 +81,7 @@ src_test() {
src_configure() {
local mycmakeargs=(
-DBUILD_TESTS=$(usex test)
- -Ddisable32bit=$(usex !multilib) #636786
+ -Ddisable32bit=$(usex !multilib) # bug #636786
)
cmake_src_configure
@@ -89,6 +90,11 @@ src_configure() {
src_install() {
cmake_src_install
+ # Upstream's CMake avoids stripping librrpreload at least, and
+ # Fedora avoids stripping all libraries. Treat it like Valgrind
+ # and play it safe.
+ dostrip -x "/usr/$(get_libdir)/rr"
+
python_fix_shebang "${ED}"/usr/bin/rr-collect-symbols.py
python_newscript scripts/zen_workaround.py rr-zen_workaround.py
}