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/bcc/bcc-0.35.0-r2.ebuild | 210 | ||||
| -rw-r--r-- | dev-util/bcc/metadata.xml | 3 | ||||
| -rw-r--r-- | dev-util/cbindgen/cbindgen-0.29.2.ebuild | 2 | ||||
| -rw-r--r-- | dev-util/cmocka/cmocka-1.1.8.ebuild | 2 | ||||
| -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/selenium-manager/Manifest | 1 | ||||
| -rw-r--r-- | dev-util/selenium-manager/selenium-manager-4.39.0.ebuild | 126 | ||||
| -rw-r--r-- | dev-util/sysprof/metadata.xml | 3 | ||||
| -rw-r--r-- | dev-util/sysprof/sysprof-49.0.ebuild | 6 | ||||
| -rw-r--r-- | dev-util/tree-sitter-cli/tree-sitter-cli-0.25.10.ebuild | 2 | ||||
| -rw-r--r-- | dev-util/uftrace/Manifest | 1 | ||||
| -rw-r--r-- | dev-util/uftrace/uftrace-0.18.1.ebuild | 71 |
16 files changed, 831 insertions, 7 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/bcc/bcc-0.35.0-r2.ebuild b/dev-util/bcc/bcc-0.35.0-r2.ebuild new file mode 100644 index 000000000000..928c080ad225 --- /dev/null +++ b/dev-util/bcc/bcc-0.35.0-r2.ebuild @@ -0,0 +1,210 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( luajit ) +DISTUTILS_OPTIONAL=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{{10..14},{13..14}t} ) +LLVM_COMPAT=( {15..21} ) + +inherit cmake linux-info llvm-r1 lua-single distutils-r1 toolchain-funcs + +DESCRIPTION="Tools for BPF-based Linux IO analysis, networking, monitoring, and more" +HOMEPAGE="https://iovisor.github.io/bcc/" +SRC_URI="https://github.com/iovisor/bcc/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +IUSE="debuginfod +lua lzma +python static-libs test" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + lua? ( python ${LUA_REQUIRED_USE} ) +" + +# tests need root access +RESTRICT="test" + +RDEPEND=" + app-arch/zstd:= + >=dev-libs/elfutils-0.166:=[debuginfod?] + dev-libs/libbpf:= + dev-libs/libffi:= + sys-kernel/linux-headers + sys-libs/ncurses:=[tinfo] + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + lzma? ( || ( + app-arch/xz-utils + app-arch/lzma + ) ) + python? ( ${PYTHON_DEPS} ) + lua? ( ${LUA_DEPS} ) +" +DEPEND=" + ${RDEPEND} + test? ( + || ( + net-misc/iputils[arping] + net-analyzer/arping + ) + net-analyzer/netperf + net-misc/iperf:* + ) +" +BDEPEND=" + app-arch/zip + sys-devel/flex + sys-devel/bison + virtual/pkgconfig + python? ( ${DISTUTILS_DEPS} ) +" + +PATCHES=( + "${FILESDIR}/bcc-0.9.0-no-luajit-automagic-dep.patch" + "${FILESDIR}/bcc-0.25.0-cmakelists.patch" + "${FILESDIR}/bcc-0.23.0-man-compress.patch" + "${FILESDIR}/bcc-0.31.0-no-automagic-deps.patch" +) + +pkg_pretend() { + local CONFIG_CHECK="~BPF ~BPF_SYSCALL ~NET_CLS_BPF ~NET_ACT_BPF + ~HAVE_EBPF_JIT ~BPF_EVENTS ~DEBUG_INFO ~FUNCTION_TRACER ~KALLSYMS_ALL + ~KPROBES" + + check_extra_config +} + +pkg_setup() { + llvm-r1_pkg_setup + use python && python_setup +} + +bcc_distutils_phase() { + if use python; then + local python_phase_func="distutils-r1_${EBUILD_PHASE_FUNC}" + + if declare -f "${python_phase_func}" > /dev/null; then + pushd "${S}/src/python" > /dev/null || die + MY_S="${S}" S="${S}/src/python" "${python_phase_func}" + popd > /dev/null || die + else + die "Called ${FUNCNAME[0]} called in ${EBUILD_PHASE_FUNC}, but ${python_phase_func} doesn't exist" + fi + fi +} + +src_prepare() { + local bpf_link_path + + # this avoids bundling + bpf_link_path="$(realpath --relative-to="${S}/src/cc/libbpf" /usr/include/bpf)" || die + ln -sfn "${bpf_link_path}" src/cc/libbpf/include || die + + # bug 811288 + local script scriptname + for script in $(find tools/old -type f -name "*.py" || die); do + mv "${script}" "tools/old/old-${script##*/}" || die + done + + sed -i '/#include <error.h>/d' examples/cpp/KModRetExample.cc || die + + use static-libs || PATCHES+=( "${FILESDIR}/bcc-0.31.0-dont-install-static-libs.patch" ) + + # use distutils-r1 eclass funcs rather than letting upstream handle python + printf '\n' > src/python/CMakeLists.txt || die + + if use python; then + for python_file in $(find "${S}/src/python" -name '*.py.in' || die); do + sed "s:@REVISION@:${PV%%_*}:" "${python_file}" > "${python_file%.in}" || die + done + fi + + cmake_src_prepare + bcc_distutils_phase +} + +src_configure() { + local mycmakeargs=( + -DREVISION=${PV%%_*} + -DENABLE_LIBDEBUGINFOD=$(usex debuginfod) + -DENABLE_LLVM_SHARED=ON + -DENABLE_NO_PIE=OFF + -DWITH_LZMA=$(usex lzma) + -DCMAKE_USE_LIBBPF_PACKAGE=ON + -DLIBBPF_INCLUDE_DIRS="$($(tc-getPKG_CONFIG) --cflags-only-I libbpf | sed 's:-I::g')" + -DKERNEL_INCLUDE_DIRS="${KERNEL_DIR}" + -DNO_BLAZESYM=ON + -Wno-dev + ) + if use lua && use lua_single_target_luajit; then + mycmakeargs+=( -DWITH_LUAJIT=ON ) + fi + + cmake_src_configure + bcc_distutils_phase +} + +src_compile() { + cmake_src_compile + bcc_distutils_phase +} + +bcc_tool_name() { + local -A rename_tools=( + [trace]=1 + [profile]=1 + [inject]=1 + [capable]=1 + ) + + local name="${1}" + + local name="${name##*/}" + name="${name%.py}" + + [[ -n ${rename_tools[${name}]} ]] && name=bcc-${name} + + printf -- '%s\n' "${name}" +} + +python_install() { + distutils-r1_python_install + + python_scriptinto /usr/sbin + + local tool + for tool in $(grep -Elr '#!/usr/bin/(env |)python' "${MY_S}/tools"); do + python_newscript "${tool}" "$(bcc_tool_name "${tool}")" + done +} + +src_install() { + cmake_src_install + bcc_distutils_phase + + newenvd "${FILESDIR}"/60bcc.env 60bcc.env + + local tool target + for tool in "${ED}"/usr/share/bcc/tools/*; do + [[ -d ${tool} || ! -x ${tool} || ${tool} =~ .*[.](c|txt) ]] && continue + grep -qE '^#!/usr/bin/(env |)python' "${tool}" && continue + sed -e 's:dirname \$0:dirname "$(realpath "$0")":' -i "${tool}" || die + + target="/usr/sbin/$(bcc_tool_name "${tool}")" + [[ -e ${ED}${target} ]] && continue + + dosym -r "${tool#${ED}}" "${target}" + done + + docompress /usr/share/${PN}/man + + newenvd - "70${P}" <<-_EOF_ + MANPATH="${EPREFIX}/usr/share/${PN}/man" + _EOF_ +} diff --git a/dev-util/bcc/metadata.xml b/dev-util/bcc/metadata.xml index 2daf30697dda..b2eb4a220b38 100644 --- a/dev-util/bcc/metadata.xml +++ b/dev-util/bcc/metadata.xml @@ -8,6 +8,9 @@ <maintainer type="person"> <email>zmedico@gentoo.org</email> </maintainer> + <use> + <flag name="debuginfod">Enable debuginfod support via <pkg>dev-libs/elfutils</pkg> libdebuginfod</flag> + </use> <upstream> <remote-id type="github">iovisor/bcc</remote-id> </upstream> diff --git a/dev-util/cbindgen/cbindgen-0.29.2.ebuild b/dev-util/cbindgen/cbindgen-0.29.2.ebuild index 319ee930a408..083529a278ac 100644 --- a/dev-util/cbindgen/cbindgen-0.29.2.ebuild +++ b/dev-util/cbindgen/cbindgen-0.29.2.ebuild @@ -92,7 +92,7 @@ LICENSE+=" || ( Apache-2.0 Boost-1.0 ) " SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ppc ~ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" IUSE="test" # Needs debugging enabled and lots of other problems. diff --git a/dev-util/cmocka/cmocka-1.1.8.ebuild b/dev-util/cmocka/cmocka-1.1.8.ebuild index e626f01cda48..df5696218b82 100644 --- a/dev-util/cmocka/cmocka-1.1.8.ebuild +++ b/dev-util/cmocka/cmocka-1.1.8.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://cmocka.org/files/$(ver_cut 1-2)/${P}.tar.xz" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" IUSE="doc examples test" RESTRICT="!test? ( test )" 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/selenium-manager/Manifest b/dev-util/selenium-manager/Manifest index 576c1854abeb..1821848c8a87 100644 --- a/dev-util/selenium-manager/Manifest +++ b/dev-util/selenium-manager/Manifest @@ -9,3 +9,4 @@ DIST selenium-selenium-4.35.0.gh.tar.gz 52550104 BLAKE2B b7ed0fb513cfb2ed24aa839 DIST selenium-selenium-4.36.0.gh.tar.gz 52567842 BLAKE2B e5e715ce0d4e491f2551ea13c2b9cd6c1021fafd6b0bf0dacba9b0aa4e3f479816cb910c66e286e8cb7b737063705caa2c843db3ccb83f964b4bd64ff174d935 SHA512 b95037df807c827c8f110d112ec0d062c7bb3c71b9faf31f5bfae59b5bfd1c2e20b035c3c3ab180b2319f8ba952042fb77966eb44db5b803a545fa18e0285bb5 DIST selenium-selenium-4.37.0.gh.tar.gz 52580241 BLAKE2B 360f0c435cd79c37d65e03a6e049ab75cde20683599965a4ffbd155dd31ca7c8e0c5bbca83f3688d29a2404a51b6c6633581e369bcfb95b7b13b8508b0b65787 SHA512 0389e5dad02719da66689a9509ca95ae009120218f47ffedc1db2bb4063e95d842b527be23828a988c66c8b2ab7452817571aeda14b4f3254c5536d2d4b0f535 DIST selenium-selenium-4.38.0.gh.tar.gz 52583428 BLAKE2B 539234726775fd23357bf18881242b8b9c27ca62a9a3dd27d5625ba571d9e83df5639fedcd062474358ab821c6c7609668481db1a5311a2388d52e922c4e9f5a SHA512 68b6e819ecfd9bdd02701ebe96e9d28aa98893a738c5684162e6bfd263652f13d49567b4e2365286fcd08501b00024646e65e7e6b54ee713af42ed0ae99a4985 +DIST selenium-selenium-4.39.0.gh.tar.gz 52628198 BLAKE2B 91745d908c8ce1c2a898daacf7e5b3c1d309e3f63e450f4d5e7d343ecf67a587b57b5c573630adcf736b4bcf28abd9b2cda101a632f48bec8eddd6fc7a67e510 SHA512 e780848fce92ce99977a7c24983e075bc7338450196e8511a11bdace9c7d6e7de0b64e471a02d7403c10031100dfff674b302f24133e49d11ed5af4ca1cc20ce diff --git a/dev-util/selenium-manager/selenium-manager-4.39.0.ebuild b/dev-util/selenium-manager/selenium-manager-4.39.0.ebuild new file mode 100644 index 000000000000..1416b7076a4f --- /dev/null +++ b/dev-util/selenium-manager/selenium-manager-4.39.0.ebuild @@ -0,0 +1,126 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" +RUST_MIN_VER="1.85.0" + +inherit cargo + +TAG=selenium-${PV} +MY_P=selenium-${TAG} +CRATES_P=selenium-4.37.0 +DESCRIPTION="CLI tool that manages the browser/driver infrastructure required by Selenium" +HOMEPAGE=" + https://www.selenium.dev/ + https://github.com/SeleniumHQ/selenium/ +" +SRC_URI=" + https://github.com/SeleniumHQ/selenium/archive/selenium-${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + https://github.com/gentoo-crate-dist/selenium/releases/download/${CRATES_P}/${CRATES_P}-crates.tar.xz + " +fi +S="${WORKDIR}/${MY_P}/rust" + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 ZLIB + BZIP2 +" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" +IUSE="telemetry test" +RESTRICT="!test? ( test )" + +DEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-arch/zstd:= + virtual/zlib:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + test? ( + || ( + www-client/firefox + www-client/firefox-bin + ) + ) +" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_prepare() { + default + + sed -i -e '/strip/d' Cargo.toml || die + if ! use telemetry; then + sed -i -e '/avoid-stats/s:false:true:' src/config.rs || die + fi + + # Avoid tests requiring Internet or specific browsers (or trying + # to fetch them, whatever). + rm tests/browser_download_tests.rs || die + rm tests/cache_tests.rs || die + rm tests/electron_tests.rs || die + rm tests/exec_driver_tests.rs || die + rm tests/grid_tests.rs || die + rm tests/browser_tests.rs || die + rm tests/config_tests.rs || die + rm tests/iexplorer_tests.rs || die + rm tests/mirror_tests.rs || die + rm tests/output_tests.rs || die + rm tests/stable_browser_tests.rs || die + rm tests/webview_tests.rs || die + + # enable system libraries where supported + export ZSTD_SYS_USE_PKG_CONFIG=1 + sed -i -e '/features.*static/d' "${ECARGO_VENDOR}"/apple-xar-*/Cargo.toml || die + + # remove unbundled sources, just in case + # (smoke.c is actually used to test system -lz, sigh) + find "${ECARGO_VENDOR}"/*-sys-*/ \ + \( -name '*.c' -a -not -name 'smoke.c' \) -delete || die + + # bzip2-sys requires a pkg-config file + # https://github.com/alexcrichton/bzip2-rs/issues/104 + mkdir "${T}/pkg-config" || die + export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}} + cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die + Name: bzip2 + Version: 9999 + Description: + Libs: -lbz2 + EOF +} + +src_test() { + local -x PATH=${T}/bin:${PATH} + + mkdir "${T}/bin" || die + if ! has_version "www-client/firefox"; then + # upstream expects "firefox" rather than "firefox-bin" + ln -s "$(type -P firefox-bin)" "${T}/bin/firefox" || die + fi + + cargo_src_test --no-fail-fast +} + +src_install() { + cargo_src_install + einstalldocs + dodoc README.md + + newenvd - 70selenium-manager <<-EOF || die + SE_MANAGER_PATH="${EPREFIX}/usr/bin/selenium-manager" + EOF +} diff --git a/dev-util/sysprof/metadata.xml b/dev-util/sysprof/metadata.xml index 9544de8790fd..b5cf665fff33 100644 --- a/dev-util/sysprof/metadata.xml +++ b/dev-util/sysprof/metadata.xml @@ -11,6 +11,9 @@ Sysprof handles shared libraries and applications do not need to be recompiled. In fact they don't even have to be restarted. </longdescription> + <use> + <flag name="debuginfod">Enable debuginfod support via <pkg>dev-libs/elfutils</pkg> libdebuginfod</flag> + </use> <slots> <subslots>sysprof and sysprof-ui API version</subslots> </slots> diff --git a/dev-util/sysprof/sysprof-49.0.ebuild b/dev-util/sysprof/sysprof-49.0.ebuild index 096468f3e2f5..b1362bf3876b 100644 --- a/dev-util/sysprof/sysprof-49.0.ebuild +++ b/dev-util/sysprof/sysprof-49.0.ebuild @@ -12,7 +12,7 @@ LICENSE="GPL-3+ GPL-2+" API_VERSION="4" SLOT="0/${API_VERSION}" KEYWORDS="~amd64 ~arm64 ~loong ~x86" -IUSE="gtk systemd test" +IUSE="debuginfod gtk systemd test" RESTRICT="!test? ( test )" RDEPEND=" @@ -29,7 +29,7 @@ RDEPEND=" >=gui-libs/libpanel-1.4:1 sys-libs/libunwind:= >=sys-auth/polkit-0.114[daemon(+)] - dev-libs/elfutils + dev-libs/elfutils[debuginfod?] >=dev-util/sysprof-common-${PV} >=dev-util/sysprof-capture-${PV}:${API_VERSION} " @@ -71,7 +71,7 @@ src_configure() { -Dtools=true $(meson_use test tests) -Dexamples=false - -Ddebuginfod=disabled + $(meson_feature debuginfod) -Dintrospection=disabled -Ddocs=false ) diff --git a/dev-util/tree-sitter-cli/tree-sitter-cli-0.25.10.ebuild b/dev-util/tree-sitter-cli/tree-sitter-cli-0.25.10.ebuild index 3e946a6e66bd..baaf2f6cd48d 100644 --- a/dev-util/tree-sitter-cli/tree-sitter-cli-0.25.10.ebuild +++ b/dev-util/tree-sitter-cli/tree-sitter-cli-0.25.10.ebuild @@ -23,7 +23,7 @@ LICENSE+=" MIT MPL-2.0 Unicode-3.0 ZLIB " SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" # Test seems to require files (grammar definitions) that we don't have. RESTRICT="test" 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 372b7ab0f9b87904493c21e58497d886c2127081 |
