diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/perf/Manifest index c817b4d9b5..08d3098394 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/Manifest @@ -1,4 +1,2 @@ DIST linux-6.14.tar.xz 149408504 BLAKE2B 11835719804b406fe281ea1c276a84dc0cbaa808552ddcca9233d3eaeb1c001d0455c7205379b02de8e8db758c1bae6fe7ceb6697e63e3cf9ae7187dc7a9715e SHA512 71dcaa3772d8d9797c3ae30cae9c582b11a7047a3bbcb8dfd479a4dffb40ff0da74cf3d45175f50cc9992e338bcadd46c9c570f54054ca3bde6661768d3d22eb -DIST linux-6.15.tar.xz 151168812 BLAKE2B 465596c6dc053ff3a3966302a906d3edb4f7ee1ef82f8c20b96360196d3414f5b1deeafa67b8340fcdecd3617280ba9b756d7073ad15c707865e256397b4af53 SHA512 d03788ffa8d8ae1b84ef1286bb44a08fc01432e509dfec6cccae5c5a5a47201d378aec2bcd21e6f0bbd1e625b26f47780c06ee9c1cef3775358f98b160923f30 DIST linux-6.16.tar.xz 152620004 BLAKE2B 87bc4da7e89cc8265aebffea7ec6c09f711be24fee87cb1c03a264c03fd5a538d66aa806640835aa5103926e612cdfbc52d7c861d7f7065f1a8bb11d893b0921 SHA512 55a00f89ad6db6db2e26ff5dc5cfc96bbf6654e5bd5d17d2a3b944a47640367e54139716d230923187bebc6cb7756edc9511a620fb8abc6f32c50a658a734784 -DIST patch-6.16.4.xz 541776 BLAKE2B f343d8d03d5b09e06fbf906df7ac6175726c5cef8f2b9db2f31f509785d5d6e2a4d6b5573e8f6cce818e08e6a21da19320e2af3b43207fbd549a738ac2455f33 SHA512 b71b17fdc8f25e4e4e05b364c31a66502a3e00e6e3d66808f9726098f1f2e315e3666aa69c6f164a6cf8f1c2c4359fcd620b0dd624a98d007da4bd34310b03f1 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.15.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.16-r1.ebuild similarity index 92% rename from sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.15.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.16-r1.ebuild index 52241dbf23..918a9e75c6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.15.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.16-r1.ebuild @@ -3,9 +3,9 @@ EAPI=8 -LLVM_COMPAT=( {18..20} ) +LLVM_COMPAT=( {18..21} ) PYTHON_COMPAT=( python3_{10..14} python3_{13,14}t) -inherit bash-completion-r1 estack flag-o-matic linux-info llvm-r1 toolchain-funcs python-r1 +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/" @@ -35,7 +35,7 @@ S="${S_K}/tools/perf" LICENSE="GPL-2" SLOT="0" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" -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" +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} @@ -46,17 +46,17 @@ BDEPEND=" ${LINUX_PATCH+dev-util/patchutils} ${PYTHON_DEPS} >=app-arch/tar-1.34-r2 - dev-python/setuptools[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + 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 - ) + app-text/asciidoc + app-text/sgml-common + app-text/xmlto + sys-process/time " RDEPEND=" @@ -103,14 +103,6 @@ QA_FLAGS_IGNORED=( '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 @@ -309,7 +301,7 @@ src_compile() { filter-lto perf_make -f Makefile.perf - use doc && perf_make -C Documentation man + perf_make -C Documentation man } src_test() { @@ -317,14 +309,10 @@ 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 + perf_make -f Makefile.perf install-python_ext DESTDIR="${D}" fi if use gtk; then @@ -343,7 +331,5 @@ src_install() { # 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 + doman Documentation/*.1 } diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.16.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.16.4.ebuild deleted file mode 100644 index 52241dbf23..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-6.16.4.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} python3_{13,14}t) -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 ~amd64-linux ~x86-linux" -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:= - sys-libs/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 -}