summaryrefslogtreecommitdiff
path: root/dev-util
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/cargo-nextest/cargo-nextest-0.9.122.ebuild2
-rw-r--r--dev-util/debugedit/debugedit-5.2-r1.ebuild4
-rw-r--r--dev-util/maturin/Manifest4
-rw-r--r--dev-util/maturin/maturin-1.12.2.ebuild (renamed from dev-util/maturin/maturin-1.11.5.ebuild)0
-rw-r--r--dev-util/perf/Manifest3
-rw-r--r--dev-util/perf/perf-6.16-r1.ebuild338
-rw-r--r--dev-util/perf/perf-6.16.ebuild349
-rw-r--r--dev-util/perf/perf-6.17.ebuild338
-rw-r--r--dev-util/perf/perf-6.19.ebuild (renamed from dev-util/perf/perf-6.18-r1.ebuild)3
-rw-r--r--dev-util/premake/premake-5.0.0_beta7.ebuild4
-rw-r--r--dev-util/pwntools/pwntools-4.15.0.ebuild5
-rw-r--r--dev-util/pwntools/pwntools-9999.ebuild5
-rw-r--r--dev-util/ruff/Manifest3
-rw-r--r--dev-util/ruff/ruff-0.15.1.ebuild119
14 files changed, 139 insertions, 1038 deletions
diff --git a/dev-util/cargo-nextest/cargo-nextest-0.9.122.ebuild b/dev-util/cargo-nextest/cargo-nextest-0.9.122.ebuild
index 11bc8383d410..98e4839b5845 100644
--- a/dev-util/cargo-nextest/cargo-nextest-0.9.122.ebuild
+++ b/dev-util/cargo-nextest/cargo-nextest-0.9.122.ebuild
@@ -24,7 +24,7 @@ LICENSE+="
WTFPL-2 ZLIB
"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~x86"
BDEPEND="virtual/pkgconfig"
DEPEND=">=app-arch/zstd-1.5.7:="
diff --git a/dev-util/debugedit/debugedit-5.2-r1.ebuild b/dev-util/debugedit/debugedit-5.2-r1.ebuild
index 4cb68dccae9f..3c75aa919e01 100644
--- a/dev-util/debugedit/debugedit-5.2-r1.ebuild
+++ b/dev-util/debugedit/debugedit-5.2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,7 @@ SRC_URI="
LICENSE="GPL-3+ GPL-2+ LGPL-2+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-util/maturin/Manifest b/dev-util/maturin/Manifest
index aab8a0b9957d..53cd1393140a 100644
--- a/dev-util/maturin/Manifest
+++ b/dev-util/maturin/Manifest
@@ -1,4 +1,4 @@
-DIST maturin-1.11.5-vendor.tar.xz 16507616 BLAKE2B 83b6607c91a0925ad52bbdb888eef01fa871a29129600471269d25c9a2a56206c845a56f1bfd5dbcaaf9b74da88df35e6f3c857d551834fc8564853d6e455b0e SHA512 94a8c8cb296afd33da5175e6ce39ecd8ccb739df30bfac0476551352a002032cefa5de6ea41c81f65cd905225d1cf8a13f473594560a8f2a29df563a4adc9e9a
-DIST maturin-1.11.5.gh.tar.gz 596610 BLAKE2B f78673c59d13211771d37b74468041255cb8f7fa2113851e3fda2da8811e34c1a6e5c0eeb5d61430653342b97f899fff24984446e533759d3db06458afab2eda SHA512 49e7976be5790f524d5a423519c4ee73ccb450f0e84fea5ba691421cd8e303cb4166324d42985b1ae321a71c4295f244632da194a5be7cacbe7951cdbc0dbb92
DIST maturin-1.12.0-vendor.tar.xz 19134060 BLAKE2B 94b00c1dd663f33e0b8a5d9f6892681029d8a72d874f60da52925ea6cd9d280241adba0128bc5c58c661b236adda7ddf323d6b69e946e6ccd1c7999ca7f3e445 SHA512 b941934f7c0a5db7f291e4e66eba841b53980bc1b053eba8391f0d506cabe1157c1d0ee11cc2a7dbf0ae129637fbc3e9bf09d3f5590c8b6bf24ed0467f834333
DIST maturin-1.12.0.gh.tar.gz 627384 BLAKE2B 0bad2fb856ef80d40b92ed572068b7a11104670d06e10d63d6539317baf966462dda89bd2fb1710b87c741e291ba711423d826c9e86039138fd0054667a1795b SHA512 0e2a16441ab185a01b2e7b0a8d23346d5d7eb45e73f4280da6085362b926cc324b6f8b5ad33b323f47f935019f84c2de09ce880f1c699532ffc14076c5164f9d
+DIST maturin-1.12.2-vendor.tar.xz 19225420 BLAKE2B 1d174dcc957736c02b26a436287a11ff2fb512db87d5d082540781d0e75b7a31ac40b152859b70616f735c4ac850b05541b34413aaf7795acb8ab342d0d72695 SHA512 4f17924cff5c5e7a6ad5cdcfa59f1eff38579a6374dc09591a42081d0f82b64d71ffe19c6f94e9350ee7adce0768e8db0ccd77c629d8e1d550da86879966f7b6
+DIST maturin-1.12.2.gh.tar.gz 638646 BLAKE2B 97c4717fb18b2c88c8444c18de2b36891212419535f31f314935d2f24c321f07e2775f6b5a5ecaec7e69626dabd4e3d3261a7a0c5bb359521d5b1c75ca582c00 SHA512 0d2cd6e23e03a3e8aeca4e11f56349cdf82055769ef7460d22e8a2bbb05112da666cf3d2bfe76dcab151ede1c947bd24a476c6ae6f1eedd44e30aae818af3f54
diff --git a/dev-util/maturin/maturin-1.11.5.ebuild b/dev-util/maturin/maturin-1.12.2.ebuild
index a111f709bd76..a111f709bd76 100644
--- a/dev-util/maturin/maturin-1.11.5.ebuild
+++ b/dev-util/maturin/maturin-1.12.2.ebuild
diff --git a/dev-util/perf/Manifest b/dev-util/perf/Manifest
index a0ec13008a0c..ff0f8aaeba2a 100644
--- a/dev-util/perf/Manifest
+++ b/dev-util/perf/Manifest
@@ -1,5 +1,4 @@
DIST linux-6.14.tar.xz 149408504 BLAKE2B 11835719804b406fe281ea1c276a84dc0cbaa808552ddcca9233d3eaeb1c001d0455c7205379b02de8e8db758c1bae6fe7ceb6697e63e3cf9ae7187dc7a9715e SHA512 71dcaa3772d8d9797c3ae30cae9c582b11a7047a3bbcb8dfd479a4dffb40ff0da74cf3d45175f50cc9992e338bcadd46c9c570f54054ca3bde6661768d3d22eb
-DIST linux-6.16.tar.xz 152620004 BLAKE2B 87bc4da7e89cc8265aebffea7ec6c09f711be24fee87cb1c03a264c03fd5a538d66aa806640835aa5103926e612cdfbc52d7c861d7f7065f1a8bb11d893b0921 SHA512 55a00f89ad6db6db2e26ff5dc5cfc96bbf6654e5bd5d17d2a3b944a47640367e54139716d230923187bebc6cb7756edc9511a620fb8abc6f32c50a658a734784
-DIST linux-6.17.tar.xz 153382068 BLAKE2B 0edb2324be5638aa75984128aafdba3e50824187d2fcdff8794eab99d85c10c3a17d1e840053c2c83df5ee11fdf69f1c9452c57ecc9dae01c4af38180fe7821a SHA512 063999d7b819970657f6b7713fdb4173da2065ffdeed7cae197026dbb1edfd7f1d50374f073a1e19ef9686539594824ff6ecb8a930d97c4f272cb12f1c6d8355
DIST linux-6.18.tar.xz 154309096 BLAKE2B b94b7b9bf18aca0c3e50baf79b009a1448fc6cd9c3ee019f641cc247dcf53a4abef4274ee0608ad8cd4943af69854363a95d26e117ff23620bb07dccb158859f SHA512 88599ffdec96d150c1feb9b261ba93bb0301a9d0e1ad6bef7aeab1f5372cbfc57d8b43c7e902bd8f76921d1dbd8189663c142ea869e51d0e2b483b150ee00fe0
+DIST linux-6.19.tar.xz 156067644 BLAKE2B d1551c058e9a1201a0fa769b427255f13bb0d73fdd384e2c0302956cc9a1eeba255b013fa87a15fdad508bc00fdae2085590572c76cfe20fe2af31ba87b7d289 SHA512 01b29c7f4e5bc0c9802794c2cd027fece825f90417be229a71e60eefce530010d5d301749c54ae744e9d4a483518e769e2bb7e6e9209687681ad7fff11c3ed86
DIST patch-6.18.5.xz 414548 BLAKE2B 50fe5af5616fb080d90111c9b10d7f24ffa40ea6bcd7a645250622ff4adf7923f09bd1a93c82947c6e56a77ea457eb5df14aa215f6c3cae036cc1f11cc20f3d0 SHA512 2c07af94135abbb1fc118be061c7b39e3b692783e67231954eabe1ccac8948a126084e651d5648aebd6d58667ac82ba41264057df1cc81fcaa161df5eee56395
diff --git a/dev-util/perf/perf-6.16-r1.ebuild b/dev-util/perf/perf-6.16-r1.ebuild
deleted file mode 100644
index 1a49b45de0c6..000000000000
--- a/dev-util/perf/perf-6.16-r1.ebuild
+++ /dev/null
@@ -1,338 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {18..21} )
-PYTHON_COMPAT=( python3_{10..14} )
-inherit bash-completion-r1 estack flag-o-matic linux-info llvm-r1 toolchain-funcs python-single-r1
-
-DESCRIPTION="Userland tools for Linux Performance Counters"
-HOMEPAGE="https://perfwiki.github.io/main/"
-
-LINUX_V="${PV:0:1}.x"
-if [[ ${PV} == *_rc* ]] ; then
- LINUX_VER=$(ver_cut 1-2).$(($(ver_cut 3)-1))
- PATCH_VERSION=$(ver_cut 1-3)
- LINUX_PATCH=patch-${PV//_/-}.xz
- SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/${LINUX_PATCH}
- https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/v${PATCH_VERSION}/${LINUX_PATCH}"
-elif [[ ${PV} == *.*.* ]] ; then
- # stable-release series
- LINUX_VER=$(ver_cut 1-2)
- LINUX_PATCH=patch-${PV}.xz
- SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}"
-else
- LINUX_VER=${PV}
-fi
-
-LINUX_SOURCES="linux-${LINUX_VER}.tar.xz"
-SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}"
-
-S_K="${WORKDIR}/linux-${LINUX_VER}"
-S="${S_K}/tools/perf"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
-IUSE="abi_mips_o32 abi_mips_n32 abi_mips_n64 babeltrace capstone big-endian bpf caps crypt debug gtk java libpfm +libtraceevent +libtracefs lzma numa perl +python +slang systemtap tcmalloc unwind"
-
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
-"
-
-# setuptools (and Python) are always needed even if not building Python bindings
-BDEPEND="
- ${LINUX_PATCH+dev-util/patchutils}
- ${PYTHON_DEPS}
- >=app-arch/tar-1.34-r2
- $(python_gen_cond_dep '
- dev-python/setuptools[${PYTHON_USEDEP}]
- ')
- app-alternatives/yacc
- app-alternatives/lex
- sys-apps/which
- virtual/pkgconfig
- app-text/asciidoc
- app-text/sgml-common
- app-text/xmlto
- sys-process/time
-"
-
-RDEPEND="
- babeltrace? ( dev-util/babeltrace:0/1 )
- bpf? (
- dev-libs/libbpf
- dev-util/bpftool
- dev-util/pahole
- $(llvm_gen_dep '
- llvm-core/clang:${LLVM_SLOT}=
- llvm-core/llvm:${LLVM_SLOT}=
- ')
- )
- caps? ( sys-libs/libcap )
- capstone? ( dev-libs/capstone )
- crypt? ( dev-libs/openssl:= )
- gtk? ( x11-libs/gtk+:2 )
- java? ( virtual/jre:* )
- libpfm? ( dev-libs/libpfm:= )
- libtraceevent? ( dev-libs/libtraceevent )
- libtracefs? ( dev-libs/libtracefs )
- lzma? ( app-arch/xz-utils )
- numa? ( sys-process/numactl )
- perl? ( dev-lang/perl:= )
- python? ( ${PYTHON_DEPS} )
- slang? ( sys-libs/slang )
- systemtap? ( dev-debug/systemtap )
- tcmalloc? ( dev-util/google-perftools )
- unwind? ( sys-libs/libunwind:= )
- app-arch/zstd:=
- dev-libs/elfutils
- sys-libs/binutils-libs:=
- virtual/zlib:=
- virtual/libcrypt
-"
-
-DEPEND="${RDEPEND}
- >=sys-kernel/linux-headers-5.10
- java? ( virtual/jdk )
-"
-
-QA_FLAGS_IGNORED=(
- 'usr/bin/perf-read-vdso32' # not linked with anything except for libc
- 'usr/libexec/perf-core/dlfilters/.*' # plugins
-)
-
-pkg_setup() {
- local CONFIG_CHECK="
- ~!SCHED_OMIT_FRAME_POINTER
- ~DEBUG_INFO
- ~FRAME_POINTER
- ~FTRACE
- ~FTRACE_SYSCALLS
- ~FUNCTION_TRACER
- ~KALLSYMS
- ~KALLSYMS_ALL
- ~KPROBES
- ~KPROBE_EVENTS
- ~PERF_EVENTS
- ~STACKTRACE
- ~TRACEPOINTS
- ~UPROBES
- ~UPROBE_EVENTS
- "
-
- use bpf && llvm-r1_pkg_setup
- # We enable python unconditionally as libbpf always generates
- # API headers using python script
- python_setup
-
- if use bpf ; then
- CONFIG_CHECK+="~BPF ~BPF_EVENTS ~BPF_SYSCALL ~DEBUG_INFO_BTF ~HAVE_EBPF_JIT ~UNWINDER_FRAME_POINTER"
- fi
-
- linux-info_pkg_setup
-}
-
-# src_unpack and src_prepare are copied to dev-util/bpftool since
-# it's building from the same tarball, please keep it in sync with bpftool
-src_unpack() {
- local paths=(
- 'arch/*/include/*' 'arch/*/lib/*' 'arch/*/tools/*' 'include/*'
- 'kernel/bpf/*' 'lib/*' 'scripts/*' 'tools/arch/*' 'tools/bpf/*'
- 'tools/build/*' 'tools/include/*' 'tools/lib/*' 'tools/perf/*'
- 'tools/scripts/*'
- )
-
- # We expect the tar implementation to support the -j option (both
- # GNU tar and libarchive's tar support that).
- echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}"
- gtar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \
- "${paths[@]/#/linux-${LINUX_VER}/}" || die
-
- if [[ -n ${LINUX_PATCH} ]] ; then
- eshopts_push -o noglob
- ebegin "Filtering partial source patch"
- xzcat "${DISTDIR}"/${LINUX_PATCH} | filterdiff -p1 ${paths[@]/#/-i} > ${P}.patch
- assert -n "Unpacking to ${P} from ${DISTDIR}/${LINUX_PATCH} failed"
- eend $? || die "filterdiff failed"
- test -s ${P}.patch || die "patch is empty?!"
- eshopts_pop
- fi
-
- local a
- for a in ${A}; do
- [[ ${a} == ${LINUX_SOURCES} ]] && continue
- [[ ${a} == ${LINUX_PATCH} ]] && continue
- unpack ${a}
- done
-}
-
-src_prepare() {
- default
- if [[ -n ${LINUX_PATCH} ]] ; then
- pushd "${S_K}" >/dev/null || die
- eapply "${WORKDIR}"/${P}.patch
- popd || die
- fi
-
- pushd "${S_K}" >/dev/null || die
- # Gentoo patches go here
- popd || die
-
- # Drop some upstream too-developer-oriented flags and fix the
- # Makefile in general
- sed -i \
- -e "s@\$(sysconfdir_SQ)/bash_completion.d@$(get_bashcompdir)@" \
- "${S}"/Makefile.perf || die
- # A few places still use -Werror w/out $(WERROR) protection.
- sed -i -e 's@-Werror@@' \
- "${S}"/Makefile.perf "${S_K}"/tools/lib/bpf/Makefile \
- "${S_K}"/tools/lib/perf/Makefile || die
-
- # Avoid the call to make kernelversion
- sed -i -e '/PERF-VERSION-GEN/d' Makefile.perf || die
- echo "#define PERF_VERSION \"${PV}\"" > PERF-VERSION-FILE
-
- # The code likes to compile local assembly files which lack ELF markings.
- find -name '*.S' -exec sed -i '$a.section .note.GNU-stack,"",%progbits' {} +
-}
-
-puse() { usex $1 "" 1; }
-perf_make() {
- # The arch parsing is a bit funky. The perf tools package is integrated
- # into the kernel, so it wants an ARCH that looks like the kernel arch,
- # but it also wants to know about the split value -- i386/x86_64 vs just
- # x86. We can get that by telling the func to use an older linux version.
- # It's kind of a hack, but not that bad ...
-
- # LIBDIR sets a search path of perf-gtk.so. Bug 515954
-
- local arch=$(tc-arch-kernel)
- local java_dir
- use java && java_dir="${EPREFIX}/etc/java-config-2/current-system-vm"
-
- # sync this with the whitelist in tools/perf/Makefile.config
- local disable_libdw
- if ! use amd64 && ! use x86 && \
- ! use arm && \
- ! use arm64 && \
- ! use ppc && ! use ppc64 \
- ! use s390 && \
- ! use riscv && \
- ! use loong
- then
- disable_libdw=1
- fi
-
- # perf directly invokes LD for linking without going through CC, on mips
- # it is required to specify the emulation. port of below buildroot patch
- # https://patchwork.ozlabs.org/project/buildroot/patch/20170217105905.32151-1-Vincent.Riera@imgtec.com/
- local linker="$(tc-getLD)"
- if use mips
- then
- if use big-endian
- then
- use abi_mips_n64 && linker+=" -m elf64btsmip"
- use abi_mips_n32 && linker+=" -m elf32btsmipn32"
- use abi_mips_o32 && linker+=" -m elf32btsmip"
- else
- use abi_mips_n64 && linker+=" -m elf64ltsmip"
- use abi_mips_n32 && linker+=" -m elf32ltsmipn32"
- use abi_mips_o32 && linker+=" -m elf32ltsmip"
- fi
- fi
-
- # FIXME: NO_CORESIGHT
- local emakeargs=(
- V=1 VF=1
- HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)"
- CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" LD="${linker}" NM="$(tc-getNM)"
- CLANG="${CHOST}-clang"
- PKG_CONFIG="$(tc-getPKG_CONFIG)"
- prefix="${EPREFIX}/usr" bindir_relative="bin"
- tipdir="share/doc/${PF}"
- EXTRA_CFLAGS="${CPPFLAGS} ${CFLAGS}"
- EXTRA_LDFLAGS="${LDFLAGS}"
- ARCH="${arch}"
- BUILD_BPF_SKEL=$(usex bpf 1 "") \
- BUILD_NONDISTRO=1
- JDIR="${java_dir}"
- CORESIGHT=
- GTK2=$(usex gtk 1 "")
- feature-gtk2-infobar=$(usex gtk 1 "")
- NO_AUXTRACE=
- NO_BACKTRACE=
- NO_CAPSTONE=$(puse capstone)
- NO_DEMANGLE=
- NO_JVMTI=$(puse java)
- NO_LIBAUDIT=1
- NO_LIBBABELTRACE=$(puse babeltrace)
- NO_LIBBIONIC=1
- NO_LIBBPF=$(puse bpf)
- NO_LIBCAP=$(puse caps)
- NO_LIBCRYPTO=$(puse crypt)
- NO_LIBDW_DWARF_UNWIND="${disable_libdw}"
- NO_LIBELF=
- NO_LIBLLVM=$(puse bpf)
- NO_LIBNUMA=$(puse numa)
- NO_LIBPERL=$(puse perl)
- NO_LIBPFM4=$(puse libpfm)
- NO_LIBPYTHON=$(puse python)
- NO_LIBTRACEEVENT=$(puse libtraceevent)
- NO_LIBUNWIND=$(puse unwind)
- NO_SDT=$(puse systemtap)
- NO_SHELLCHECK=1
- NO_SLANG=$(puse slang)
- NO_LZMA=$(puse lzma)
- NO_ZLIB=
- TCMALLOC=$(usex tcmalloc 1 "")
- WERROR=0
- DEBUG=$(usex debug 1 "")
- LIBDIR="/usr/libexec/perf-core"
- libdir="${EPREFIX}/usr/$(get_libdir)"
- plugindir="${EPREFIX}/usr/$(get_libdir)/perf/plugins"
- "$@"
- )
- NO_JEVENTS=$(puse python) emake "${emakeargs[@]}"
-}
-
-src_compile() {
- filter-lto
-
- # capstone-6 compatibility (#964350)
- append-cppflags -DCAPSTONE_AARCH64_COMPAT_HEADER -DCAPSTONE_SYSTEMZ_COMPAT_HEADER
-
- perf_make -f Makefile.perf
- perf_make -C Documentation man
-}
-
-src_test() {
- :
-}
-
-src_install() {
- perf_make -f Makefile.perf install DESTDIR="${D}"
-
- if use python; then
- perf_make -f Makefile.perf install-python_ext DESTDIR="${D}"
- fi
-
- if use gtk; then
- local libdir
- libdir="$(get_libdir)"
- # on some arches it ends up in lib even on 64bit, ppc64 for instance.
- [[ -f "${ED}"/usr/lib/libperf-gtk.so ]] && libdir="lib"
- mv "${ED}"/usr/${libdir}/libperf-gtk.so \
- "${ED}"/usr/libexec/perf-core || die
- fi
-
- dodoc CREDITS
-
- dodoc *txt Documentation/*.txt
-
- # perf needs this decompressed to print out tips for users
- docompress -x /usr/share/doc/${PF}/tips.txt
-
- doman Documentation/*.1
-}
diff --git a/dev-util/perf/perf-6.16.ebuild b/dev-util/perf/perf-6.16.ebuild
deleted file mode 100644
index ff5d052e2c4f..000000000000
--- a/dev-util/perf/perf-6.16.ebuild
+++ /dev/null
@@ -1,349 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {18..20} )
-PYTHON_COMPAT=( python3_{10..14} )
-inherit bash-completion-r1 estack flag-o-matic linux-info llvm-r1 toolchain-funcs python-r1
-
-DESCRIPTION="Userland tools for Linux Performance Counters"
-HOMEPAGE="https://perfwiki.github.io/main/"
-
-LINUX_V="${PV:0:1}.x"
-if [[ ${PV} == *_rc* ]] ; then
- LINUX_VER=$(ver_cut 1-2).$(($(ver_cut 3)-1))
- PATCH_VERSION=$(ver_cut 1-3)
- LINUX_PATCH=patch-${PV//_/-}.xz
- SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/${LINUX_PATCH}
- https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/v${PATCH_VERSION}/${LINUX_PATCH}"
-elif [[ ${PV} == *.*.* ]] ; then
- # stable-release series
- LINUX_VER=$(ver_cut 1-2)
- LINUX_PATCH=patch-${PV}.xz
- SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}"
-else
- LINUX_VER=${PV}
-fi
-
-LINUX_SOURCES="linux-${LINUX_VER}.tar.xz"
-SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}"
-
-S_K="${WORKDIR}/linux-${LINUX_VER}"
-S="${S_K}/tools/perf"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
-IUSE="abi_mips_o32 abi_mips_n32 abi_mips_n64 babeltrace capstone big-endian bpf caps crypt debug +doc gtk java libpfm +libtraceevent +libtracefs lzma numa perl +python +slang systemtap tcmalloc unwind"
-
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
-"
-
-# setuptools (and Python) are always needed even if not building Python bindings
-BDEPEND="
- ${LINUX_PATCH+dev-util/patchutils}
- ${PYTHON_DEPS}
- >=app-arch/tar-1.34-r2
- dev-python/setuptools[${PYTHON_USEDEP}]
- app-alternatives/yacc
- app-alternatives/lex
- sys-apps/which
- virtual/pkgconfig
- doc? (
- app-text/asciidoc
- app-text/sgml-common
- app-text/xmlto
- sys-process/time
- )
-"
-
-RDEPEND="
- babeltrace? ( dev-util/babeltrace:0/1 )
- bpf? (
- dev-libs/libbpf
- dev-util/bpftool
- dev-util/pahole
- $(llvm_gen_dep '
- llvm-core/clang:${LLVM_SLOT}=
- llvm-core/llvm:${LLVM_SLOT}=
- ')
- )
- caps? ( sys-libs/libcap )
- capstone? ( dev-libs/capstone )
- crypt? ( dev-libs/openssl:= )
- gtk? ( x11-libs/gtk+:2 )
- java? ( virtual/jre:* )
- libpfm? ( dev-libs/libpfm:= )
- libtraceevent? ( dev-libs/libtraceevent )
- libtracefs? ( dev-libs/libtracefs )
- lzma? ( app-arch/xz-utils )
- numa? ( sys-process/numactl )
- perl? ( dev-lang/perl:= )
- python? ( ${PYTHON_DEPS} )
- slang? ( sys-libs/slang )
- systemtap? ( dev-debug/systemtap )
- tcmalloc? ( dev-util/google-perftools )
- unwind? ( sys-libs/libunwind:= )
- app-arch/zstd:=
- dev-libs/elfutils
- sys-libs/binutils-libs:=
- virtual/zlib:=
- virtual/libcrypt
-"
-
-DEPEND="${RDEPEND}
- >=sys-kernel/linux-headers-5.10
- java? ( virtual/jdk )
-"
-
-QA_FLAGS_IGNORED=(
- 'usr/bin/perf-read-vdso32' # not linked with anything except for libc
- 'usr/libexec/perf-core/dlfilters/.*' # plugins
-)
-
-pkg_pretend() {
- if ! use doc ; then
- ewarn "Without the doc USE flag you won't get any documentation nor man pages."
- ewarn "And without man pages, you won't get any --help output for perf and its"
- ewarn "sub-tools."
- fi
-}
-
-pkg_setup() {
- local CONFIG_CHECK="
- ~!SCHED_OMIT_FRAME_POINTER
- ~DEBUG_INFO
- ~FRAME_POINTER
- ~FTRACE
- ~FTRACE_SYSCALLS
- ~FUNCTION_TRACER
- ~KALLSYMS
- ~KALLSYMS_ALL
- ~KPROBES
- ~KPROBE_EVENTS
- ~PERF_EVENTS
- ~STACKTRACE
- ~TRACEPOINTS
- ~UPROBES
- ~UPROBE_EVENTS
- "
-
- use bpf && llvm-r1_pkg_setup
- # We enable python unconditionally as libbpf always generates
- # API headers using python script
- python_setup
-
- if use bpf ; then
- CONFIG_CHECK+="~BPF ~BPF_EVENTS ~BPF_SYSCALL ~DEBUG_INFO_BTF ~HAVE_EBPF_JIT ~UNWINDER_FRAME_POINTER"
- fi
-
- linux-info_pkg_setup
-}
-
-# src_unpack and src_prepare are copied to dev-util/bpftool since
-# it's building from the same tarball, please keep it in sync with bpftool
-src_unpack() {
- local paths=(
- 'arch/*/include/*' 'arch/*/lib/*' 'arch/*/tools/*' 'include/*'
- 'kernel/bpf/*' 'lib/*' 'scripts/*' 'tools/arch/*' 'tools/bpf/*'
- 'tools/build/*' 'tools/include/*' 'tools/lib/*' 'tools/perf/*'
- 'tools/scripts/*'
- )
-
- # We expect the tar implementation to support the -j option (both
- # GNU tar and libarchive's tar support that).
- echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}"
- gtar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \
- "${paths[@]/#/linux-${LINUX_VER}/}" || die
-
- if [[ -n ${LINUX_PATCH} ]] ; then
- eshopts_push -o noglob
- ebegin "Filtering partial source patch"
- xzcat "${DISTDIR}"/${LINUX_PATCH} | filterdiff -p1 ${paths[@]/#/-i} > ${P}.patch
- assert -n "Unpacking to ${P} from ${DISTDIR}/${LINUX_PATCH} failed"
- eend $? || die "filterdiff failed"
- test -s ${P}.patch || die "patch is empty?!"
- eshopts_pop
- fi
-
- local a
- for a in ${A}; do
- [[ ${a} == ${LINUX_SOURCES} ]] && continue
- [[ ${a} == ${LINUX_PATCH} ]] && continue
- unpack ${a}
- done
-}
-
-src_prepare() {
- default
- if [[ -n ${LINUX_PATCH} ]] ; then
- pushd "${S_K}" >/dev/null || die
- eapply "${WORKDIR}"/${P}.patch
- popd || die
- fi
-
- pushd "${S_K}" >/dev/null || die
- # Gentoo patches go here
- popd || die
-
- # Drop some upstream too-developer-oriented flags and fix the
- # Makefile in general
- sed -i \
- -e "s@\$(sysconfdir_SQ)/bash_completion.d@$(get_bashcompdir)@" \
- "${S}"/Makefile.perf || die
- # A few places still use -Werror w/out $(WERROR) protection.
- sed -i -e 's@-Werror@@' \
- "${S}"/Makefile.perf "${S_K}"/tools/lib/bpf/Makefile \
- "${S_K}"/tools/lib/perf/Makefile || die
-
- # Avoid the call to make kernelversion
- sed -i -e '/PERF-VERSION-GEN/d' Makefile.perf || die
- echo "#define PERF_VERSION \"${PV}\"" > PERF-VERSION-FILE
-
- # The code likes to compile local assembly files which lack ELF markings.
- find -name '*.S' -exec sed -i '$a.section .note.GNU-stack,"",%progbits' {} +
-}
-
-puse() { usex $1 "" 1; }
-perf_make() {
- # The arch parsing is a bit funky. The perf tools package is integrated
- # into the kernel, so it wants an ARCH that looks like the kernel arch,
- # but it also wants to know about the split value -- i386/x86_64 vs just
- # x86. We can get that by telling the func to use an older linux version.
- # It's kind of a hack, but not that bad ...
-
- # LIBDIR sets a search path of perf-gtk.so. Bug 515954
-
- local arch=$(tc-arch-kernel)
- local java_dir
- use java && java_dir="${EPREFIX}/etc/java-config-2/current-system-vm"
-
- # sync this with the whitelist in tools/perf/Makefile.config
- local disable_libdw
- if ! use amd64 && ! use x86 && \
- ! use arm && \
- ! use arm64 && \
- ! use ppc && ! use ppc64 \
- ! use s390 && \
- ! use riscv && \
- ! use loong
- then
- disable_libdw=1
- fi
-
- # perf directly invokes LD for linking without going through CC, on mips
- # it is required to specify the emulation. port of below buildroot patch
- # https://patchwork.ozlabs.org/project/buildroot/patch/20170217105905.32151-1-Vincent.Riera@imgtec.com/
- local linker="$(tc-getLD)"
- if use mips
- then
- if use big-endian
- then
- use abi_mips_n64 && linker+=" -m elf64btsmip"
- use abi_mips_n32 && linker+=" -m elf32btsmipn32"
- use abi_mips_o32 && linker+=" -m elf32btsmip"
- else
- use abi_mips_n64 && linker+=" -m elf64ltsmip"
- use abi_mips_n32 && linker+=" -m elf32ltsmipn32"
- use abi_mips_o32 && linker+=" -m elf32ltsmip"
- fi
- fi
-
- # FIXME: NO_CORESIGHT
- local emakeargs=(
- V=1 VF=1
- HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)"
- CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" LD="${linker}" NM="$(tc-getNM)"
- CLANG="${CHOST}-clang"
- PKG_CONFIG="$(tc-getPKG_CONFIG)"
- prefix="${EPREFIX}/usr" bindir_relative="bin"
- tipdir="share/doc/${PF}"
- EXTRA_CFLAGS="${CFLAGS}"
- EXTRA_LDFLAGS="${LDFLAGS}"
- ARCH="${arch}"
- BUILD_BPF_SKEL=$(usex bpf 1 "") \
- BUILD_NONDISTRO=1
- JDIR="${java_dir}"
- CORESIGHT=
- GTK2=$(usex gtk 1 "")
- feature-gtk2-infobar=$(usex gtk 1 "")
- NO_AUXTRACE=
- NO_BACKTRACE=
- NO_CAPSTONE=$(puse capstone)
- NO_DEMANGLE=
- NO_JVMTI=$(puse java)
- NO_LIBAUDIT=1
- NO_LIBBABELTRACE=$(puse babeltrace)
- NO_LIBBIONIC=1
- NO_LIBBPF=$(puse bpf)
- NO_LIBCAP=$(puse caps)
- NO_LIBCRYPTO=$(puse crypt)
- NO_LIBDW_DWARF_UNWIND="${disable_libdw}"
- NO_LIBELF=
- NO_LIBLLVM=$(puse bpf)
- NO_LIBNUMA=$(puse numa)
- NO_LIBPERL=$(puse perl)
- NO_LIBPFM4=$(puse libpfm)
- NO_LIBPYTHON=$(puse python)
- NO_LIBTRACEEVENT=$(puse libtraceevent)
- NO_LIBUNWIND=$(puse unwind)
- NO_SDT=$(puse systemtap)
- NO_SHELLCHECK=1
- NO_SLANG=$(puse slang)
- NO_LZMA=$(puse lzma)
- NO_ZLIB=
- TCMALLOC=$(usex tcmalloc 1 "")
- WERROR=0
- DEBUG=$(usex debug 1 "")
- LIBDIR="/usr/libexec/perf-core"
- libdir="${EPREFIX}/usr/$(get_libdir)"
- plugindir="${EPREFIX}/usr/$(get_libdir)/perf/plugins"
- "$@"
- )
- NO_JEVENTS=$(puse python) emake "${emakeargs[@]}"
-}
-
-src_compile() {
- filter-lto
-
- perf_make -f Makefile.perf
- use doc && perf_make -C Documentation man
-}
-
-src_test() {
- :
-}
-
-src_install() {
- _install_python_ext() {
- perf_make -f Makefile.perf install-python_ext DESTDIR="${D}"
- }
-
- perf_make -f Makefile.perf install DESTDIR="${D}"
-
- if use python; then
- python_foreach_impl _install_python_ext
- fi
-
- if use gtk; then
- local libdir
- libdir="$(get_libdir)"
- # on some arches it ends up in lib even on 64bit, ppc64 for instance.
- [[ -f "${ED}"/usr/lib/libperf-gtk.so ]] && libdir="lib"
- mv "${ED}"/usr/${libdir}/libperf-gtk.so \
- "${ED}"/usr/libexec/perf-core || die
- fi
-
- dodoc CREDITS
-
- dodoc *txt Documentation/*.txt
-
- # perf needs this decompressed to print out tips for users
- docompress -x /usr/share/doc/${PF}/tips.txt
-
- if use doc ; then
- doman Documentation/*.1
- fi
-}
diff --git a/dev-util/perf/perf-6.17.ebuild b/dev-util/perf/perf-6.17.ebuild
deleted file mode 100644
index 1a49b45de0c6..000000000000
--- a/dev-util/perf/perf-6.17.ebuild
+++ /dev/null
@@ -1,338 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {18..21} )
-PYTHON_COMPAT=( python3_{10..14} )
-inherit bash-completion-r1 estack flag-o-matic linux-info llvm-r1 toolchain-funcs python-single-r1
-
-DESCRIPTION="Userland tools for Linux Performance Counters"
-HOMEPAGE="https://perfwiki.github.io/main/"
-
-LINUX_V="${PV:0:1}.x"
-if [[ ${PV} == *_rc* ]] ; then
- LINUX_VER=$(ver_cut 1-2).$(($(ver_cut 3)-1))
- PATCH_VERSION=$(ver_cut 1-3)
- LINUX_PATCH=patch-${PV//_/-}.xz
- SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/${LINUX_PATCH}
- https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/v${PATCH_VERSION}/${LINUX_PATCH}"
-elif [[ ${PV} == *.*.* ]] ; then
- # stable-release series
- LINUX_VER=$(ver_cut 1-2)
- LINUX_PATCH=patch-${PV}.xz
- SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}"
-else
- LINUX_VER=${PV}
-fi
-
-LINUX_SOURCES="linux-${LINUX_VER}.tar.xz"
-SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}"
-
-S_K="${WORKDIR}/linux-${LINUX_VER}"
-S="${S_K}/tools/perf"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
-IUSE="abi_mips_o32 abi_mips_n32 abi_mips_n64 babeltrace capstone big-endian bpf caps crypt debug gtk java libpfm +libtraceevent +libtracefs lzma numa perl +python +slang systemtap tcmalloc unwind"
-
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
-"
-
-# setuptools (and Python) are always needed even if not building Python bindings
-BDEPEND="
- ${LINUX_PATCH+dev-util/patchutils}
- ${PYTHON_DEPS}
- >=app-arch/tar-1.34-r2
- $(python_gen_cond_dep '
- dev-python/setuptools[${PYTHON_USEDEP}]
- ')
- app-alternatives/yacc
- app-alternatives/lex
- sys-apps/which
- virtual/pkgconfig
- app-text/asciidoc
- app-text/sgml-common
- app-text/xmlto
- sys-process/time
-"
-
-RDEPEND="
- babeltrace? ( dev-util/babeltrace:0/1 )
- bpf? (
- dev-libs/libbpf
- dev-util/bpftool
- dev-util/pahole
- $(llvm_gen_dep '
- llvm-core/clang:${LLVM_SLOT}=
- llvm-core/llvm:${LLVM_SLOT}=
- ')
- )
- caps? ( sys-libs/libcap )
- capstone? ( dev-libs/capstone )
- crypt? ( dev-libs/openssl:= )
- gtk? ( x11-libs/gtk+:2 )
- java? ( virtual/jre:* )
- libpfm? ( dev-libs/libpfm:= )
- libtraceevent? ( dev-libs/libtraceevent )
- libtracefs? ( dev-libs/libtracefs )
- lzma? ( app-arch/xz-utils )
- numa? ( sys-process/numactl )
- perl? ( dev-lang/perl:= )
- python? ( ${PYTHON_DEPS} )
- slang? ( sys-libs/slang )
- systemtap? ( dev-debug/systemtap )
- tcmalloc? ( dev-util/google-perftools )
- unwind? ( sys-libs/libunwind:= )
- app-arch/zstd:=
- dev-libs/elfutils
- sys-libs/binutils-libs:=
- virtual/zlib:=
- virtual/libcrypt
-"
-
-DEPEND="${RDEPEND}
- >=sys-kernel/linux-headers-5.10
- java? ( virtual/jdk )
-"
-
-QA_FLAGS_IGNORED=(
- 'usr/bin/perf-read-vdso32' # not linked with anything except for libc
- 'usr/libexec/perf-core/dlfilters/.*' # plugins
-)
-
-pkg_setup() {
- local CONFIG_CHECK="
- ~!SCHED_OMIT_FRAME_POINTER
- ~DEBUG_INFO
- ~FRAME_POINTER
- ~FTRACE
- ~FTRACE_SYSCALLS
- ~FUNCTION_TRACER
- ~KALLSYMS
- ~KALLSYMS_ALL
- ~KPROBES
- ~KPROBE_EVENTS
- ~PERF_EVENTS
- ~STACKTRACE
- ~TRACEPOINTS
- ~UPROBES
- ~UPROBE_EVENTS
- "
-
- use bpf && llvm-r1_pkg_setup
- # We enable python unconditionally as libbpf always generates
- # API headers using python script
- python_setup
-
- if use bpf ; then
- CONFIG_CHECK+="~BPF ~BPF_EVENTS ~BPF_SYSCALL ~DEBUG_INFO_BTF ~HAVE_EBPF_JIT ~UNWINDER_FRAME_POINTER"
- fi
-
- linux-info_pkg_setup
-}
-
-# src_unpack and src_prepare are copied to dev-util/bpftool since
-# it's building from the same tarball, please keep it in sync with bpftool
-src_unpack() {
- local paths=(
- 'arch/*/include/*' 'arch/*/lib/*' 'arch/*/tools/*' 'include/*'
- 'kernel/bpf/*' 'lib/*' 'scripts/*' 'tools/arch/*' 'tools/bpf/*'
- 'tools/build/*' 'tools/include/*' 'tools/lib/*' 'tools/perf/*'
- 'tools/scripts/*'
- )
-
- # We expect the tar implementation to support the -j option (both
- # GNU tar and libarchive's tar support that).
- echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}"
- gtar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \
- "${paths[@]/#/linux-${LINUX_VER}/}" || die
-
- if [[ -n ${LINUX_PATCH} ]] ; then
- eshopts_push -o noglob
- ebegin "Filtering partial source patch"
- xzcat "${DISTDIR}"/${LINUX_PATCH} | filterdiff -p1 ${paths[@]/#/-i} > ${P}.patch
- assert -n "Unpacking to ${P} from ${DISTDIR}/${LINUX_PATCH} failed"
- eend $? || die "filterdiff failed"
- test -s ${P}.patch || die "patch is empty?!"
- eshopts_pop
- fi
-
- local a
- for a in ${A}; do
- [[ ${a} == ${LINUX_SOURCES} ]] && continue
- [[ ${a} == ${LINUX_PATCH} ]] && continue
- unpack ${a}
- done
-}
-
-src_prepare() {
- default
- if [[ -n ${LINUX_PATCH} ]] ; then
- pushd "${S_K}" >/dev/null || die
- eapply "${WORKDIR}"/${P}.patch
- popd || die
- fi
-
- pushd "${S_K}" >/dev/null || die
- # Gentoo patches go here
- popd || die
-
- # Drop some upstream too-developer-oriented flags and fix the
- # Makefile in general
- sed -i \
- -e "s@\$(sysconfdir_SQ)/bash_completion.d@$(get_bashcompdir)@" \
- "${S}"/Makefile.perf || die
- # A few places still use -Werror w/out $(WERROR) protection.
- sed -i -e 's@-Werror@@' \
- "${S}"/Makefile.perf "${S_K}"/tools/lib/bpf/Makefile \
- "${S_K}"/tools/lib/perf/Makefile || die
-
- # Avoid the call to make kernelversion
- sed -i -e '/PERF-VERSION-GEN/d' Makefile.perf || die
- echo "#define PERF_VERSION \"${PV}\"" > PERF-VERSION-FILE
-
- # The code likes to compile local assembly files which lack ELF markings.
- find -name '*.S' -exec sed -i '$a.section .note.GNU-stack,"",%progbits' {} +
-}
-
-puse() { usex $1 "" 1; }
-perf_make() {
- # The arch parsing is a bit funky. The perf tools package is integrated
- # into the kernel, so it wants an ARCH that looks like the kernel arch,
- # but it also wants to know about the split value -- i386/x86_64 vs just
- # x86. We can get that by telling the func to use an older linux version.
- # It's kind of a hack, but not that bad ...
-
- # LIBDIR sets a search path of perf-gtk.so. Bug 515954
-
- local arch=$(tc-arch-kernel)
- local java_dir
- use java && java_dir="${EPREFIX}/etc/java-config-2/current-system-vm"
-
- # sync this with the whitelist in tools/perf/Makefile.config
- local disable_libdw
- if ! use amd64 && ! use x86 && \
- ! use arm && \
- ! use arm64 && \
- ! use ppc && ! use ppc64 \
- ! use s390 && \
- ! use riscv && \
- ! use loong
- then
- disable_libdw=1
- fi
-
- # perf directly invokes LD for linking without going through CC, on mips
- # it is required to specify the emulation. port of below buildroot patch
- # https://patchwork.ozlabs.org/project/buildroot/patch/20170217105905.32151-1-Vincent.Riera@imgtec.com/
- local linker="$(tc-getLD)"
- if use mips
- then
- if use big-endian
- then
- use abi_mips_n64 && linker+=" -m elf64btsmip"
- use abi_mips_n32 && linker+=" -m elf32btsmipn32"
- use abi_mips_o32 && linker+=" -m elf32btsmip"
- else
- use abi_mips_n64 && linker+=" -m elf64ltsmip"
- use abi_mips_n32 && linker+=" -m elf32ltsmipn32"
- use abi_mips_o32 && linker+=" -m elf32ltsmip"
- fi
- fi
-
- # FIXME: NO_CORESIGHT
- local emakeargs=(
- V=1 VF=1
- HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)"
- CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" LD="${linker}" NM="$(tc-getNM)"
- CLANG="${CHOST}-clang"
- PKG_CONFIG="$(tc-getPKG_CONFIG)"
- prefix="${EPREFIX}/usr" bindir_relative="bin"
- tipdir="share/doc/${PF}"
- EXTRA_CFLAGS="${CPPFLAGS} ${CFLAGS}"
- EXTRA_LDFLAGS="${LDFLAGS}"
- ARCH="${arch}"
- BUILD_BPF_SKEL=$(usex bpf 1 "") \
- BUILD_NONDISTRO=1
- JDIR="${java_dir}"
- CORESIGHT=
- GTK2=$(usex gtk 1 "")
- feature-gtk2-infobar=$(usex gtk 1 "")
- NO_AUXTRACE=
- NO_BACKTRACE=
- NO_CAPSTONE=$(puse capstone)
- NO_DEMANGLE=
- NO_JVMTI=$(puse java)
- NO_LIBAUDIT=1
- NO_LIBBABELTRACE=$(puse babeltrace)
- NO_LIBBIONIC=1
- NO_LIBBPF=$(puse bpf)
- NO_LIBCAP=$(puse caps)
- NO_LIBCRYPTO=$(puse crypt)
- NO_LIBDW_DWARF_UNWIND="${disable_libdw}"
- NO_LIBELF=
- NO_LIBLLVM=$(puse bpf)
- NO_LIBNUMA=$(puse numa)
- NO_LIBPERL=$(puse perl)
- NO_LIBPFM4=$(puse libpfm)
- NO_LIBPYTHON=$(puse python)
- NO_LIBTRACEEVENT=$(puse libtraceevent)
- NO_LIBUNWIND=$(puse unwind)
- NO_SDT=$(puse systemtap)
- NO_SHELLCHECK=1
- NO_SLANG=$(puse slang)
- NO_LZMA=$(puse lzma)
- NO_ZLIB=
- TCMALLOC=$(usex tcmalloc 1 "")
- WERROR=0
- DEBUG=$(usex debug 1 "")
- LIBDIR="/usr/libexec/perf-core"
- libdir="${EPREFIX}/usr/$(get_libdir)"
- plugindir="${EPREFIX}/usr/$(get_libdir)/perf/plugins"
- "$@"
- )
- NO_JEVENTS=$(puse python) emake "${emakeargs[@]}"
-}
-
-src_compile() {
- filter-lto
-
- # capstone-6 compatibility (#964350)
- append-cppflags -DCAPSTONE_AARCH64_COMPAT_HEADER -DCAPSTONE_SYSTEMZ_COMPAT_HEADER
-
- perf_make -f Makefile.perf
- perf_make -C Documentation man
-}
-
-src_test() {
- :
-}
-
-src_install() {
- perf_make -f Makefile.perf install DESTDIR="${D}"
-
- if use python; then
- perf_make -f Makefile.perf install-python_ext DESTDIR="${D}"
- fi
-
- if use gtk; then
- local libdir
- libdir="$(get_libdir)"
- # on some arches it ends up in lib even on 64bit, ppc64 for instance.
- [[ -f "${ED}"/usr/lib/libperf-gtk.so ]] && libdir="lib"
- mv "${ED}"/usr/${libdir}/libperf-gtk.so \
- "${ED}"/usr/libexec/perf-core || die
- fi
-
- dodoc CREDITS
-
- dodoc *txt Documentation/*.txt
-
- # perf needs this decompressed to print out tips for users
- docompress -x /usr/share/doc/${PF}/tips.txt
-
- doman Documentation/*.1
-}
diff --git a/dev-util/perf/perf-6.18-r1.ebuild b/dev-util/perf/perf-6.19.ebuild
index 7af6ffeb0a41..4b59f5b3ff03 100644
--- a/dev-util/perf/perf-6.18-r1.ebuild
+++ b/dev-util/perf/perf-6.19.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -177,7 +177,6 @@ src_prepare() {
pushd "${S_K}" >/dev/null || die
# Gentoo patches go here
- eapply "${FILESDIR}/${P}-subcmd.patch"
popd || die
# Drop some upstream too-developer-oriented flags and fix the
diff --git a/dev-util/premake/premake-5.0.0_beta7.ebuild b/dev-util/premake/premake-5.0.0_beta7.ebuild
index d427f212d0bd..8fbda5a8d314 100644
--- a/dev-util/premake/premake-5.0.0_beta7.ebuild
+++ b/dev-util/premake/premake-5.0.0_beta7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -16,7 +16,7 @@ S="${WORKDIR}/${PN}-core-${MY_PV}"
LICENSE="BSD"
SLOT="5"
-KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 x86"
REQUIRED_USE="${LUA_REQUIRED_USE}"
RDEPEND="
diff --git a/dev-util/pwntools/pwntools-4.15.0.ebuild b/dev-util/pwntools/pwntools-4.15.0.ebuild
index 7732f87462dd..883216615bab 100644
--- a/dev-util/pwntools/pwntools-4.15.0.ebuild
+++ b/dev-util/pwntools/pwntools-4.15.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -24,6 +24,9 @@ fi
LICENSE="MIT GPL-2+ BSD-2"
SLOT="0"
+# <unicorn-2.1.4:
+# https://github.com/Gallopsled/pwntools/issues/2619
+# https://github.com/unicorn-engine/unicorn/issues/2134
RDEPEND="
${PYTHON_DEPS}
>=dev-libs/capstone-3.0.5[python,${PYTHON_USEDEP}]
diff --git a/dev-util/pwntools/pwntools-9999.ebuild b/dev-util/pwntools/pwntools-9999.ebuild
index a37ff9715050..636536001362 100644
--- a/dev-util/pwntools/pwntools-9999.ebuild
+++ b/dev-util/pwntools/pwntools-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -24,6 +24,9 @@ fi
LICENSE="MIT GPL-2+ BSD-2"
SLOT="0"
+# <unicorn-2.1.4:
+# https://github.com/Gallopsled/pwntools/issues/2619
+# https://github.com/unicorn-engine/unicorn/issues/2134
RDEPEND="
${PYTHON_DEPS}
>=dev-libs/capstone-3.0.5[python,${PYTHON_USEDEP}]
diff --git a/dev-util/ruff/Manifest b/dev-util/ruff/Manifest
index 45fb5d05da1b..2c39785f9b65 100644
--- a/dev-util/ruff/Manifest
+++ b/dev-util/ruff/Manifest
@@ -11,8 +11,11 @@ DIST ruff-0.14.9-crates.tar.xz 23756736 BLAKE2B 096331190e95db7701bd80ef61d38dbc
DIST ruff-0.14.9.gh.tar.gz 10435624 BLAKE2B 8a11be76ac46750c97efd6f8bfdafd1d2bdeac81302b85f2d04feba59165fe9ed1b24c465a9df0d8d415325af6e9c6e020d21f295ef94c52f24681359c00bb3a SHA512 67c58eff480232871041156ddd8448a856b0e3c9bb68ca82577d34f353a711b85e3b1e032f98ed0abe5d0fff2855a109380e59e8909dd2742c3bb6b96dc972d4
DIST ruff-0.15.0-crates.tar.xz 27175004 BLAKE2B 6d6b0b701576b7f26a306211695b40903a2605f0a6cbd19058e2ecb27c82657307adad760fa3a31365dc0589a0a7050862f656583421399de4971b8ccff550b4 SHA512 9ba8fd8fe9e199b35a8a4bcadf51eaa20ef0fdf4c3492c1395d0e49340cee5a58dcda93e2c2452993a296b765cbbe6d36f4bacd5f7c15f2ddc4fdfba4a0377b2
DIST ruff-0.15.0.gh.tar.gz 10873810 BLAKE2B 721a3895412faf0b456fef0c361ab576800b3b51d2ee03500b62af769680bb9942f5ee8be7aac4a24df409de7b20c9879b4b1e482727edf6d247921c692e8dc5 SHA512 b9584eee521718d1d5d27215c1981c38c3ab947bdfb4554ee323c220da6fc69dcb33b2cc7a23d8d730b24bf61a02c986499e037950faa3d500e2172d67e7d926
+DIST ruff-0.15.1-crates.tar.xz 27160512 BLAKE2B c59aca33f25cbee3970e1f05a0f4d6fd4411e8b9968eb682f29e2775ae17db10c8acd3e1de69a3aaff162a368e2af1d18c007e0d53cedcf65d2fc78096c6d8b2 SHA512 61e24937d6efce02013b2484c21c3eebe9f74d1bda740dfa9771e93846a8dd1d18039b6d9b905441af35062f5550a3d62342b5d4c63b479152d3de92abea6048
+DIST ruff-0.15.1.gh.tar.gz 10974921 BLAKE2B fbae4979a96a443dfb9b9492c4346d89ad6a8412a23934acf068b84972256de7d3a4e857e99064d29157ee2eaae15ac1d4ceec97861be66b59034a79f0adc221 SHA512 e8fa0bb254714a5d361a1d49aadd0633a6989d91c098c4dc2689991634960aff369f3e987546f1d9018de2920a4af40233f52fb8091f992a90d34a99be8ad855
DIST salsa-309c249088fdeef0129606fa34ec2eefc74736ff.gh.tar.gz 733433 BLAKE2B 7e624438a1bc329e7874fbd2b2efb159933b4297664567e6e0c367d4fbe9ab98de9ca1ffc09a2e2b3e15efd7b6a855298e8e861560157e6eb50ff0251260ad39 SHA512 5e4ee81b8bdb21c98bac9fd8f6e51946a393d5a8e526c8f2f1153234450f25b37618fba26aa1f102439633cc271d8b46769ab86a02d9a51ee1071cc5eed6e876
DIST salsa-3713cd7eb30821c0c086591832dd6f59f2af7fe7.gh.tar.gz 717350 BLAKE2B 3db412c1ce2953fdde9f182e9611d8dfe09b197be36c69ebf77344fbdf1efb542b94ca61c5cbcc39fdb3df8ec1e374d19e1e1116174f63f907e28b51f14f19cf SHA512 49bcdede05f7f681d075739b685e1807e978d8160374b2d6176246b90255d72c202205e7591af76ce362706793ca8c15f1a3854849c63b466313eaf363ad8c61
+DIST salsa-53421c2fff87426fa0bb51cab06632b87646de13.gh.tar.gz 742301 BLAKE2B 90a53f87b823c360fce95c32fa573650892e40d4f7b260b52efa9bd96da903342ba5cd8adfffed34f168e546a9a1c140ecf22c80731d458cd8e06c84bd6c4d24 SHA512 4471203f3a2a6db0766ce2d426583f9c55277987200bf863c31b1ef09f9ede77091d47ad3a971ae2653d34a02cb2f79b5fb0e6da7a0860dca6636ebba1651ae6
DIST salsa-55e5e7d32fa3fc189276f35bb04c9438f9aedbd1.gh.tar.gz 731425 BLAKE2B ce720abaa295b46c7e1fa06a73e2ad9a48a6b9da7f2b4a91edba38a28bb9a63a1661886fc7c5d6dbc915f589f2e055731a544cdf18afb4dd7b3f6815c59e543b SHA512 91942cfc6bbfb7f07366cdd3d42e5296bff877ee723b24868ff3c278defd0ef247f03e957332bc0696553f0f1977a41c18d08efe7887f5bda3a1cb98543bddbd
DIST salsa-9860ff6ca0f1f8f3a8d6b832020002790b501254.gh.tar.gz 738416 BLAKE2B a80aea2f5e89bbadd5aecd7bf728355f2ffd84793b2e3581e94ba10e32c68fa7b9eb2663b17e47089ba60f5b6019776f794f91771435a9e8d10876f4e38b4d97 SHA512 ed1080daa458a77dc1634381863c671f3facd34e048c952358253be950bc87eb4d11079566be8caa90eb1f704e1dbc3591418a03ed10f1b7147222afcf44fe63
DIST salsa-e9b9ddd4bec50ac777e9353bbb8f1180e5669d89.gh.tar.gz 741206 BLAKE2B 627fac673ca5010e430df998484ad0819ec4975c94d46d0fcf740a48ace92ce411e82f50c75b1645f6e1dfd8c4732081aa25e3fe8255c2059406892f5cb4f67f SHA512 285744b75e815249fad001eed2dd790b0e79b0d5a655806ae335b464b959f1ed47777041e3e4c0f3793be5b8920e43eead1ee78a9c4af9865ca76be2b4215104
diff --git a/dev-util/ruff/ruff-0.15.1.ebuild b/dev-util/ruff/ruff-0.15.1.ebuild
new file mode 100644
index 000000000000..c9365b4e5002
--- /dev/null
+++ b/dev-util/ruff/ruff-0.15.1.ebuild
@@ -0,0 +1,119 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Autogenerated by pycargoebuild 0.15.1
+
+EAPI=8
+
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [lsp-types]='https://github.com/astral-sh/lsp-types;3512a9f33eadc5402cfab1b8f7340824c8ca1439;lsp-types-%commit%'
+ [salsa-macro-rules]='https://github.com/salsa-rs/salsa;53421c2fff87426fa0bb51cab06632b87646de13;salsa-%commit%/components/salsa-macro-rules'
+ [salsa-macros]='https://github.com/salsa-rs/salsa;53421c2fff87426fa0bb51cab06632b87646de13;salsa-%commit%/components/salsa-macros'
+ [salsa]='https://github.com/salsa-rs/salsa;53421c2fff87426fa0bb51cab06632b87646de13;salsa-%commit%'
+)
+
+RUST_MIN_VER="1.91.0"
+
+inherit shell-completion cargo
+
+DESCRIPTION="An extremely fast Python linter, written in Rust"
+HOMEPAGE="
+ https://docs.astral.sh/ruff/
+ https://github.com/astral-sh/ruff
+"
+SRC_URI="
+ ${CARGO_CRATE_URIS}
+ https://github.com/astral-sh/ruff/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz
+ https://github.com/gentoo-crate-dist/${PN}/releases/download/${PV}/${P}-crates.tar.xz
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 BSD CC0-1.0 ISC MIT MPL-2.0 PSF-2 Unicode-3.0
+ Unicode-DFS-2016 WTFPL-2 ZLIB
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv"
+
+RDEPEND="
+ !elibc_musl? ( !elibc_Darwin? ( !elibc_bionic? ( dev-libs/jemalloc:= ) ) )
+ app-arch/zstd
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+DOCS=(
+ BREAKING_CHANGES.md
+ CODE_OF_CONDUCT.md
+ CONTRIBUTING.md
+ README.md
+ assets
+ docs
+)
+
+src_prepare() {
+ default
+
+ # Experimental cruft cleaner. These crates are not used by the ruff binary,
+ # and when they are removed in the git repo, the lockfile is regenerated
+ # and gets quite a bit smaller. Hence pycargoebuild also produces much
+ # smaller CRATES= variables. Less for the user to download, fewer distfiles
+ # to mirror.
+ pushd crates >/dev/null || die
+ rm -r ruff_{benchmark,dev} ty{,_{server,completion_eval}} *_wasm || die
+ popd > /dev/null || die
+
+ # tests that hang in the ebuild environment
+ rm crates/ruff_annotate_snippets/tests/examples.rs || die
+}
+
+src_configure() {
+ export RUSTFLAGS="${RUSTFLAGS}"
+ cargo_src_configure
+}
+
+src_compile() {
+ local -x ZSTD_SYS_USE_PKG_CONFIG=1
+ # Gentoo bug #927338
+ if use !elibc_musl && use !elibc_Darwin && use !elibc_bionic; then
+ local -x CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS=1
+ local -x JEMALLOC_OVERRIDE="${ESYSROOT}/usr/$(get_libdir)"/libjemalloc.so
+ fi
+ cargo_src_compile --bin ruff
+
+ local releasedir
+ releasedir=$(cargo_target_dir)
+
+ ${releasedir}/ruff generate-shell-completion bash > ruff-completion.bash || die
+ ${releasedir}/ruff generate-shell-completion fish > ruff-completion.fish || die
+ ${releasedir}/ruff generate-shell-completion zsh > ruff-completion.zsh || die
+}
+
+src_test() {
+ local -x ZSTD_SYS_USE_PKG_CONFIG=1
+ # Gentoo bug #927338
+ if use !elibc_musl && use !elibc_Darwin && use !elibc_bionic; then
+ local -x CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS=1
+ local -x JEMALLOC_OVERRIDE="${ESYSROOT}/usr/$(get_libdir)"/libjemalloc.so
+ fi
+ cargo_src_test --target-dir "${PWD}"/tested-target/
+}
+
+src_install() {
+ local releasedir=$(cargo_target_dir)
+
+ dobin ${releasedir}/ruff
+
+ newbashcomp ruff-completion.bash ruff
+ newfishcomp ruff-completion.fish ruff.fish
+ newzshcomp ruff-completion.zsh _ruff
+
+ dodoc -r "${DOCS[@]}"
+}