summaryrefslogtreecommitdiff
path: root/dev-util
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/lttng-modules/Manifest3
-rw-r--r--dev-util/lttng-modules/lttng-modules-2.12.6.ebuild49
-rw-r--r--dev-util/lttng-modules/lttng-modules-2.13.3.ebuild49
-rw-r--r--dev-util/lttng-modules/lttng-modules-2.13.7.ebuild49
-rw-r--r--dev-util/lttng-ust/Manifest4
-rw-r--r--dev-util/lttng-ust/lttng-ust-2.12.2.ebuild42
-rw-r--r--dev-util/lttng-ust/lttng-ust-2.12.4.ebuild42
-rw-r--r--dev-util/lttng-ust/lttng-ust-2.13.2.ebuild42
-rw-r--r--dev-util/lttng-ust/lttng-ust-2.13.5.ebuild42
-rw-r--r--dev-util/nvidia-cuda-toolkit/Manifest1
-rw-r--r--dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.5.1.ebuild328
-rw-r--r--dev-util/perf/Manifest1
-rw-r--r--dev-util/perf/files/perf-6.10-expr.patch22
-rw-r--r--dev-util/perf/perf-6.10.ebuild340
-rw-r--r--dev-util/pkgcheck/pkgcheck-0.10.30.ebuild2
-rw-r--r--dev-util/pkgdev/pkgdev-0.2.10-r1.ebuild2
-rw-r--r--dev-util/watchman/files/watchman-2023.06.19.00-unused.patch82
-rw-r--r--dev-util/watchman/watchman-2023.06.19.00.ebuild1
18 files changed, 777 insertions, 324 deletions
diff --git a/dev-util/lttng-modules/Manifest b/dev-util/lttng-modules/Manifest
index 8e94ede9afce..aa7f7575e68b 100644
--- a/dev-util/lttng-modules/Manifest
+++ b/dev-util/lttng-modules/Manifest
@@ -1,6 +1,3 @@
DIST lttng-modules-2.12.5.tar.bz2 317002 BLAKE2B 9f42f8641dca7ce55e7445495c747ce340919458a23b4d471998fe2a28dd26bc7dfa5edbccf0b11877176091dee0c4d63fdda919c03afc8dad3fcfb7e9529c33 SHA512 81524dac513384852555a6f5619dc10286a2f7d4e3032ee9ca33705e830ee3bc3dc8c96b89a9c09dd5df2bf29944e3e566d1ac1a6cd6be83718af9836e043991
-DIST lttng-modules-2.12.6.tar.bz2 318479 BLAKE2B 7cac6dd7dcb12801a32179ced4bb141a7af87c864eb71b793e65b905e4a0ba3d3273609bd3cd80c9c1251914a39e62da0a85e18058480da0c4eb2d6eb44f851c SHA512 608112b960d47ed5f979c7f2de2886d3fbe78a0d2eaec0892bfbca92bdad423e8ba8c3960836f71045c79d9c1b9eac88757400726656e98fb0ae70035e0073aa
DIST lttng-modules-2.12.8.tar.bz2 319450 BLAKE2B 0ce5c6675598c1a4b6fbc0dfaf51d36638f12fe2e07095c37a811db8d7ee65bb242164cf02b1854c27b6894f0b4c73867e8ee1b80dd007290e0db203ea429f9e SHA512 5918a54d08a12cec567cdad2909846ba529d5e665a3592a69384d9546f6f3e23e7975876fc11feaef65604d36889b0598b1cf7b5f2badb4e2b11b255a2e7ca99
DIST lttng-modules-2.13.10.tar.bz2 350692 BLAKE2B a7596586adb63e3d7cdd849b4e6a4812409749c7e84f081d5367f3d5393884f8ae3e945597500336befac14191e84179decfd5153dff6cdcaed2d041055c268e SHA512 21c21bc186c0cf8465e411fdeeb09ce9f11fc0499915abaa086a2143ddc69905805b83847dad7e7c54aef4e61a9fc5507af5f25e478b2edd387309c7ca525b6f
-DIST lttng-modules-2.13.3.tar.bz2 343593 BLAKE2B a0c914af0118327cb6d785c7c018d2d9cbd2139bbc3e0524a9c96832c7214fea7fc2a0dd8a8770db0728aba6ca3e9f30ea6e790575fb4d3492d9a7485993f293 SHA512 a0329c4709cc1a5fcc8d667d7435bc57b37cfa95da5451a8ee6ab700f334365e2d78e085e537376948dfe95d433016be5f6e3b5e5aa34a05948d4fa42f9102a1
-DIST lttng-modules-2.13.7.tar.bz2 348121 BLAKE2B 880ad964477de6c27675bf5dfbbf131fd7e0fd9e911a1314d08e7aa0307a6eb691a7c09e3d450ac8da5d0bdcb3973396322a72461bf3c9b6ef07f71ad0ba3b83 SHA512 60515e847389ce70f9d0dbc28e73d8a072ea6f509f8c5f7bcf35258d6fda68ddc1e195ac75d4cf24d9535fbe385367644afc37f2a42f0e50ee7b4adfbbb1b4dd
diff --git a/dev-util/lttng-modules/lttng-modules-2.12.6.ebuild b/dev-util/lttng-modules/lttng-modules-2.12.6.ebuild
deleted file mode 100644
index 2936f980647d..000000000000
--- a/dev-util/lttng-modules/lttng-modules-2.12.6.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit linux-mod
-
-MY_P="${P/_rc/-rc}"
-MY_SLOT="$(ver_cut 1-2)"
-
-DESCRIPTION="LTTng Kernel Tracer Modules"
-HOMEPAGE="https://lttng.org"
-SRC_URI="https://lttng.org/files/${PN}/${MY_P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0/${MY_SLOT}"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-BUILD_TARGETS="default"
-
-CONFIG_CHECK="MODULES KALLSYMS HIGH_RES_TIMERS TRACEPOINTS
- ~HAVE_SYSCALL_TRACEPOINTS ~PERF_EVENTS ~EVENT_TRACING ~KPROBES KRETPROBES"
-
-MODULE_NAMES="true"
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_pretend() {
- if kernel_is lt 3 0; then
- eerror "${PN} require Linux kernel >= 3.0"
- die "Please update your kernel!"
- fi
-}
-
-src_compile() {
- BUILD_FIXES="KERNELDIR=$KERNEL_DIR" linux-mod_src_compile
-}
-
-src_install() {
- for i in $(find "${S}" -name "*.ko" -print); do
- local val=${i##${S}/}
- local modules+="${val%%.ko}(misc:) "
- done
- MODULE_NAMES=${modules}
-
- linux-mod_src_install
- dodoc ChangeLog README.md TODO
-}
diff --git a/dev-util/lttng-modules/lttng-modules-2.13.3.ebuild b/dev-util/lttng-modules/lttng-modules-2.13.3.ebuild
deleted file mode 100644
index de25ec1df638..000000000000
--- a/dev-util/lttng-modules/lttng-modules-2.13.3.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit linux-mod
-
-MY_P="${P/_rc/-rc}"
-MY_SLOT="$(ver_cut 1-2)"
-
-DESCRIPTION="LTTng Kernel Tracer Modules"
-HOMEPAGE="https://lttng.org"
-SRC_URI="https://lttng.org/files/${PN}/${MY_P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0/${MY_SLOT}"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-BUILD_TARGETS="default"
-
-CONFIG_CHECK="MODULES KALLSYMS HIGH_RES_TIMERS TRACEPOINTS
- ~HAVE_SYSCALL_TRACEPOINTS ~PERF_EVENTS ~EVENT_TRACING ~KPROBES KRETPROBES"
-
-MODULE_NAMES="true"
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_pretend() {
- if kernel_is lt 3 0; then
- eerror "${PN} require Linux kernel >= 3.0"
- die "Please update your kernel!"
- fi
-}
-
-src_compile() {
- BUILD_FIXES="KERNELDIR=$KERNEL_DIR" linux-mod_src_compile
-}
-
-src_install() {
- for i in $(find "${S}" -name "*.ko" -print); do
- local val=${i##${S}/}
- local modules+="${val%%.ko}(misc:) "
- done
- MODULE_NAMES=${modules}
-
- linux-mod_src_install
- dodoc ChangeLog README.md
-}
diff --git a/dev-util/lttng-modules/lttng-modules-2.13.7.ebuild b/dev-util/lttng-modules/lttng-modules-2.13.7.ebuild
deleted file mode 100644
index de25ec1df638..000000000000
--- a/dev-util/lttng-modules/lttng-modules-2.13.7.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit linux-mod
-
-MY_P="${P/_rc/-rc}"
-MY_SLOT="$(ver_cut 1-2)"
-
-DESCRIPTION="LTTng Kernel Tracer Modules"
-HOMEPAGE="https://lttng.org"
-SRC_URI="https://lttng.org/files/${PN}/${MY_P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0/${MY_SLOT}"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-BUILD_TARGETS="default"
-
-CONFIG_CHECK="MODULES KALLSYMS HIGH_RES_TIMERS TRACEPOINTS
- ~HAVE_SYSCALL_TRACEPOINTS ~PERF_EVENTS ~EVENT_TRACING ~KPROBES KRETPROBES"
-
-MODULE_NAMES="true"
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_pretend() {
- if kernel_is lt 3 0; then
- eerror "${PN} require Linux kernel >= 3.0"
- die "Please update your kernel!"
- fi
-}
-
-src_compile() {
- BUILD_FIXES="KERNELDIR=$KERNEL_DIR" linux-mod_src_compile
-}
-
-src_install() {
- for i in $(find "${S}" -name "*.ko" -print); do
- local val=${i##${S}/}
- local modules+="${val%%.ko}(misc:) "
- done
- MODULE_NAMES=${modules}
-
- linux-mod_src_install
- dodoc ChangeLog README.md
-}
diff --git a/dev-util/lttng-ust/Manifest b/dev-util/lttng-ust/Manifest
index 5da5d18d0999..55abe0bc0280 100644
--- a/dev-util/lttng-ust/Manifest
+++ b/dev-util/lttng-ust/Manifest
@@ -1,8 +1,4 @@
DIST lttng-ust-2.12.0.tar.bz2 853127 BLAKE2B 6a6655a4aa33ec6318255d05d0e000c19fb66d4049873f091b8e19f3f9ea0c15731db70af77dbab1d597edcafcd745f1dae2670cd38759c9b54ea38b1135b590 SHA512 d69772170f57b9669b99cea372ca537777151a31b82002e1e5ec80da3ceb302c23f0f85d63a2c95c90a375b879e266aa5297e7d6444050dd40feb1253d863801
DIST lttng-ust-2.12.1.tar.bz2 859667 BLAKE2B 474d03ac0d3c1102ef085230659545f3e12bc0847cebab598f2998741741cb98ac139812a296992614dd90ed9478040ee0567822eb20e960e0a6489836274394 SHA512 6d5116a88be601f96513535ef7dfda409780cbacaab0831dc76b86070da60d5eac719d7020f70a6821e1c6dbbfae05ddf5a431662ef5a714fc200c2216eeb80e
-DIST lttng-ust-2.12.2.tar.bz2 861351 BLAKE2B 0c580285721b3d7932630c8d9f4a3606ee294596eef75fcf8b3c892ebdfaa1daae4cbfad1b6ef0ef93877b1f7dd143d97fa947758ab476e4a54e746d0f1e1e7e SHA512 e8734deb27b1a4c5efb81ebaa5c100079c1b3eac6b741b4f85487d1cb921d78d9ddf76040be56081404701b3053c6acc83a5d82667e3f49fcc4fa33392462eb8
-DIST lttng-ust-2.12.4.tar.bz2 772723 BLAKE2B cf9782d7b0ab39b1eeebd3f21a31d7a249c9f4f4b1c28746d27ad4dfc0196a4d71dd3d837bfa211ab98c1b555b79b4fa6b39b341312d8b5cc6c47708fa0e8963 SHA512 c2935c9aa63446ceeff1d6fe76367883a3b188c113fcc25c83848b4ee89497a614dfc0b32f920a0c5054c6208bc37899482d40938a1fc37ad890b7c5172fc20b
DIST lttng-ust-2.12.9.tar.bz2 800795 BLAKE2B 467500f7fd0f473a5cd7af6c23e8f0f83516d57ad573f92c48354bbe1ea1d2fea08bd20d7675e7698adf2284a5069fd23d3a929bc11df0ba157a99091b543777 SHA512 5edaa6c015bccd710e7bfea136398e8bc784946c22933a011f4b31b9c13fa772c4f03d0c42543bf0d08a810922498ff1fa56d4bccd9c5b8c4b14925c849c6c9b
-DIST lttng-ust-2.13.2.tar.bz2 1327075 BLAKE2B 39296ba62fcf5518b16d67f196ab4788c78b41eeadb5f8037c2445ac13a95754e7723399f58f6b21734d8931ae0d68d1dea28b74759fd531fac6a9308817bc09 SHA512 2392b0aeabbaea6daf62a9c752a04ea3043e1cc2d93064b073fd4438beac0d30832aea9b2f158cc8b90b3d98f427bca2999cce4e873fa3f82e04693e13ed9fb3
-DIST lttng-ust-2.13.5.tar.bz2 1336658 BLAKE2B 0e61688c34c7d360829cdc6b265ac5ffb4186f4eddf7f5de10cd2e0b4ee7b570b59c43658c7d9b4853de40ca22add8ad6068047271d7587a43151ba9feba8532 SHA512 3bf969e9deb6ce05a1ae30ad48676ae8ff63a73198583e98ce083d52b78e9fc2d171a6e3890c201abfa364600d4471d1ee8b1ee23de3faeec1f0ca84e0f0acd4
DIST lttng-ust-2.13.6.tar.bz2 1351915 BLAKE2B c350a7302e38035ef7c6727ea942907ec606c88862ae875bed0a7c833f233b4159405bcb7a41549dccf3d79491151066d593c52d9f06b95b61c345ccbace62f5 SHA512 15458f8dd0ad6fa96a9cf7569ffabadfddcaa70b822b69b39d4d7dfba3701c9489706b06f12f9d7e376147299fb3cfc6fe1213d46d510bdb7b3dc834271da55f
diff --git a/dev-util/lttng-ust/lttng-ust-2.12.2.ebuild b/dev-util/lttng-ust/lttng-ust-2.12.2.ebuild
deleted file mode 100644
index efe9ff12201c..000000000000
--- a/dev-util/lttng-ust/lttng-ust-2.12.2.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-MY_P="${P/_rc/-rc}"
-MY_SLOT="$(ver_cut 1-2)"
-
-DESCRIPTION="Linux Trace Toolkit - UST library"
-HOMEPAGE="https://lttng.org"
-SRC_URI="https://lttng.org/files/${PN}/${MY_P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0/${MY_SLOT}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-IUSE="examples numa"
-
-DEPEND="
- dev-libs/userspace-rcu:=
- numa? ( sys-process/numactl )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}"/${MY_P}
-
-src_prepare() {
- default
- if ! use examples; then
- sed -i -e '/SUBDIRS/s:examples::' doc/Makefile.am || die
- fi
- eautoreconf
-}
-
-src_configure() {
- econf $(use_enable numa)
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-util/lttng-ust/lttng-ust-2.12.4.ebuild b/dev-util/lttng-ust/lttng-ust-2.12.4.ebuild
deleted file mode 100644
index 28e8ec940860..000000000000
--- a/dev-util/lttng-ust/lttng-ust-2.12.4.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-MY_P="${P/_rc/-rc}"
-MY_SLOT="$(ver_cut 1-2)"
-
-DESCRIPTION="Linux Trace Toolkit - UST library"
-HOMEPAGE="https://lttng.org"
-SRC_URI="https://lttng.org/files/${PN}/${MY_P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0/${MY_SLOT}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-IUSE="examples numa"
-
-DEPEND="
- dev-libs/userspace-rcu:=
- numa? ( sys-process/numactl )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}"/${MY_P}
-
-src_prepare() {
- default
- if ! use examples; then
- sed -i -e '/SUBDIRS/s:examples::' doc/Makefile.am || die
- fi
- eautoreconf
-}
-
-src_configure() {
- econf $(use_enable numa)
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-util/lttng-ust/lttng-ust-2.13.2.ebuild b/dev-util/lttng-ust/lttng-ust-2.13.2.ebuild
deleted file mode 100644
index c50f2434c11d..000000000000
--- a/dev-util/lttng-ust/lttng-ust-2.13.2.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-MY_P="${P/_rc/-rc}"
-MY_SLOT="$(ver_cut 1-2)"
-
-DESCRIPTION="Linux Trace Toolkit - UST library"
-HOMEPAGE="https://lttng.org"
-SRC_URI="https://lttng.org/files/${PN}/${MY_P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0/${MY_SLOT}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-IUSE="examples numa"
-
-DEPEND="
- dev-libs/userspace-rcu:=
- numa? ( sys-process/numactl )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}"/${MY_P}
-
-src_prepare() {
- default
- if ! use examples; then
- sed -i -e '/SUBDIRS/s:examples::' doc/Makefile.am || die
- fi
- eautoreconf
-}
-
-src_configure() {
- econf $(use_enable numa)
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-util/lttng-ust/lttng-ust-2.13.5.ebuild b/dev-util/lttng-ust/lttng-ust-2.13.5.ebuild
deleted file mode 100644
index 70f27a621cfa..000000000000
--- a/dev-util/lttng-ust/lttng-ust-2.13.5.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-MY_P="${P/_rc/-rc}"
-MY_SLOT="$(ver_cut 1-2)"
-
-DESCRIPTION="Linux Trace Toolkit - UST library"
-HOMEPAGE="https://lttng.org"
-SRC_URI="https://lttng.org/files/${PN}/${MY_P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0/${MY_SLOT}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
-IUSE="examples numa"
-
-DEPEND="
- dev-libs/userspace-rcu:=
- numa? ( sys-process/numactl )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}"/${MY_P}
-
-src_prepare() {
- default
- if ! use examples; then
- sed -i -e '/SUBDIRS/s:examples::' doc/Makefile.am || die
- fi
- eautoreconf
-}
-
-src_configure() {
- econf $(use_enable numa)
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-util/nvidia-cuda-toolkit/Manifest b/dev-util/nvidia-cuda-toolkit/Manifest
index f0b92262f93e..9d32ba86052f 100644
--- a/dev-util/nvidia-cuda-toolkit/Manifest
+++ b/dev-util/nvidia-cuda-toolkit/Manifest
@@ -3,3 +3,4 @@ DIST cuda_12.3.2_545.23.08_linux.run 4368514070 BLAKE2B bfb6239b7669636e2ef42492
DIST cuda_12.4.0_550.54.14_linux.run 4454353277 BLAKE2B da339a44ac21799a88b4573e9afc0866f11649707594383414cb0c729b36dc63d55032e5ccbbbe46e84c1dc88fc76e466067be7ef2ae3d131a74190c548d76ba SHA512 329b81c63dcefa5c6713eeb2dc5ccc223f5b456f4b7558bd3723d166357d8bb4c79d12082ea396aaadae8b5593b20584f7bd0cf617bb3494e4423b58726255a1
DIST cuda_12.4.1_550.54.15_linux.run 4454730420 BLAKE2B 643513a673e72aeab2e0268c4f91b504132aee378e5e483c46803ed9b1b109274e23bce0cd1022de1220e81dbfb0442c9d84370ad9c6a17e14fe2aaff23ccf13 SHA512 340fab9aad2f3e03fb773c2ec1d4f2c3b1428b350c2072b02263f68f3c521b7ec42086ae7b5e66594a0b91862cc165d8519e4c92e428268bc1e98adcfe106d42
DIST cuda_12.5.0_555.42.02_linux.run 4294677299 BLAKE2B ffefb576feb9f8e6ea8975bf74fe7277902364035e5dcb27f7b4bdc1d73ea44ce8e057087d670ec18eb49727a9343484bf3aa234c045b91684c70141cf8162e7 SHA512 84fa3ad278217a0fbea97d2d880f625e7e7074a12e98d50d664daaf8298d7d8dd7b222c6f5815636e484df8f1e75c062c70c09f744d139652d960ca8c064114e
+DIST cuda_12.5.1_555.42.06_linux.run 4311634770 BLAKE2B 3546faeb24687dd11ad0a61a4f02cfbd97119d9e3cd3e24ea294b81ed488de7dfef03607c69d7b5a8087db10cf794205936add7cfa8ccda207e3aca315be48df SHA512 604843e09717c2af0873b2d5a2e242ff1b99122d515b6a7a29e70c55ab605524744359781f5b642059550b4def57877597111914965efe7d3a1a1387c9dbb1a0
diff --git a/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.5.1.ebuild b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.5.1.ebuild
new file mode 100644
index 000000000000..8357955fde30
--- /dev/null
+++ b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.5.1.ebuild
@@ -0,0 +1,328 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs toolchain-funcs unpacker
+
+DRIVER_PV="555.42.06"
+
+DESCRIPTION="NVIDIA CUDA Toolkit (compiler and friends)"
+HOMEPAGE="https://developer.nvidia.com/cuda-zone"
+SRC_URI="https://developer.download.nvidia.com/compute/cuda/${PV}/local_installers/cuda_${PV}_${DRIVER_PV}_linux.run"
+S="${WORKDIR}"
+
+LICENSE="NVIDIA-CUDA"
+SLOT="0/${PV}"
+KEYWORDS="-* ~amd64 ~amd64-linux"
+IUSE="debugger examples nsight profiler rdma vis-profiler sanitizer"
+RESTRICT="bindist mirror"
+
+# since CUDA 11, the bundled toolkit driver (== ${DRIVER_PV}) and the
+# actual required minimum driver version are different.
+RDEPEND="
+ <sys-devel/gcc-14_pre[cxx]
+ virtual/libcrypt
+ examples? (
+ media-libs/freeglut
+ media-libs/glu
+ )
+ nsight? (
+ app-crypt/mit-krb5
+ dev-libs/libpfm
+ dev-libs/wayland
+ dev-qt/qtwayland:6
+ >=dev-libs/openssl-3
+ media-libs/tiff-compat:4
+ sys-libs/zlib
+ )
+ rdma? ( sys-cluster/rdma-core )
+ vis-profiler? (
+ >=virtual/jre-1.8:*
+ )"
+BDEPEND="nsight? ( dev-util/patchelf )"
+
+QA_PREBUILT="opt/cuda/*"
+CHECKREQS_DISK_BUILD="15000M"
+
+pkg_setup() {
+ check-reqs_pkg_setup
+}
+
+src_prepare() {
+ # ATTENTION: change requires revbump, see link below for supported GCC # versions
+ # https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#system-requirements
+ local cuda_supported_gcc="8.5 9.5 10 11 12 13"
+
+ sed \
+ -e "s:CUDA_SUPPORTED_GCC:${cuda_supported_gcc}:g" \
+ "${FILESDIR}"/cuda-config.in > "${T}"/cuda-config || die
+
+ default
+}
+
+src_install() {
+ local cudadir=/opt/cuda
+ local ecudadir="${EPREFIX}${cudadir}"
+ local pathextradirs ldpathextradirs
+ dodir ${cudadir}
+ into ${cudadir}
+
+ # Install standard sub packages
+ local builddirs=(
+ builds/cuda_{cccl,cudart,cuobjdump,cuxxfilt,demo_suite,nvcc,nvdisasm,nvml_dev,nvprune,nvrtc,nvtx,opencl}
+ builds/lib{cublas,cufft,cufile,curand,cusolver,cusparse,npp,nvjitlink,nvjpeg}
+ builds/nvidia_fs
+ $(usex profiler "builds/cuda_nvprof builds/cuda_cupti builds/cuda_profiler_api" "")
+ $(usex vis-profiler "builds/cuda_nvvp" "")
+ $(usex debugger "builds/cuda_gdb" "")
+ )
+
+ local d f
+ for d in "${builddirs[@]}"; do
+ ebegin "Installing ${d}"
+ [[ -d ${d} ]] || die "Directory does not exist: ${d}"
+
+ if [[ -d ${d}/bin ]]; then
+ for f in ${d}/bin/*; do
+ if [[ -f ${f} ]]; then
+ dobin "${f}"
+ else
+ insinto ${cudadir}/bin
+ doins -r "${f}"
+ fi
+ done
+ fi
+
+ insinto ${cudadir}
+ if [[ -d ${d}/targets ]]; then
+ doins -r "${d}"/targets
+ fi
+ if [[ -d ${d}/share ]]; then
+ doins -r "${d}"/share
+ fi
+ if [[ -d ${d}/extras ]]; then
+ doins -r "${d}"/extras
+ fi
+ eend $?
+ done
+ dobin "${T}"/cuda-config
+
+ doins builds/EULA.txt
+ # nvml and nvvm need special handling
+ ebegin "Installing nvvm"
+ doins -r builds/cuda_nvcc/nvvm
+ fperms +x ${cudadir}/nvvm/bin/cicc
+ eend $?
+
+ ebegin "Installing nvml"
+ doins -r builds/cuda_nvml_dev/nvml
+ eend $?
+
+ if use sanitizer; then
+ ebegin "Installing sanitizer"
+ dobin builds/integration/Sanitizer/compute-sanitizer
+ doins -r builds/cuda_sanitizer_api/compute-sanitizer
+ # special handling for the executable
+ fperms +x ${cudadir}/compute-sanitizer/compute-sanitizer
+ eend $?
+ fi
+
+ use debugger && ldpathextradirs+=":${ecudadir}/extras/Debugger/lib64"
+ use profiler && ldpathextradirs+=":${ecudadir}/extras/CUPTI/lib64"
+
+ if use vis-profiler; then
+ ebegin "Installing libnvvp"
+ doins -r builds/cuda_nvvp/libnvvp
+ # special handling for the executable
+ fperms +x ${cudadir}/libnvvp/nvvp
+ eend $?
+ pathextradirs+=":${ecudadir}/libnvvp"
+ fi
+
+ if use nsight; then
+ local ncu_dir=$(grep -o 'nsight-compute-[0-9][0-9\.]*' -m1 manifests/cuda_x86_64.xml)
+ ebegin "Installing ${ncu_dir}"
+ mv builds/nsight_compute builds/${ncu_dir} || die
+ doins -r builds/${ncu_dir}
+
+ # check this list on every bump
+ local exes=(
+ ${ncu_dir}/ncu
+ ${ncu_dir}/ncu-ui
+ ${ncu_dir}/host/linux-desktop-glibc_2_11_3-x64/libexec/QtWebEngineProcess
+ ${ncu_dir}/host/linux-desktop-glibc_2_11_3-x64/CrashReporter
+ ${ncu_dir}/host/linux-desktop-glibc_2_11_3-x64/OpenGLVersionChecker
+ ${ncu_dir}/host/linux-desktop-glibc_2_11_3-x64/QdstrmImporter
+ ${ncu_dir}/host/linux-desktop-glibc_2_11_3-x64/ncu-ui
+ ${ncu_dir}/host/linux-desktop-glibc_2_11_3-x64/ncu-ui.bin
+ ${ncu_dir}/target/linux-desktop-glibc_2_11_3-x64/TreeLauncherSubreaper
+ ${ncu_dir}/target/linux-desktop-glibc_2_11_3-x64/TreeLauncherTargetLdPreloadHelper
+ ${ncu_dir}/target/linux-desktop-glibc_2_11_3-x64/ncu
+ )
+
+ dobin builds/integration/nsight-compute/{ncu,ncu-ui}
+ eend $?
+
+ # remove rdma libs (unless USE=rdma)
+ if ! use rdma; then
+ rm -r "${ED}"/${cudadir}/${ncu_dir}/host/target-linux-x64/CollectX || die
+ fi
+
+ local nsys_dir=$(grep -o 'nsight-systems-[0-9][0-9\.]*' -m1 manifests/cuda_x86_64.xml)
+ ebegin "Installing ${nsys_dir}"
+ mv builds/nsight_systems builds/${nsys_dir} || die
+ doins -r builds/${nsys_dir}
+
+ # check this list on every bump
+ exes+=(
+ ${nsys_dir}/host-linux-x64/nsys-ui
+ ${nsys_dir}/host-linux-x64/nsys-ui.bin
+ ${nsys_dir}/host-linux-x64/ResolveSymbols
+ ${nsys_dir}/host-linux-x64/ImportNvtxt
+ ${nsys_dir}/host-linux-x64/CrashReporter
+ ${nsys_dir}/host-linux-x64/QdstrmImporter
+ ${nsys_dir}/host-linux-x64/libexec/QtWebEngineProcess
+ ${nsys_dir}/target-linux-x64/nsys
+ ${nsys_dir}/target-linux-x64/launcher
+ ${nsys_dir}/target-linux-x64/nvgpucs
+ ${nsys_dir}/target-linux-x64/nsys-launcher
+ ${nsys_dir}/target-linux-x64/sqlite3
+ ${nsys_dir}/target-linux-x64/python/bin/python
+ ${nsys_dir}/target-linux-x64/CudaGpuInfoDumper
+ )
+
+ # remove rdma libs (unless USE=rdma)
+ if ! use rdma; then
+ rm -r "${ED}"/${cudadir}/${nsys_dir}/target-linux-x64/CollectX || die
+ fi
+
+ dobin builds/integration/nsight-systems/{nsight-sys,nsys,nsys-ui}
+ eend $?
+
+ # nsight scripts and binaries need to have their executable bit set, #691284
+ for f in "${exes[@]}"; do
+ fperms +x ${cudadir}/${f}
+ done
+
+ # fix broken RPATHs
+ patchelf --set-rpath '$ORIGIN' \
+ "${ED}"/${cudadir}/${ncu_dir}/host/{linux-desktop-glibc_2_11_3-x64,target-linux-x64}/{libarrow.so,libparquet.so.500.0.0} || die
+ patchelf --set-rpath '$ORIGIN' \
+ "${ED}"/${cudadir}/${nsys_dir}/{host-linux-x64,target-linux-x64}/{libarrow.so,libparquet.so.500.0.0} || die
+
+ # remove foreign archs (triggers SONAME warning, #749903)
+ rm -r "${ED}"/${cudadir}/${ncu_dir}/target/linux-desktop-t210-a64 || die
+
+ # unbundle libstdc++
+ rm "${ED}"/${cudadir}/${nsys_dir}/host-linux-x64/libstdc++.so.6 || die
+
+ # unbundle openssl
+ rm "${ED}"/${cudadir}/${ncu_dir}/host/linux-desktop-glibc_2_11_3-x64/lib{crypto,ssl}.so* || die
+ rm "${ED}"/${cudadir}/${nsys_dir}/host-linux-x64/lib{crypto,ssl}.so* || die
+
+ # unbundle libpfm
+ rm "${ED}"/${cudadir}/${nsys_dir}/host-linux-x64/libpfm.so* || die
+
+ # TODO: unbundle qt5
+ # TODO: unbundle boost
+ # TODO: unbundle icu
+ # TODO: unbundle mesa
+ # TODO: unbundle libSshClient
+ # TODO: unbundle sqlite
+ fi
+
+ if use examples; then
+ local exes=(
+ extras/demo_suite/bandwidthTest
+ extras/demo_suite/busGrind
+ extras/demo_suite/deviceQuery
+ extras/demo_suite/nbody
+ extras/demo_suite/oceanFFT
+ extras/demo_suite/randomFog
+ extras/demo_suite/vectorAdd
+ )
+
+ # set executable bit on demo_suite binaries
+ for f in "${exes[@]}"; do
+ fperms +x ${cudadir}/${f}
+ done
+ else
+ rm -r "${ED}"/${cudadir}/extras/demo_suite || die
+ fi
+
+ # remove rdma libs (unless USE=rdma)
+ if ! use rdma; then
+ rm "${ED}"/${cudadir}/targets/x86_64-linux/lib/libcufile_rdma* || die
+ fi
+
+ # Add include and lib symlinks
+ dosym targets/x86_64-linux/include ${cudadir}/include
+ dosym targets/x86_64-linux/lib ${cudadir}/lib64
+
+ # Remove bad symlinks
+ rm "${ED}"/${cudadir}/targets/x86_64-linux/include/include || die
+ rm "${ED}"/${cudadir}/targets/x86_64-linux/lib/lib64 || die
+
+ # Remove dead gdb plugins
+ if use debugger; then
+ rm "${ED}"/${cudadir}/bin/cuda-gdb-python3.{8,9}-tui || die
+ fi
+
+ newenvd - 99cuda <<-EOF
+ PATH=${ecudadir}/bin${pathextradirs}
+ ROOTPATH=${ecudadir}/bin
+ LDPATH=${ecudadir}/lib64:${ecudadir}/nvvm/lib64${ldpathextradirs}
+ EOF
+
+ # Cuda prepackages libraries, don't revdep-build on them
+ insinto /etc/revdep-rebuild
+ newins - 80${PN} <<-EOF
+ SEARCH_DIRS_MASK="${ecudadir}"
+ EOF
+
+ # https://bugs.gentoo.org/926116
+ insinto /etc/sandbox.d
+ newins - 80${PN} <<-EOF
+ SANDBOX_PREDICT="/proc/self/task"
+ EOF
+}
+
+pkg_postinst_check() {
+ local a="$("${EROOT}"/opt/cuda/bin/cuda-config -s)"
+ local b="0.0"
+ local v
+ for v in ${a}; do
+ ver_test "${v}" -gt "${b}" && b="${v}"
+ done
+
+ # if gcc and if not gcc-version is at least greatest supported
+ if tc-is-gcc && \
+ ver_test $(gcc-version) -gt "${b}"; then
+ ewarn
+ ewarn "gcc > ${b} will not work with CUDA"
+ ewarn "Make sure you set an earlier version of gcc with gcc-config"
+ ewarn "or append --compiler-bindir= pointing to a gcc bindir like"
+ ewarn "--compiler-bindir=${EPREFIX}/usr/*pc-linux-gnu/gcc-bin/gcc${b}"
+ ewarn "to the nvcc compiler flags"
+ ewarn
+ fi
+}
+
+pkg_postinst() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ pkg_postinst_check
+ fi
+
+ if use profiler || use nsight; then
+ einfo
+ einfo "nvidia-drivers restrict access to performance counters."
+ einfo "You'll need to either run profiling tools (nvprof, nsight) "
+ einfo "using sudo (needs cap SYS_ADMIN) or add the following line to "
+ einfo "a modprobe configuration file "
+ einfo "(e.g. /etc/modprobe.d/nvidia-prof.conf): "
+ einfo
+ einfo "options nvidia NVreg_RestrictProfilingToAdminUsers=0"
+ einfo
+ fi
+}
diff --git a/dev-util/perf/Manifest b/dev-util/perf/Manifest
index 38c4e09db5b7..eaf7134c3fe1 100644
--- a/dev-util/perf/Manifest
+++ b/dev-util/perf/Manifest
@@ -1,3 +1,4 @@
+DIST linux-6.10.tar.xz 145142812 BLAKE2B bb243ea7493b9d63aa2df2050a3f1ae2b89ee84a20015239cf157e3f4f51c7ac5efedc8a51132b2d7482f9276ac418de6624831c8a3b806130d9c2d2124c539b SHA512 baa2487954044f991d2ae254d77d14a1f0185dd62c9f0fcaff69f586c9f906823017b8db1c4588f27b076dfa3ebb606929fec859f60ea419e7974330b9289cc2
DIST linux-6.3.tar.xz 136891752 BLAKE2B f1887c8924efa8d0cb14c4e604affd0b0168bcf20f56a37c027405c7bc11aba822a43fcb38ccb55a81a26f747d00e1ab5a6554818affbf1e1c7ef5220150fc69 SHA512 768979440f4907ba64d4481b383d6101faf208f27a0b897156123aa278c5743fe3c4f61945b2541429c532d45382aaee8899ea9d44a1d2895bfbb79bfd937f65
DIST linux-6.7.tar.xz 141406528 BLAKE2B cecdbd19905e43e485ab73b352ced18b37f2a138c97a6956cadcda5d3d271001117dc1cf896b166ff019fc7f405f9539e2ed0d6112b0890efb04d182adf4fd0e SHA512 de06de556191614bd9daf077ae239360352a402bab407748e67f1e5108c92fd933e451707840ab22fe0f9976db3d1e1b60ca9d41cf894f015ca09b3f652b74ad
DIST linux-6.8.tar.xz 142502100 BLAKE2B c6f17f816cea16e629f63e9379b98888713f57b2c5173306926471f139a9d612a0c74e119341f8075390e55e203d787d9edeb4ad5a064b18870f6f0f7ffaafb2 SHA512 5c4eb4aa1d3f7d1ea01c0f7ddeadacdece6e144fd4bdfc16b2b925d3e10dc04de3a6db69320b79a96c3560052616f001d2c09e7a1bb4f7b731e2380a7ecce068
diff --git a/dev-util/perf/files/perf-6.10-expr.patch b/dev-util/perf/files/perf-6.10-expr.patch
new file mode 100644
index 000000000000..b4220a062f61
--- /dev/null
+++ b/dev-util/perf/files/perf-6.10-expr.patch
@@ -0,0 +1,22 @@
+diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
+index bc980fd..a7f1e1e 100644
+--- a/tools/perf/Makefile.config
++++ b/tools/perf/Makefile.config
+@@ -1184,7 +1184,7 @@ ifneq ($(NO_LIBTRACEEVENT),1)
+ CFLAGS += -DHAVE_LIBTRACEEVENT $(LIBTRACEEVENT_CFLAGS)
+ LDFLAGS += $(LIBTRACEEVENT_LDFLAGS)
+ EXTLIBS += ${TRACEEVENTLIBS}
+- LIBTRACEEVENT_VERSION := $(shell PKG_CONFIG_PATH=$(LIBTRACEEVENT_DIR) $(PKG_CONFIG) --modversion libtraceevent)
++ LIBTRACEEVENT_VERSION := $(shell PKG_CONFIG_PATH=$(LIBTRACEEVENT_DIR) $(PKG_CONFIG) --modversion libtraceevent).0
+ LIBTRACEEVENT_VERSION_1 := $(word 1, $(subst ., ,$(LIBTRACEEVENT_VERSION)))
+ LIBTRACEEVENT_VERSION_2 := $(word 2, $(subst ., ,$(LIBTRACEEVENT_VERSION)))
+ LIBTRACEEVENT_VERSION_3 := $(word 3, $(subst ., ,$(LIBTRACEEVENT_VERSION)))
+@@ -1198,7 +1198,7 @@ ifneq ($(NO_LIBTRACEEVENT),1)
+ $(call feature_check,libtracefs)
+ ifeq ($(feature-libtracefs), 1)
+ EXTLIBS += -ltracefs
+- LIBTRACEFS_VERSION := $(shell $(PKG_CONFIG) --modversion libtracefs)
++ LIBTRACEFS_VERSION := $(shell $(PKG_CONFIG) --modversion libtracefs).0
+ LIBTRACEFS_VERSION_1 := $(word 1, $(subst ., ,$(LIBTRACEFS_VERSION)))
+ LIBTRACEFS_VERSION_2 := $(word 2, $(subst ., ,$(LIBTRACEFS_VERSION)))
+ LIBTRACEFS_VERSION_3 := $(word 3, $(subst ., ,$(LIBTRACEFS_VERSION)))
diff --git a/dev-util/perf/perf-6.10.ebuild b/dev-util/perf/perf-6.10.ebuild
new file mode 100644
index 000000000000..369609036492
--- /dev/null
+++ b/dev-util/perf/perf-6.10.ebuild
@@ -0,0 +1,340 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+inherit bash-completion-r1 estack flag-o-matic linux-info llvm 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 ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="abi_mips_o32 abi_mips_n32 abi_mips_n64 audit 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="
+ audit? ( sys-process/audit )
+ babeltrace? ( dev-util/babeltrace:0/1 )
+ bpf? (
+ dev-libs/libbpf
+ dev-util/bpftool
+ dev-util/pahole
+ sys-devel/clang:=
+ sys-devel/llvm:=
+ )
+ 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="
+ ~DEBUG_INFO
+ ~FTRACE
+ ~FTRACE_SYSCALLS
+ ~FUNCTION_TRACER
+ ~KALLSYMS
+ ~KALLSYMS_ALL
+ ~KPROBES
+ ~KPROBE_EVENTS
+ ~PERF_EVENTS
+ ~UPROBES
+ ~UPROBE_EVENTS
+ "
+
+ use bpf && llvm_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"
+ 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=(
+ kernel/bpf tools/{arch,bpf,build,include,lib,perf,scripts}
+ scripts include lib "arch/*/include" "arch/*/lib" "arch/*/tools"
+ )
+
+ # 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"
+ filterdiff -p1 ${paths[@]/#/-i } -z "${DISTDIR}"/${LINUX_PATCH} \
+ > ${P}.patch
+ eend $? || die "filterdiff failed"
+ 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
+ eapply "${FILESDIR}"/perf-6.4-libtracefs.patch
+ eapply "${FILESDIR}"/perf-6.10-expr.patch
+ 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)"
+ 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=$(puse audit)
+ 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_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/pkgcheck-0.10.30.ebuild b/dev-util/pkgcheck/pkgcheck-0.10.30.ebuild
index dd1f74bbc053..7744c01429c3 100644
--- a/dev-util/pkgcheck/pkgcheck-0.10.30.ebuild
+++ b/dev-util/pkgcheck/pkgcheck-0.10.30.ebuild
@@ -12,7 +12,7 @@ if [[ ${PV} == *9999 ]] ; then
https://github.com/pkgcore/pkgcheck.git"
inherit git-r3
else
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
inherit pypi
fi
diff --git a/dev-util/pkgdev/pkgdev-0.2.10-r1.ebuild b/dev-util/pkgdev/pkgdev-0.2.10-r1.ebuild
index e6e603cf6b3c..5eab79d85581 100644
--- a/dev-util/pkgdev/pkgdev-0.2.10-r1.ebuild
+++ b/dev-util/pkgdev/pkgdev-0.2.10-r1.ebuild
@@ -14,7 +14,7 @@ if [[ ${PV} == *9999 ]] ; then
inherit git-r3
else
inherit pypi
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
fi
DESCRIPTION="Collection of tools for Gentoo development"
diff --git a/dev-util/watchman/files/watchman-2023.06.19.00-unused.patch b/dev-util/watchman/files/watchman-2023.06.19.00-unused.patch
new file mode 100644
index 000000000000..fe8728f9cf71
--- /dev/null
+++ b/dev-util/watchman/files/watchman-2023.06.19.00-unused.patch
@@ -0,0 +1,82 @@
+https://bugs.gentoo.org/936225
+https://github.com/facebook/watchman/commit/c3536143cab534cdd9696eb3e2d03c4ac1e2f883
+
+From c3536143cab534cdd9696eb3e2d03c4ac1e2f883 Mon Sep 17 00:00:00 2001
+From: Jun Wu <quark@meta.com>
+Date: Tue, 18 Jun 2024 15:23:48 -0700
+Subject: [PATCH] rust: relax deny(warnings) to internal-only
+
+Summary:
+`deny(warnings)` makes the code fragile with subtle compiler differences
+(upgrade, or internal vs external configuration).
+
+For example, the external rustc complains:
+
+ C:\src\watchman\watchman\rust\watchman_client>cargo check
+ Checking watchman_client v0.9.0 (C:\open\watchman\watchman\rust\watchman_client)
+ error: field `unilateral` is never read
+ --> src\lib.rs:589:17
+ |
+ 588 | pub struct Unilateral {
+ | ---------- field in this struct
+ 589 | pub unilateral: bool,
+ | ^^^^^^^^^^
+ |
+ = note: `Unilateral` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
+
+while the internal one doesn't:
+
+ watchman/rust/watchman_client % arc rust-check --flagfile fbcode//mode/win :watchman_client
+ ..
+ BXL SUCCEEDED
+
+It seems a bad idea to publish an internally-green code that fails to compile
+externally, or has to upgrade the code every time a compiler upgrade detects
+some new issues.
+
+Let's just limit `deny(warnings)` to internal only when building with buck.
+
+See also https://www.reddit.com/r/rust/comments/f5xpib/psa_denywarnings_is_actively_harmful/
+
+Reviewed By: MichaelCuevas
+
+Differential Revision: D58753075
+
+fbshipit-source-id: bd09c09b4195c884172afab2200e3b2857af67d3
+---
+ watchman/rust/serde_bser/src/lib.rs | 3 ++-
+ watchman/rust/watchman_client/src/lib.rs | 2 +-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/watchman/rust/serde_bser/src/lib.rs b/watchman/rust/serde_bser/src/lib.rs
+index cf2fe51b2202..b169c977cf05 100644
+--- a/watchman/rust/serde_bser/src/lib.rs
++++ b/watchman/rust/serde_bser/src/lib.rs
+@@ -1,4 +1,3 @@
+-#![deny(warnings, rust_2018_idioms)]
+ /*
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
+ *
+@@ -6,6 +5,8 @@
+ * LICENSE file in the root directory of this source tree.
+ */
+
++#![cfg_attr(fbcode_build, deny(warnings, rust_2018_idioms))]
++
+ pub mod bytestring;
+ pub mod de;
+ mod errors;
+diff --git a/watchman/rust/watchman_client/src/lib.rs b/watchman/rust/watchman_client/src/lib.rs
+index 1d102fe0b2bd..df902313c6a5 100644
+--- a/watchman/rust/watchman_client/src/lib.rs
++++ b/watchman/rust/watchman_client/src/lib.rs
+@@ -33,7 +33,7 @@
+ //! Ok(())
+ //! }
+ //! ```
+-#![deny(warnings)]
++#![cfg_attr(fbcode_build, deny(warnings))]
+
+ pub mod expr;
+ pub mod fields;
+
diff --git a/dev-util/watchman/watchman-2023.06.19.00.ebuild b/dev-util/watchman/watchman-2023.06.19.00.ebuild
index 340a7ab3edf2..3b62aa57c9ad 100644
--- a/dev-util/watchman/watchman-2023.06.19.00.ebuild
+++ b/dev-util/watchman/watchman-2023.06.19.00.ebuild
@@ -168,6 +168,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-2022.02.28.00-libatomic.patch
"${FILESDIR}"/${PN}-2022.08.08.00-musl-fsword-fix.patch
"${FILESDIR}"/${PN}-2023.06.19.00-rust-1.70-avoidance.patch
+ "${FILESDIR}"/${PN}-2023.06.19.00-unused.patch
)
# Rust utility