summaryrefslogtreecommitdiff
path: root/dev-debug
diff options
context:
space:
mode:
Diffstat (limited to 'dev-debug')
-rw-r--r--dev-debug/Manifest.gzbin4191 -> 4355 bytes
-rw-r--r--dev-debug/rr/Manifest8
-rw-r--r--dev-debug/rr/files/rr-5.7.0-no-force-lto.patch23
-rw-r--r--dev-debug/rr/files/rr-5.9.0-zen-workaround-service.patch14
-rw-r--r--dev-debug/rr/metadata.xml15
-rw-r--r--dev-debug/rr/rr-5.8.0.ebuild94
-rw-r--r--dev-debug/rr/rr-5.9.0-r1.ebuild111
-rw-r--r--dev-debug/rr/rr-9999.ebuild111
8 files changed, 376 insertions, 0 deletions
diff --git a/dev-debug/Manifest.gz b/dev-debug/Manifest.gz
index 918890d85998..8565df707e58 100644
--- a/dev-debug/Manifest.gz
+++ b/dev-debug/Manifest.gz
Binary files differ
diff --git a/dev-debug/rr/Manifest b/dev-debug/rr/Manifest
new file mode 100644
index 000000000000..d97ae85ba173
--- /dev/null
+++ b/dev-debug/rr/Manifest
@@ -0,0 +1,8 @@
+AUX rr-5.7.0-no-force-lto.patch 720 BLAKE2B 78733ac4cf79e9f49ccd4f6c6dc98ef7ebc518392072eed660ee5fbf22c90f0b89ee5d708edae2bce61e06d91522e46b5cebc3ffb8983c8d97ecbc1b261a8f7a SHA512 2f53aad8c1c65689a967ddf94c5f9d60d8edd2ed5486a4c95d74e2fa6e50e752adb3ae699085834af57d4251b48616d414d452a73bd1e0e3d9a5b0ee9e75622b
+AUX rr-5.9.0-zen-workaround-service.patch 536 BLAKE2B f116426633464f36bcecac3d6ce6976b229d46d95ce86eac5b1f316068f681fee2afab9cce8eeb3e978122e73c4d5eb9c691158883c57db7179fd79dc3b989fb SHA512 7e446c6a8995459fa8a9f8e2d06e83651234ed18b3a3f54264baa00b9dda594da236b3ed83a380e7c561e772de51cbf243afb9864ca606b5374a94c704590375
+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-5.9.0-r1.ebuild 2545 BLAKE2B 08c7f30b7e1028d30077c4bfd1ca4952e13dbc66669d1f0f7167cc38c766107c0ce6881bb0823557bb29564ca2da02111f9b22b3745c48d324dd44ec1a340766 SHA512 80494e2bbefc6003a885f048b8d610b4b3aae7d109b0c7bf8a06982aa09e8df057ae034923dbd76ed2416d515d72dc1cf9ca6959da73fa52ce9a9a0911b007f2
+EBUILD rr-9999.ebuild 2545 BLAKE2B 08c7f30b7e1028d30077c4bfd1ca4952e13dbc66669d1f0f7167cc38c766107c0ce6881bb0823557bb29564ca2da02111f9b22b3745c48d324dd44ec1a340766 SHA512 80494e2bbefc6003a885f048b8d610b4b3aae7d109b0c7bf8a06982aa09e8df057ae034923dbd76ed2416d515d72dc1cf9ca6959da73fa52ce9a9a0911b007f2
+MISC metadata.xml 448 BLAKE2B 2ca27171b81983b513710708955b70a7a73174ca72fb8bac4c8363a5f0fb464431d9d84d3be7818e4132ff7ca9b2f6b3325c526e6424bbeac8ee6dad1728c8cb SHA512 01fa6e40deff5fc58f51b90f75f93cf38f10ad58e994153045954ebc9d00dc41e7d8ea625b2b882a376cb0db1dbcc9e1a025c85f9fb584ef7a46b6db812b649b
diff --git a/dev-debug/rr/files/rr-5.7.0-no-force-lto.patch b/dev-debug/rr/files/rr-5.7.0-no-force-lto.patch
new file mode 100644
index 000000000000..f9665f435f4c
--- /dev/null
+++ b/dev-debug/rr/files/rr-5.7.0-no-force-lto.patch
@@ -0,0 +1,23 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -118,7 +118,6 @@ if(LOWERCASE_CMAKE_BUILD_TYPE STREQUAL "debug")
+ set(RR_FLAGS "${RR_FLAGS_DEBUG} -g3 ")
+ elseif(LOWERCASE_CMAKE_BUILD_TYPE STREQUAL "release")
+ # CMake itself will add optimization flags
+- set(RR_FLAGS "${RR_FLAGS_RELEASE} -g3 -flto")
+ endif()
+
+ set(LINKER_FLAGS "")
+@@ -675,12 +674,6 @@ endif()
+
+ # Add -flto option to linking step if release
+ if(LOWERCASE_CMAKE_BUILD_TYPE STREQUAL "release")
+- CHECK_C_COMPILER_FLAG("-flto=auto" SUPPORTS_LTO_AUTO)
+- if(SUPPORTS_LTO_AUTO)
+- set(RR_MAIN_LINKER_FLAGS "${RR_MAIN_LINKER_FLAGS} -flto=auto")
+- else()
+- set(RR_MAIN_LINKER_FLAGS "${RR_MAIN_LINKER_FLAGS} -flto")
+- endif()
+ endif()
+
+ if(LIBRT)
diff --git a/dev-debug/rr/files/rr-5.9.0-zen-workaround-service.patch b/dev-debug/rr/files/rr-5.9.0-zen-workaround-service.patch
new file mode 100644
index 000000000000..b0b90a317092
--- /dev/null
+++ b/dev-debug/rr/files/rr-5.9.0-zen-workaround-service.patch
@@ -0,0 +1,14 @@
+We install zen_workaround.py as rr-zen_workaround.py.
+--- a/scripts/zen_workaround.service
++++ b/scripts/zen_workaround.service
+@@ -15,8 +15,8 @@
+ Description = Startup script for rr zen workaround
+
+ [Service]
+-# Step to actually run `zen_workaround.py`.
+-ExecStart =+/usr/share/zen_workaround/zen_workaround.py
++# Step to actually run `rr-zen_workaround.py`.
++ExecStart =+rr-zen_workaround.py
+
+ # Only run this once, report it as "(active)" even after we've exited.
+ Type = oneshot
diff --git a/dev-debug/rr/metadata.xml b/dev-debug/rr/metadata.xml
new file mode 100644
index 000000000000..dc95c45f1987
--- /dev/null
+++ b/dev-debug/rr/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>toolchain@gentoo.org</email>
+ <name>Gentoo Toolchain Project</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>lu_zero@gentoo.org</email>
+ <name>Luca Barbato</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">rr-debugger/rr</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-debug/rr/rr-5.8.0.ebuild b/dev-debug/rr/rr-5.8.0.ebuild
new file mode 100644
index 000000000000..9da8ebac1116
--- /dev/null
+++ b/dev-debug/rr/rr-5.8.0.ebuild
@@ -0,0 +1,94 @@
+# 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}
+ 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 #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) #636786
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ python_fix_shebang "${ED}"/usr/bin/rr-collect-symbols.py
+ python_newscript scripts/zen_workaround.py rr-zen_workaround.py
+}
diff --git a/dev-debug/rr/rr-5.9.0-r1.ebuild b/dev-debug/rr/rr-5.9.0-r1.ebuild
new file mode 100644
index 000000000000..fb0f8cd33807
--- /dev/null
+++ b/dev-debug/rr/rr-5.9.0-r1.ebuild
@@ -0,0 +1,111 @@
+# 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 systemd
+
+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
+ "${FILESDIR}"/${PN}-5.9.0-zen-workaround-service.patch
+)
+
+pkg_setup() {
+ if use kernel_linux; then
+ CONFIG_CHECK="SECCOMP"
+
+ if use amd64 ; then
+ CONFIG_CHECK+=" ~X86_MSR"
+ WARNING_X86_MSR="X86_MSR is needed for rr-zen_workaround.py (AMD Zen CPUs)"
+ fi
+
+ 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=(
+ # TODO: Could wire up bpf but USE=bpf feels wrong for that
+ # as only introduced in 5.9.0 (e7d9e8fd023461feb01f5d2c7936fcf07df8ce05) which
+ # says it's not "suitable for wide use at this point".
+ -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
+ systemd_newunit scripts/zen_workaround.service rr-zen_workaround.service
+}
diff --git a/dev-debug/rr/rr-9999.ebuild b/dev-debug/rr/rr-9999.ebuild
new file mode 100644
index 000000000000..fb0f8cd33807
--- /dev/null
+++ b/dev-debug/rr/rr-9999.ebuild
@@ -0,0 +1,111 @@
+# 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 systemd
+
+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
+ "${FILESDIR}"/${PN}-5.9.0-zen-workaround-service.patch
+)
+
+pkg_setup() {
+ if use kernel_linux; then
+ CONFIG_CHECK="SECCOMP"
+
+ if use amd64 ; then
+ CONFIG_CHECK+=" ~X86_MSR"
+ WARNING_X86_MSR="X86_MSR is needed for rr-zen_workaround.py (AMD Zen CPUs)"
+ fi
+
+ 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=(
+ # TODO: Could wire up bpf but USE=bpf feels wrong for that
+ # as only introduced in 5.9.0 (e7d9e8fd023461feb01f5d2c7936fcf07df8ce05) which
+ # says it's not "suitable for wide use at this point".
+ -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
+ systemd_newunit scripts/zen_workaround.service rr-zen_workaround.service
+}