diff options
author | V3n3RiX <venerix@koprulu.sector> | 2025-04-05 01:34:33 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2025-04-05 01:34:33 +0100 |
commit | 8bcae5a5a332db9dc28c20b7a5f28337d8335254 (patch) | |
tree | f5e955d5d9283743bda70a7d99a915db594b8a50 /dev-util | |
parent | 74dcbf5a63cafe2678e2a397e1002dd691425200 (diff) |
Diffstat (limited to 'dev-util')
-rw-r--r-- | dev-util/Manifest.gz | bin | 64952 -> 64947 bytes | |||
-rw-r--r-- | dev-util/perf/Manifest | 2 | ||||
-rw-r--r-- | dev-util/perf/perf-6.14.ebuild | 350 | ||||
-rw-r--r-- | dev-util/pkgcheck/Manifest | 2 | ||||
-rw-r--r-- | dev-util/pkgcheck/pkgcheck-0.10.34.ebuild | 93 | ||||
-rw-r--r-- | dev-util/pkgcruft/Manifest | 4 | ||||
-rw-r--r-- | dev-util/pkgcruft/pkgcruft-0.0.12.ebuild | 122 | ||||
-rw-r--r-- | dev-util/pkgcruft/pkgcruft-9999.ebuild | 2 |
8 files changed, 573 insertions, 2 deletions
diff --git a/dev-util/Manifest.gz b/dev-util/Manifest.gz Binary files differindex 8b1a26a1a52e..63a4a8315097 100644 --- a/dev-util/Manifest.gz +++ b/dev-util/Manifest.gz 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 |