dev-libs/elfutils: move stackprof into its own USE flag

It only works on a whitelisted set of arches and is Linux-only. Also, fix
dependencies (add json-c for it).

Closes: https://bugs.gentoo.org/982970
Closes: https://bugs.gentoo.org/983130
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2026-09-23 00:55:52 +01:00
parent 066b904208
commit 7383afd058
10 changed files with 44 additions and 6 deletions

View File

@@ -28,7 +28,7 @@ fi
LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )"
SLOT="0"
IUSE="bzip2 +debuginfod +libarchive libpfm +lzma nls static-libs test +utils valgrind zstd"
IUSE="bzip2 +debuginfod +libarchive libpfm +lzma nls stackprof static-libs test +utils valgrind zstd"
RESTRICT="!test? ( test )"
REQUIRED_USE="debuginfod? ( libarchive )"
@@ -44,7 +44,10 @@ RDEPEND="
)
libarchive? ( >=app-arch/libarchive-3.1.2:= )
lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] )
utils? ( libpfm? ( dev-libs/libpfm:= ) )
stackprof? (
>=dev-libs/json-c-0.11:=
libpfm? ( dev-libs/libpfm:= )
)
zstd? ( app-arch/zstd:=[static-libs?,${MULTILIB_USEDEP}] )
elibc_musl? (
dev-libs/libbsd
@@ -131,7 +134,7 @@ multilib_src_configure() {
# Could do dummy if needed? We could also split libdebuginfod
# (client support) into its own USE if required.
$(multilib_native_use_enable debuginfod libdebuginfod)
$(multilib_native_use_enable utils stackprof)
$(multilib_native_use_enable stackprof)
$(use_enable valgrind valgrind-annotations)
# Explicitly disable thread safety, it's not recommended by upstream

View File

@@ -28,7 +28,7 @@ fi
LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )"
SLOT="0"
IUSE="bzip2 +debuginfod +libarchive libpfm +lzma nls static-libs test +utils valgrind zstd"
IUSE="bzip2 +debuginfod +libarchive libpfm +lzma nls stackprof static-libs test +utils valgrind zstd"
RESTRICT="!test? ( test )"
REQUIRED_USE="debuginfod? ( libarchive )"
@@ -44,7 +44,10 @@ RDEPEND="
)
libarchive? ( >=app-arch/libarchive-3.1.2:= )
lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] )
utils? ( libpfm? ( dev-libs/libpfm:= ) )
stackprof? (
>=dev-libs/json-c-0.11:=
libpfm? ( dev-libs/libpfm:= )
)
zstd? ( app-arch/zstd:=[static-libs?,${MULTILIB_USEDEP}] )
elibc_musl? (
dev-libs/libbsd
@@ -66,6 +69,7 @@ BDEPEND+="
PATCHES=(
"${FILESDIR}"/${PN}-0.189-musl-aarch64-regs.patch
"${FILESDIR}"/${PN}-0.191-musl-macros.patch
"${FILESDIR}"/${PN}-0.196-skip-static-test.patch
)
src_prepare() {
@@ -130,7 +134,7 @@ multilib_src_configure() {
# Could do dummy if needed? We could also split libdebuginfod
# (client support) into its own USE if required.
$(multilib_native_use_enable debuginfod libdebuginfod)
$(multilib_native_use_enable utils stackprof)
$(multilib_native_use_enable stackprof)
$(use_enable valgrind valgrind-annotations)
# Explicitly disable thread safety, it's not recommended by upstream

View File

@@ -20,6 +20,9 @@
See https://developers.redhat.com/articles/2024/06/11/get-system-wide-profiles-binaries-without-frame-pointers.
</flag>
<flag name="stackprof">
Build eu-stackprof tool: a tool for collecting system-wide stacktrace profiles.
</flag>
<flag name="utils">Install command-line utilities (all the eu-* programs).</flag>
</use>
<upstream>

View File

@@ -17,6 +17,10 @@
#--- END OF EXAMPLES ---
# Sam James <sam@gentoo.org> (2026-09-23)
# Only supported on some arches.
dev-libs/elfutils -stackprof
# Michał Górny <mgorny@gentoo.org> (2026-09-22)
# Fortran modules require llvm-core/flang.
llvm-runtimes/openmp -fortran

View File

@@ -1,6 +1,10 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Sam James <sam@gentoo.org> (2026-09-23)
# Only supported on some arches.
dev-libs/elfutils -stackprof
# Volkmar W. Pogatzki <gentoo@pogatzki.net> (2026-08-16)
# Blocks removal of vulnerable old dev-java/openjdk-bin-8.492_p09
~sys-devel/gettext-0.21.1 java

View File

@@ -1,6 +1,10 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Sam James <sam@gentoo.org> (2026-09-23)
# Only supported on some arches.
dev-libs/elfutils -stackprof
# Michał Górny <mgorny@gentoo.org> (2026-09-22)
# Fortran modules require llvm-core/flang.
llvm-runtimes/openmp -fortran

View File

@@ -1,6 +1,10 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Sam James <sam@gentoo.org> (2026-09-23)
# Only supported on some arches.
dev-libs/elfutils stackprof
# Michał Górny <mgorny@gentoo.org> (2026-09-22)
# Fortran modules require llvm-core/flang.
llvm-runtimes/openmp fortran

View File

@@ -1,6 +1,10 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Sam James <sam@gentoo.org> (2026-09-23)
# Only supported on some arches.
dev-libs/elfutils -stackprof
# Michał Górny <mgorny@gentoo.org> (2026-09-19)
# Dekeywording dev-python/pyarrow.
sci-libs/gdal parquet

View File

@@ -6,6 +6,10 @@
# New entries go on top.
# Sam James <sam@gentoo.org> (2026-09-23)
# Only supported on Linux.
dev-libs/elfutils stackprof
# Andreas Sturmlechner <asturm@gentoo.org> (2026-09-19)
# Building documentation is broken in this version. Bug #976293
~dev-cpp/eigen-3.4.1 doc

View File

@@ -1,6 +1,10 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Sam James <sam@gentoo.org> (2026-09-23)
# Only supported on Linux.
dev-libs/elfutils -stackprof
# Ben Kohler <bkohler@gentoo.org (2026-06-04)
# Libseat functionality still needs more work on both systemd & elogind
sys-apps/kmscon libseat