diff options
Diffstat (limited to 'dev-util')
| -rw-r--r-- | dev-util/lttng-modules/Manifest | 3 | ||||
| -rw-r--r-- | dev-util/lttng-modules/lttng-modules-2.12.6.ebuild | 49 | ||||
| -rw-r--r-- | dev-util/lttng-modules/lttng-modules-2.13.3.ebuild | 49 | ||||
| -rw-r--r-- | dev-util/lttng-modules/lttng-modules-2.13.7.ebuild | 49 | ||||
| -rw-r--r-- | dev-util/lttng-ust/Manifest | 4 | ||||
| -rw-r--r-- | dev-util/lttng-ust/lttng-ust-2.12.2.ebuild | 42 | ||||
| -rw-r--r-- | dev-util/lttng-ust/lttng-ust-2.12.4.ebuild | 42 | ||||
| -rw-r--r-- | dev-util/lttng-ust/lttng-ust-2.13.2.ebuild | 42 | ||||
| -rw-r--r-- | dev-util/lttng-ust/lttng-ust-2.13.5.ebuild | 42 | ||||
| -rw-r--r-- | dev-util/nvidia-cuda-toolkit/Manifest | 1 | ||||
| -rw-r--r-- | dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.5.1.ebuild | 328 | ||||
| -rw-r--r-- | dev-util/perf/Manifest | 1 | ||||
| -rw-r--r-- | dev-util/perf/files/perf-6.10-expr.patch | 22 | ||||
| -rw-r--r-- | dev-util/perf/perf-6.10.ebuild | 340 | ||||
| -rw-r--r-- | dev-util/pkgcheck/pkgcheck-0.10.30.ebuild | 2 | ||||
| -rw-r--r-- | dev-util/pkgdev/pkgdev-0.2.10-r1.ebuild | 2 | ||||
| -rw-r--r-- | dev-util/watchman/files/watchman-2023.06.19.00-unused.patch | 82 | ||||
| -rw-r--r-- | dev-util/watchman/watchman-2023.06.19.00.ebuild | 1 |
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 |
