diff options
Diffstat (limited to 'dev-util')
| -rw-r--r-- | dev-util/aruba/Manifest | 1 | ||||
| -rw-r--r-- | dev-util/aruba/aruba-2.3.3.ebuild | 71 | ||||
| -rw-r--r-- | dev-util/itstool/itstool-2.0.7_p20250326.ebuild | 2 | ||||
| -rw-r--r-- | dev-util/perf/Manifest | 1 | ||||
| -rw-r--r-- | dev-util/perf/perf-6.18.ebuild | 336 | ||||
| -rw-r--r-- | dev-util/uftrace/Manifest | 1 | ||||
| -rw-r--r-- | dev-util/uftrace/uftrace-0.18.1.ebuild | 71 |
7 files changed, 482 insertions, 1 deletions
diff --git a/dev-util/aruba/Manifest b/dev-util/aruba/Manifest index 36d1dcb74f6e..76ad8592927f 100644 --- a/dev-util/aruba/Manifest +++ b/dev-util/aruba/Manifest @@ -2,3 +2,4 @@ DIST aruba-2.2.0.tar.gz 130616 BLAKE2B f2f359d5ba79232e575a240e6d278b936f17d532d DIST aruba-2.3.0.tar.gz 129322 BLAKE2B 024e9dd2a1b028111806dacb97178bd143e7d109b86641cbf5499298315e177dcd89faa62b655069956f3b85908c772f3188729b99c9b2701acfd7d14590292b SHA512 771fcb99f0ace5961343c75a7575383014a22393f9eafaa7a04fa58da93c499dbd60574f47d1484342202fd25af6e50920de6108b22ffd88407add3add8c6625 DIST aruba-2.3.1.tar.gz 129489 BLAKE2B 7f63c6660de98321c90e005eea32e96b9ca307e4942672327ab878acde36d573378301f4c3a7fe6b7fa776754c91f7b652ea85e9a24d98c28cba568abd651307 SHA512 be3fa85fc6f86e2cf31ef239ebb485869cdd49350aaa9f4df842f3682b5b76cf373cb94204b98f59eb3a143588cd075fcc63311417e1a452a0608e88375e0922 DIST aruba-2.3.2.tar.gz 129734 BLAKE2B 48f9a2b4a31b12d9fc33ec87dfd992775b4df40351b2d099da36ca79214fab18a8669ec2cd79cd321cc6e5daa75202ba7c6aae143218782539ab4cee7336e4fe SHA512 46a0143b6368c70407fd1f1f6998f3f36a2f046bcf2b15c85ab68598edbfd0081e1a65c65c23a5ae757fb48499e7ef3a5d0a7751414e8d8bf80dc90f13933c80 +DIST aruba-2.3.3.tar.gz 129792 BLAKE2B 70e38575c5c88b26ad8d826df6f87a6cbd4a14f4e56975e9b15caac6f72826e167c5c7ff08fe57292bb255dd194e4c6b3e0d8ab31b3a737131f503ee9c91bd9e SHA512 3b643e9e13ce31c73967b41629755b3270fd007d5bc66abfbf34465aa458a655d3eaa223e6769e37d3c75ebf2ae03ccf0972b5a7f076cbe69571317c5d6f560c diff --git a/dev-util/aruba/aruba-2.3.3.ebuild b/dev-util/aruba/aruba-2.3.3.ebuild new file mode 100644 index 000000000000..594bcd78bda2 --- /dev/null +++ b/dev-util/aruba/aruba-2.3.3.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +USE_RUBY="ruby32 ruby33 ruby34" + +RUBY_FAKEGEM_RECIPE_TEST="cucumber" +RUBY_FAKEGEM_RECIPE_DOC="none" +RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md" +RUBY_FAKEGEM_BINDIR="exe" + +RUBY_FAKEGEM_GEMSPEC="aruba.gemspec" + +inherit ruby-fakegem + +DESCRIPTION="Cucumber steps for driving out command line applications" +HOMEPAGE="https://github.com/cucumber/aruba" +SRC_URI="https://github.com/cucumber/aruba/archive/v${PV}.tar.gz -> ${P}.tar.gz" +LICENSE="MIT" + +SLOT="$(ver_cut 1)" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="test" + +DEPEND="test? ( app-alternatives/bc )" + +ruby_add_rdepend " + >=dev-ruby/bundler-1.17 + >=dev-ruby/contracts-0.16.0 <dev-ruby/contracts-0.18 + >=dev-util/cucumber-8.0 <dev-util/cucumber-11 + >=dev-ruby/rspec-expectations-3.4:3 + dev-ruby/thor:1 +" + +ruby_add_bdepend "test? ( >=dev-ruby/appraisal-2.4:2 dev-ruby/pry dev-ruby/rspec:3 )" + +all_ruby_prepare() { + # Remove bundler-related code. + sed -i -e '/[Bb]undler/d' Rakefile spec/spec_helper.rb || die + #rm Gemfile || die + + sed -i -e '/simplecov/I s:^:#:' \ + -e '/Before/,/^end/ s:^:#:' \ + spec/spec_helper.rb features/support/env.rb || die + rm -f features/support/simplecov_setup.rb || die + + sed -e "s:_relative ': './:" \ + -e 's/git ls-files -z/find * -print0/' \ + -e '/\(kramdown\|pry-doc\|rake-manifest\|rubocop\|simplecov\|yard-junk\)/ s:^:#:' \ + -i ${RUBY_FAKEGEM_GEMSPEC} || die + + # Avoid features with minor output differences + sed -e '/Use .aruba. with .Minitest./i\ @wip' \ + -i features/01_getting_started_with_aruba/supported_testing_frameworks.feature || die + sed -e '/Create files for Minitest/i\ @wip' \ + -i features/06_use_aruba_cli/initialize_project_with_aruba.feature || die + rm -f features/03_testing_frameworks/cucumber/steps/command/wait_for_output_of_command.feature || die + + # Avoid feature that requires aruba to be installed already + rm -r features/03_testing_frameworks/cucumber/disable_bundler.feature || die + + # Avoid feature that makes assumptions about physical block size + # that we cannot guarantee, bug #935294 + rm -f features/04_aruba_api/filesystem/report_disk_usage.feature || die +} + +each_ruby_test() { + RSPEC_VERSION=3 ruby-ng_rspec + RUBYLIB="$(pwd)/lib" ruby-ng_cucumber --tags "not @wip" +} diff --git a/dev-util/itstool/itstool-2.0.7_p20250326.ebuild b/dev-util/itstool/itstool-2.0.7_p20250326.ebuild index d6026e5170ad..6c29c23da9a5 100644 --- a/dev-util/itstool/itstool-2.0.7_p20250326.ebuild +++ b/dev-util/itstool/itstool-2.0.7_p20250326.ebuild @@ -20,7 +20,7 @@ S="${WORKDIR}/${PN}-${COMMIT}" # files in /usr/share/itstool/its are under a special exception || GPL-3+ LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/dev-util/perf/Manifest b/dev-util/perf/Manifest index c76b2c10a3a6..49e0247a9165 100644 --- a/dev-util/perf/Manifest +++ b/dev-util/perf/Manifest @@ -1,3 +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 diff --git a/dev-util/perf/perf-6.18.ebuild b/dev-util/perf/perf-6.18.ebuild new file mode 100644 index 000000000000..584037462fc0 --- /dev/null +++ b/dev-util/perf/perf-6.18.ebuild @@ -0,0 +1,336 @@ +# 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_{11..14} python3_{13,14}t) +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 ~amd64-linux ~x86-linux" +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 + 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= + JDIR="${java_dir}" + CORESIGHT= + GTK2=$(usex gtk 1 "") + feature-gtk2-infobar=$(usex gtk 1 "") + LIBPERL=$(usex perl 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_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="${EPREFIX}/usr/$(get_libdir)" + LIBDIR="${EPREFIX}/usr/libexec/perf-core" + "$@" + ) + 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/uftrace/Manifest b/dev-util/uftrace/Manifest index 70215d00da0c..bb434db88147 100644 --- a/dev-util/uftrace/Manifest +++ b/dev-util/uftrace/Manifest @@ -1,2 +1,3 @@ DIST uftrace-0.17.tar.gz 1164457 BLAKE2B 7e9ed9af07d9f2ca8b78d7b7651408f5065917207c57855e6486c6d0d8acdaf3f87096a789f74e4458705c2fd59393fb6973f8e43750bc0bb4e3ab56268e6177 SHA512 b76ac32e68b474522f7d9c470940093bc37cf5d3d2d119d10ffad2954262e83c4092f593f307a41c765a6975416bfc62b844436a4d1888639741eb328e16e1d8 +DIST uftrace-0.18.1.tar.gz 1173722 BLAKE2B 2185205b0cbaafcb497adce672611f5bc28c6dbecd02b757fc5f2ee3c5d9967ac8aa539c66dc106e40ad3e19adce33e984da4dd6aa336a45c8bec9396f53f7dd SHA512 372b7ab0f9b87904493c21e58497d886c212708129334203c11bce1a86da212d2b44f6c66a12d813bab5ab581c866a114d34ffbc403089497942142c7bfb8315 DIST uftrace-0.18.tar.gz 1173673 BLAKE2B 866e4489e482b60fc487de77dfcb5cb1c4733c7e1d5a4fa43728fd1d7129ff53c6dcce493ca7478a554cfba5462c7e457d7fb3d8046cf4804963c6521e1f246d SHA512 07b3559248698c9c5155a6a97e0781b1f16778e773f3522d7f9b553998e69285ddb69e29be9e271c439edd95adb6a12fa57967015716c3e450498f6835b7c613 diff --git a/dev-util/uftrace/uftrace-0.18.1.ebuild b/dev-util/uftrace/uftrace-0.18.1.ebuild new file mode 100644 index 000000000000..c76410332fed --- /dev/null +++ b/dev-util/uftrace/uftrace-0.18.1.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( luajit ) +PYTHON_COMPAT=( python3_{11..14} ) # fails to compile with python3.13t + +inherit bash-completion-r1 lua-single python-single-r1 toolchain-funcs + +DESCRIPTION="Function (graph) tracer for user-space" +HOMEPAGE="https://github.com/namhyung/uftrace" +SRC_URI="https://github.com/namhyung/uftrace/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +IUSE="capstone lua python unwind" + +REQUIRED_USE=" + lua? ( ${LUA_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) +" + +RESTRICT="test" + +RDEPEND=" + sys-libs/ncurses:= + virtual/libelf:= + capstone? ( dev-libs/capstone:0= ) + lua? ( ${LUA_DEPS} ) + python? ( ${PYTHON_DEPS} ) + unwind? ( sys-libs/libunwind:= ) +" +DEPEND="${RDEPEND}" + +src_prepare() { + default + sed -i -e "s/ARCH/MYARCH/g" -e "/ldconfig/d" -e "/bash.completion/d" Makefile || die + sed -i -e '/PYTHON_LDFLAGS/{s/$(PYTHON_LDFLAGS)/$(COMMON_LDFLAGS) $(PYTHON_LDFLAGS)/g; p}' Makefile || die +} + +src_configure() { + local myconf=( + --libdir="${EPREFIX}/usr/$(get_libdir)/uftrace" + $(use_with capstone) + $(use_with unwind libunwind) + $(use_with python libpython) + ) + if use lua && use lua_single_target_luajit; then + myconf+=( + --with-libluajit + ) + else + myconf+=( + --without-libluajit + ) + fi + CC="$(tc-getCC)" LD="$(tc-getLD)" econf "${myconf[@]}" +} + +src_compile() { + emake V=1 +} + +src_install() { + default + + dodoc doc/*.{md,gif,png} + newbashcomp misc/bash-completion.sh uftrace +} |
