summaryrefslogtreecommitdiff
path: root/dev-util
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-04-05 01:34:33 +0100
committerV3n3RiX <venerix@koprulu.sector>2025-04-05 01:34:33 +0100
commit8bcae5a5a332db9dc28c20b7a5f28337d8335254 (patch)
treef5e955d5d9283743bda70a7d99a915db594b8a50 /dev-util
parent74dcbf5a63cafe2678e2a397e1002dd691425200 (diff)
gentoo auto-resync : 05:04:2025 - 01:34:33HEADnextmaster
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/Manifest.gzbin64952 -> 64947 bytes
-rw-r--r--dev-util/perf/Manifest2
-rw-r--r--dev-util/perf/perf-6.14.ebuild350
-rw-r--r--dev-util/pkgcheck/Manifest2
-rw-r--r--dev-util/pkgcheck/pkgcheck-0.10.34.ebuild93
-rw-r--r--dev-util/pkgcruft/Manifest4
-rw-r--r--dev-util/pkgcruft/pkgcruft-0.0.12.ebuild122
-rw-r--r--dev-util/pkgcruft/pkgcruft-9999.ebuild2
8 files changed, 573 insertions, 2 deletions
diff --git a/dev-util/Manifest.gz b/dev-util/Manifest.gz
index 8b1a26a1a52e..63a4a8315097 100644
--- a/dev-util/Manifest.gz
+++ b/dev-util/Manifest.gz
Binary files differ
diff --git a/dev-util/perf/Manifest b/dev-util/perf/Manifest
index e92021c5a2d9..dca4b6bdcf8c 100644
--- a/dev-util/perf/Manifest
+++ b/dev-util/perf/Manifest
@@ -4,11 +4,13 @@ AUX perf-6.7-expr.patch 1257 BLAKE2B 1ff41975d84f835a343d2b2f9f049edd817bf80ca57
DIST linux-6.11.tar.xz 146900704 BLAKE2B e7750c0878d71a56a0ce52d4c4c912199dad5bf5e2e8f872585a6494afbb37cbd852e612a6858936d2dc9b7776a3933818f540db408d57e90d18ea5249bba7ab SHA512 329c1f94008742e3f0c2ce7e591a16316d1b2cb9ea4596d4f45604097e07b7aa2f64afa40630a07f321a858455c77aa32ba57b271932ddcf4dc27863f9081cea
DIST linux-6.12.tar.xz 147906904 BLAKE2B b2ec2fc69218cacabbbe49f78384a5d259ca581b717617c12b000b16f4a4c59ee348ea886b37147f5f70fb9a7a01c1e2c8f19021078f6b23f5bc62d1c48d5e5e SHA512 a37b1823df7b4f72542f689b65882634740ba0401a42fdcf6601d9efd2e132e5a7650e70450ba76f6cd1f13ca31180f2ccee9d54fe4df89bc0000ade4380a548
DIST linux-6.13.tar.xz 148523052 BLAKE2B 9f617ecb3f2393b57ba03c654fea62a7213f24c835989f333a1ef29492af551bfa7d9ad786d5ef1484854adc77c7c6af38fb09a72d994d305695f512c325e77f SHA512 1137e6440132b0958f89165440e99208f82b204e7245ae69dc9c808df97d13ce8f58136db92407e0e93394fa7f6283ec7a34597c6e92a5b6d9025e0960357957
+DIST linux-6.14.tar.xz 149408504 BLAKE2B 11835719804b406fe281ea1c276a84dc0cbaa808552ddcca9233d3eaeb1c001d0455c7205379b02de8e8db758c1bae6fe7ceb6697e63e3cf9ae7187dc7a9715e SHA512 71dcaa3772d8d9797c3ae30cae9c582b11a7047a3bbcb8dfd479a4dffb40ff0da74cf3d45175f50cc9992e338bcadd46c9c570f54054ca3bde6661768d3d22eb
DIST linux-6.7.tar.xz 141406528 BLAKE2B cecdbd19905e43e485ab73b352ced18b37f2a138c97a6956cadcda5d3d271001117dc1cf896b166ff019fc7f405f9539e2ed0d6112b0890efb04d182adf4fd0e SHA512 de06de556191614bd9daf077ae239360352a402bab407748e67f1e5108c92fd933e451707840ab22fe0f9976db3d1e1b60ca9d41cf894f015ca09b3f652b74ad
DIST patch-6.11.7.xz 669756 BLAKE2B f2ec79bd337eaa61c7203c00ce61b3e5afa9eee38a3e38e63a7fc9270af86674e5c369ca7ddfe4fa5f79601b1c874af1ce732bd8987529c7db2f2f9ca54ba85b SHA512 031c22e2fa7e1c7808f50dc2120a35d10a0b81d30636c5d19146fe12558999517f132213b72c39a32d8cc2c0e14e16ff64cac63ef97f8be0ebe8e709a3de8156
DIST patch-6.13.5.xz 459896 BLAKE2B 08f3dc28f8f9cbf561570dc74b1a7070be07f966c442e9a4baf98fc5d7b18ec9d15360911049747ecbc1fe91c3f32188006ce85817caf2ba10925bf9456d76cf SHA512 d1d4b60f6072291624fcab6c630e8cd06795ad84282ad7fd55b1ab288b762a092b8486d2905f1de8e91e7b0e7d6e9a0046bd76d8e7352ff7ab5129e2ef67613b
EBUILD perf-6.11.7-r1.ebuild 9502 BLAKE2B 4dc13e56044b9ed2f41efb34ebb8bf43f12019ed16820a85e5369474ab337d4dbadda412e157775e66dedb6ab59b3a37bf9191150e9cad6127f84a0e1536ee21 SHA512 f000d56467fa314ac4eceee86b67726c44724c2bcbc318606a9662411f9e46461143737966e6e290f5f7340c3f77e2eb5d05f3e1bbadec003f9ec9c6e510c021
EBUILD perf-6.12-r1.ebuild 9593 BLAKE2B e8a8174e2c077e84169913fc054c8108e651f14c80cfa3ac1cd48d4e0d8973f9263d0e95062e79ddceb6bcef2bd6c37bda755a54d575374209b05331879462c0 SHA512 89d1afc37642c22563dbe0c00979c059e05ff457c26adce37fb7ae3b7387ee434dc0add58c6feb1cbf5a9d55ff1eb89248b684f5423c14bef6ce63d72dc45754
EBUILD perf-6.13.5.ebuild 9547 BLAKE2B af952b8995e1ccdb096b18a679a2d34ee148dc613d4fa65ea01c20b462c3d74955c6076f47fd52c199d252f3677773fc564bb278aa9e280570c3105d8bd8cd93 SHA512 0d0e760901b0427583d35117e2374e2f12e748c66aeac38561d95fa4d2dc967ac59f03371506f19a1370597a1cfcc5b4826400ee12dd49aba022ea3cf129dda2
+EBUILD perf-6.14.ebuild 9547 BLAKE2B 45b7cf22fa75ed2c4c4c003d524d49e8583db0fb366a7db53312c22f51315d2c344a06fca1ce309428f9b4360af9a3750c5f4943c64a32448f6214e5928dd4d9 SHA512 1a9ee84b97049ccf3df90689970eff977dc50e04904b70229f62f4beb1e7f07fab682c18267d33e53ffd351f1382dae0cf6807272d5b071379894bae2a685d57
EBUILD perf-6.7.ebuild 9089 BLAKE2B 3f8b6c6c4a4863ebced6de386010d714c21ee7581542bf8d420b7c9c7c28df6a94af0071bb89c688e4580bdf53fddb4fc94d3c690389bb92cc596c2538e795a3 SHA512 76c8ce49dce36c3ca7211db34496889a89def34ce55d9bd79e03d17475ad02081f23fb22882c32a785fcb37d05104b51b43251bde9ffeca65b1d7c3065fe1074
MISC metadata.xml 1664 BLAKE2B fd151376545e542f591d4a0b06f7a3e51a5e3844a613035fabbeb770a58781ed29cd5d7614560d0f7473b2dec3636e1ca0f736259091371baad96d1bc2ef5d8f SHA512 96d8b853e38317bb526d5d5888b04e706df8dcc37c2ef26a3b047b861f86e33406071d8cebc287fbd09e6e33a2b5e72872b41c3ceb247392adc310f8389c1a26
diff --git a/dev-util/perf/perf-6.14.ebuild b/dev-util/perf/perf-6.14.ebuild
new file mode 100644
index 000000000000..c21bfb37e91b
--- /dev/null
+++ b/dev-util/perf/perf-6.14.ebuild
@@ -0,0 +1,350 @@
+# 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..13} python3_13t)
+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://perf.wiki.kernel.org/"
+
+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 zstd"
+
+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
+ 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:= )
+ zstd? ( 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_JEVENTS=$(puse python)
+ 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_LIBZSTD=$(puse zstd)
+ 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"
+ "$@"
+ )
+ 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/pkgcheck/Manifest b/dev-util/pkgcheck/Manifest
index 1d530d43cb39..1b7ad9300142 100644
--- a/dev-util/pkgcheck/Manifest
+++ b/dev-util/pkgcheck/Manifest
@@ -1,5 +1,7 @@
AUX 50pkgcheck-gentoo.el 125 BLAKE2B db546b7f4e1517fb4f3bc46eff6a3294c8d677be031ecb33987daa84c355c3628ab7f24bbab90afb24b0bcec6c0ebebb56339374fa35a345481aa9808bd538be SHA512 31bad085867ebecedf0c9c3ed1223e7512238892d69b5224e850d744c5965bf7a2d7cb90978d9cce6da8dc554dba36803d604b8c6ac2b7cc9f2718ef7d6fc644
DIST pkgcheck-0.10.33.tar.gz 380205 BLAKE2B 7f732443cc03e5bfb184f976f1af507cae55f3c98b9d251701d209cc18e76a99e168afcdffe359b9b3ec731aa754eb6223381cc7bc5a7661cfde82a50337f8fe SHA512 f4a1de6d99982d6ec4d77e245ea968922a2a906087449a0d98ebe3d8fc22a4a6cf060b09d3455efdbe7e9a445e785c0312120d3158a08790880a94c8e045e9c6
+DIST pkgcheck-0.10.34.tar.gz 382566 BLAKE2B d91302f673326bf4756e06c2bad1ad89b10f14a08ac54a24a6a00d7a95d4313e5e1755393aefa55e1057a396483b023cc38e67902238e2620a76961feb8b2a81 SHA512 57ec0ccea00cde4187219f85d23f755878e2298f6219cb9b18eb35f927a685aac2d9b9c73045f6750f90959abb6313a1ed99dedaae4f0ec6b59f08585253a410
EBUILD pkgcheck-0.10.33-r1.ebuild 2228 BLAKE2B af847d65e90a37bfbf17f1b7afbd23f70ec5d580e9ec7c0301ee3409b8ce3380235eec059be8dae94512f064c256de99bbd73d328caba4d96a4f1e6625a15bf3 SHA512 0b5f6aa40027571be2b2a91c8d1405b6ce6a8850f033a507d37c0004584ee486266b85aa6148ffaddcbadc54f329938235e1032b997b8857c268e788f9a9cfe1
+EBUILD pkgcheck-0.10.34.ebuild 2236 BLAKE2B e62ccabd3258db055de1453d829c2c525bce0c7b5cd6e376475d289c7d69b2f89e4edeeadbd7b8e1a0f0526a0949f035daa278319ccf384de9acf3e305b1b87f SHA512 1795eb72d6a4fba6a4455adbaca0af80da2b4769c5c4627996b28b89b0b971fff66a7bd3efe7e8208e1e4af03b68737eddb37a2a2a773dbff078def2b68e12a6
EBUILD pkgcheck-9999.ebuild 2224 BLAKE2B 29b9f4de92c6c33ce9d6a83217473b28af127e570422742648542f77a43f553c2d18053da5ca0f45481f45e143ba5b76b4ac052290fa734725e9df13057ee5b5 SHA512 44caa5138f6f7648ffeb96f2ad6556f346b15dfa4bb32af038fa7e635ff3e986db1ea033e0d3e8ae5271be379164b9b3cf1592b69b419b11e972f2de9142eaa6
MISC metadata.xml 455 BLAKE2B b544db3532ef1da966833d5edbc79988cc1fd85b6d6276476684b49d4485814d6e2d969e742d3633c8176e7f37cae6614dae1654fd1424d71475f022166f6e6a SHA512 5abd1584f486e88992bab8c51c191b4915a5854752130f8a591147ff4b2af2102fdc8ab182e7358c3e4bbb3fdc8400563a250e2dba1793d365f0edc7c5f7c33a
diff --git a/dev-util/pkgcheck/pkgcheck-0.10.34.ebuild b/dev-util/pkgcheck/pkgcheck-0.10.34.ebuild
new file mode 100644
index 000000000000..ad3b08445872
--- /dev/null
+++ b/dev-util/pkgcheck/pkgcheck-0.10.34.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..13} )
+inherit elisp-common distutils-r1 optfeature
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/pkgcore/pkgcheck.git
+ https://github.com/pkgcore/pkgcheck.git"
+ inherit git-r3
+else
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+ inherit pypi
+fi
+
+DESCRIPTION="pkgcore-based QA utility for ebuild repos"
+HOMEPAGE="https://github.com/pkgcore/pkgcheck"
+
+LICENSE="BSD MIT"
+SLOT="0"
+IUSE="emacs"
+
+if [[ ${PV} == *9999 ]]; then
+ RDEPEND="
+ ~dev-python/snakeoil-9999[${PYTHON_USEDEP}]
+ ~sys-apps/pkgcore-9999[${PYTHON_USEDEP}]"
+else
+ RDEPEND="
+ >=dev-python/snakeoil-0.10.10[${PYTHON_USEDEP}]
+ >=sys-apps/pkgcore-0.12.25[${PYTHON_USEDEP}]"
+fi
+RDEPEND+="
+ >=dev-libs/tree-sitter-bash-0.21.0[python,${PYTHON_USEDEP}]
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/lazy-object-proxy[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/pathspec[${PYTHON_USEDEP}]
+ >=dev-python/tree-sitter-0.23.0[${PYTHON_USEDEP}]
+ <dev-python/tree-sitter-0.25.0[${PYTHON_USEDEP}]
+ emacs? (
+ >=app-editors/emacs-24.1:*
+ app-emacs/ebuild-mode
+ app-emacs/flycheck
+ )
+"
+BDEPEND="${RDEPEND}
+ >=dev-python/flit-core-3.8[${PYTHON_USEDEP}]
+ test? (
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+SITEFILE="50${PN}-gentoo.el"
+
+distutils_enable_tests pytest
+
+export USE_SYSTEM_TREE_SITTER_BASH=1
+
+src_compile() {
+ distutils-r1_src_compile
+
+ if use emacs ; then
+ pushd "${S}"/contrib/emacs >/dev/null || die
+ elisp-compile *.el
+ popd >/dev/null || die
+ fi
+}
+
+python_install_all() {
+ local DOCS=( NEWS.rst )
+ [[ ${PV} == *9999 ]] || doman build/sphinx/man/*
+ distutils-r1_python_install_all
+
+ if use emacs ; then
+ elisp-install ${PN} "${S}"/contrib/emacs/*.el{,c}
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+
+ optfeature "Network check support" dev-python/requests
+ optfeature "Perl module version check support" dev-perl/Gentoo-PerlMod-Version
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-util/pkgcruft/Manifest b/dev-util/pkgcruft/Manifest
index b93d700c72a5..e2a596b4cccb 100644
--- a/dev-util/pkgcruft/Manifest
+++ b/dev-util/pkgcruft/Manifest
@@ -1,6 +1,8 @@
DIST pkgcruft-0.0.10.tar.xz 32193612 BLAKE2B d0f28f63e0b4f1d1309156309331feb0daa0cd52c6f0491f918d49f76c425b36a47fd02060554cd4398ac3490d6e21009b7421cb0ca14a821093fca7f57087bc SHA512 14812be27345a737d91281c869bc8149581bf3802b3bddca19908bfb687013cd1ee751213e86c7c277850f07eff2b58358930c74cbe2e3f4b370929de518097e
DIST pkgcruft-0.0.11.tar.xz 40812256 BLAKE2B 6afbc3750d99d715a01d644413b4e5c407d902cbb1761b5017dae0cf5b868a48f6fe5a8ee845bb8e4484cc9ea154d954afc85cd81d53480eee1233598a07a044 SHA512 b4ba070b811e1a94795bd8e90452b4e2db6fba53a563b828c8f8c6b938727ed6aff35e969c88a22b961ded1bd51847f52f1d285863a27b76715fe1ec72979934
+DIST pkgcruft-0.0.12.tar.xz 41392836 BLAKE2B 0d04f3451b87f3e888bd471b8b06248b68e6929ace6922f01e4ba5e010e9b0a91ff4c94d4629a473dec6ae5229507dab216f98c02b4a47f454c75098543b0b13 SHA512 17542836ec659703f02a92c5afbd297006db8d3a58cb8b51d876f47592a0a155d85acf2a9661055f42d301d10806d3d30ed658cf4a20aa8748fd9f85222d353a
EBUILD pkgcruft-0.0.10.ebuild 2928 BLAKE2B 965b6a456af8285664f46960b5ddfd7690944259e17bd7575cb4972da57a99528133658ba2c99d59029e9c977b8c563a6163619e268126c66c0845824de1e180 SHA512 c9fde1ae0a1ca37d1dfa751cac12c215a1baef620368ac1fa123ece0e6653cf54d8e4eed09c5a20bac5a6a48b7a37055b184ea3507224eee1bbce2f7181913f0
EBUILD pkgcruft-0.0.11.ebuild 2929 BLAKE2B 0be9d003042d52aa73c7ede8464bba3728091582dea8b741a27a8b70dd61f506cad5d566f106806f3b6b5bd24e97a4e322ee41c52425d3c508fc8d8528cb24d0 SHA512 0f66f5744e6b7cc570c97c0479429808c9e29f8b45b5feafc484fd18b262aef8dd61863f209a4d6378a189b90a2a016eaa51d5b4984402c07e8c7cf29d6a045a
-EBUILD pkgcruft-9999.ebuild 2929 BLAKE2B 0be9d003042d52aa73c7ede8464bba3728091582dea8b741a27a8b70dd61f506cad5d566f106806f3b6b5bd24e97a4e322ee41c52425d3c508fc8d8528cb24d0 SHA512 0f66f5744e6b7cc570c97c0479429808c9e29f8b45b5feafc484fd18b262aef8dd61863f209a4d6378a189b90a2a016eaa51d5b4984402c07e8c7cf29d6a045a
+EBUILD pkgcruft-0.0.12.ebuild 2929 BLAKE2B 09fd8ed880898a2fb513c46621c7bba2fbe776bd127dec787162995971ec0b02bb2b31cedc0e653e90cb52523d5dc88f382e90edf61c94ddf225a9420ef13dc3 SHA512 4fa9e3c1fa7254071963faafed935f854e44f007adc7fe343b3b6d1abea1d4943a78b923b0a598acf5bea5ba93888ef1f4241d410e0a50d85a02cec9770015c6
+EBUILD pkgcruft-9999.ebuild 2929 BLAKE2B 09fd8ed880898a2fb513c46621c7bba2fbe776bd127dec787162995971ec0b02bb2b31cedc0e653e90cb52523d5dc88f382e90edf61c94ddf225a9420ef13dc3 SHA512 4fa9e3c1fa7254071963faafed935f854e44f007adc7fe343b3b6d1abea1d4943a78b923b0a598acf5bea5ba93888ef1f4241d410e0a50d85a02cec9770015c6
MISC metadata.xml 322 BLAKE2B b0ee0fc53eb8b4b485f74806a78b5560aaf53f1772d7bd3e5af4e03385b3f3aed18fc52462c2d49de6c0d735db0cae3fab175b8adc0e5f7c4baa89e28973776f SHA512 9343cd5028750182fe9325c44f4c4c7df0976b79e0422b66e0fd16f94be76eaa203e8ecad5ec2cbed3535f455f038e51968850ced9afb27af9a98b6b968df88a
diff --git a/dev-util/pkgcruft/pkgcruft-0.0.12.ebuild b/dev-util/pkgcruft/pkgcruft-0.0.12.ebuild
new file mode 100644
index 000000000000..dff52cd906d4
--- /dev/null
+++ b/dev-util/pkgcruft/pkgcruft-0.0.12.ebuild
@@ -0,0 +1,122 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES=" "
+LLVM_COMPAT=( {17..19} )
+RUST_MIN_VER="1.84.0"
+
+inherit cargo edo llvm-r2 multiprocessing shell-completion toolchain-funcs
+
+DESCRIPTION="QA library and tools based on pkgcraft"
+HOMEPAGE="https://pkgcraft.github.io/"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft"
+ inherit git-r3
+
+ S="${WORKDIR}"/${P}/crates/${PN}
+else
+ SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${P}/${P}.tar.xz"
+
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 BSD-2 BSD CC0-1.0 GPL-3+ ISC MIT MPL-2.0 Unicode-DFS-2016
+"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# clang needed for bindgen
+BDEPEND+="
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ ')
+ test? ( dev-util/cargo-nextest )
+"
+
+QA_FLAGS_IGNORED="usr/bin/pkgcruft"
+
+pkg_setup() {
+ llvm-r2_pkg_setup
+ rust_pkg_setup
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ cargo_live_src_unpack
+ else
+ cargo_src_unpack
+ fi
+}
+
+src_compile() {
+ # For scallop building bash
+ tc-export AR CC
+
+ cargo_src_compile
+
+ if [[ ${PV} == 9999 ]] ; then
+ # https://github.com/pkgcraft/pkgcraft/issues/258
+ edo cargo run --features shell --bin pkgcruft-shell-comp -p pkgcruft
+ fi
+}
+
+src_test() {
+ unset CLICOLOR CLICOLOR_FORCE
+
+ # TODO: Maybe move into eclass (and maybe have a cargo_enable_tests
+ # helper)
+ local -x NEXTEST_TEST_THREADS="$(makeopts_jobs)"
+
+ # The test failures appear ebuild-related
+ edo cargo nextest run $(usev !debug '--release') \
+ --color always \
+ --all-features \
+ --tests \
+ --no-fail-fast \
+ -- \
+ --skip 'commands::tests::check' \
+ --skip 'dependency::tests::check' \
+ --skip 'dependency_slot_missing::tests::check' \
+ --skip 'eapi_stale::tests::check' \
+ --skip 'eapi_status::tests::check' \
+ --skip 'ebuild_name::tests::check' \
+ --skip 'eclass::tests::check' \
+ --skip 'filesdir::tests::check' \
+ --skip 'header::tests::check' \
+ --skip 'homepage::tests::check' \
+ --skip 'ignore::tests::check' \
+ --skip 'iuse::tests::check' \
+ --skip 'keywords::tests::check' \
+ --skip 'keywords_dropped::tests::check' \
+ --skip 'license::tests::check' \
+ --skip 'live::tests::check' \
+ --skip 'manifest::tests::check' \
+ --skip 'metadata::tests::check' \
+ --skip 'properties::tests::check' \
+ --skip 'python_update::tests::check' \
+ --skip 'repo_layout::tests::check' \
+ --skip 'restrict::tests::check' \
+ --skip 'restrict_test_missing::tests::check' \
+ --skip 'ruby_update::tests::check' \
+ --skip 'src_uri::tests::check' \
+ --skip 'unstable_only::tests::check' \
+ --skip 'use_local::tests::check' \
+ --skip 'variable_order::tests::check' \
+ --skip 'whitespace::tests::check'
+}
+
+src_install() {
+ cargo_src_install
+
+ newbashcomp shell/pkgcruft.bash ${PN}
+ dozshcomp shell/_pkgcruft
+ dofishcomp shell/pkgcruft.fish
+}
diff --git a/dev-util/pkgcruft/pkgcruft-9999.ebuild b/dev-util/pkgcruft/pkgcruft-9999.ebuild
index 911e226eef4d..dff52cd906d4 100644
--- a/dev-util/pkgcruft/pkgcruft-9999.ebuild
+++ b/dev-util/pkgcruft/pkgcruft-9999.ebuild
@@ -5,7 +5,7 @@ EAPI=8
CRATES=" "
LLVM_COMPAT=( {17..19} )
-RUST_MIN_VER="1.82.0"
+RUST_MIN_VER="1.84.0"
inherit cargo edo llvm-r2 multiprocessing shell-completion toolchain-funcs