summaryrefslogtreecommitdiff
path: root/dev-util
diff options
context:
space:
mode:
authorCrucible <crucible@localhost>2026-10-19 21:49:31 -0500
committerCrucible <crucible@localhost>2026-10-19 21:49:31 -0500
commit7381ef26a3e14a703da91508b2cc8606c34b804d (patch)
tree1ded3c74a64f9591c982f01ed71ab968a8bfad24 /dev-util
parent3b4c7e627726016d50653b6dd2e06020a1915eac (diff)
downloadsrcux-7381ef26a3e14a703da91508b2cc8606c34b804d.tar.gz
srcux-7381ef26a3e14a703da91508b2cc8606c34b804d.tar.xz
srcux-7381ef26a3e14a703da91508b2cc8606c34b804d.zip
Publish srcux candidate 0000000740-20261019-200200
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/Tensile/Manifest1
-rw-r--r--dev-util/Tensile/Tensile-10.1.0.ebuild161
-rw-r--r--dev-util/Tensile/files/Tensile-10.1.0-expand-isa-compatibility.patch32
-rw-r--r--dev-util/Tensile/files/Tensile-10.1.0-llvm-23-fake16.patch30
-rw-r--r--dev-util/amdsmi/Manifest2
-rw-r--r--dev-util/amdsmi/amdsmi-10.1.0.ebuild106
-rw-r--r--dev-util/bpf-linker/Manifest7
-rw-r--r--dev-util/bpf-linker/bpf-linker-0.10.3.ebuild80
-rw-r--r--dev-util/bpf-linker/bpf-linker-0.10.4.ebuild80
-rw-r--r--dev-util/bpf-linker/bpf-linker-0.11.1.ebuild2
-rw-r--r--dev-util/bpf-linker/bpf-linker-0.9.15-r1.ebuild81
-rw-r--r--dev-util/git-bug/Manifest4
-rw-r--r--dev-util/git-bug/git-bug-0.10.1.ebuild45
-rw-r--r--dev-util/git-bug/git-bug-0.11.0.ebuild4
-rw-r--r--dev-util/github-cli/github-cli-2.102.0.ebuild2
-rw-r--r--dev-util/gitlab-cli/Manifest6
-rw-r--r--dev-util/gitlab-cli/gitlab-cli-1.106.0.ebuild54
-rw-r--r--dev-util/gitlab-cli/gitlab-cli-1.123.0.ebuild (renamed from dev-util/gitlab-cli/gitlab-cli-1.116.0.ebuild)6
-rw-r--r--dev-util/go-task/Manifest4
-rw-r--r--dev-util/go-task/go-task-3.54.0.ebuild (renamed from dev-util/go-task/go-task-3.52.0.ebuild)0
-rw-r--r--dev-util/google-antigravity-cli/Manifest2
-rw-r--r--dev-util/google-antigravity-cli/google-antigravity-cli-1.4.2.ebuild31
-rw-r--r--dev-util/hip/Manifest3
-rw-r--r--dev-util/hip/files/hip-10.1.0-aligned-new.patch25
-rw-r--r--dev-util/hip/hip-10.1.0.ebuild287
-rw-r--r--dev-util/hipcc/Manifest1
-rw-r--r--dev-util/hipcc/hipcc-10.1.0.ebuild65
-rw-r--r--dev-util/hipify-clang/Manifest1
-rw-r--r--dev-util/hipify-clang/hipify-clang-10.1.0.ebuild55
-rw-r--r--dev-util/nvidia-cuda-toolkit/Manifest11
-rw-r--r--dev-util/nvidia-cuda-toolkit/files/nvidia-cuda-toolkit-glibc-2.41-r1.patch119
-rw-r--r--dev-util/nvidia-cuda-toolkit/files/nvidia-cuda-toolkit-glibc-2.42.patch49
-rw-r--r--dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.3.2.ebuild324
-rw-r--r--dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.4.1.ebuild326
-rw-r--r--dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.5.1.ebuild328
-rw-r--r--dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.6.3-r1.ebuild386
-rw-r--r--dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.8.1-r1.ebuild386
-rw-r--r--dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.8.2.ebuild407
-rw-r--r--dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.9.1-r1.ebuild389
-rw-r--r--dev-util/opencode-bin/Manifest8
-rw-r--r--dev-util/opencode-bin/opencode-bin-1.19.1.ebuild2
-rw-r--r--dev-util/opencode-bin/opencode-bin-1.19.3.ebuild (renamed from dev-util/opencode-bin/opencode-bin-1.19.0.ebuild)2
-rw-r--r--dev-util/opencode-bin/opencode-bin-2.0.30.ebuild2
-rw-r--r--dev-util/opencode-bin/opencode-bin-2.0.32.ebuild (renamed from dev-util/opencode-bin/opencode-bin-2.0.29.ebuild)2
-rw-r--r--dev-util/playwright/Manifest2
-rw-r--r--dev-util/playwright/files/playwright-1.64.1-dont-update-the-test-runner-during-the-build.patch25
-rw-r--r--dev-util/playwright/metadata.xml12
-rw-r--r--dev-util/playwright/playwright-1.64.1.ebuild37
-rw-r--r--dev-util/premake/metadata.xml4
-rw-r--r--dev-util/rocminfo/Manifest1
-rw-r--r--dev-util/rocminfo/rocminfo-10.1.0.ebuild44
-rw-r--r--dev-util/roctracer/Manifest1
-rw-r--r--dev-util/roctracer/files/roctracer-10.1.0-libcxx.patch33
-rw-r--r--dev-util/roctracer/files/roctracer-10.1.0-test-skip-npu.patch14
-rw-r--r--dev-util/roctracer/roctracer-10.1.0.ebuild118
-rw-r--r--dev-util/spirv-llvm-translator/files/spirv-llvm-translator-21.1.3-fix-DecorateUniformId.spvasm.patch43
-rw-r--r--dev-util/tinyxxd/Manifest1
-rw-r--r--dev-util/tinyxxd/files/tinyxxd-1.3.17-default-fixes.patch113
-rw-r--r--dev-util/tinyxxd/files/tinyxxd-da64dbf542cc27ba614e45fcaf82955fa4643d16-default-fixes.patch113
-rw-r--r--dev-util/tinyxxd/tinyxxd-1.3.17.ebuild49
-rw-r--r--dev-util/tinyxxd/tinyxxd-9999.ebuild2
-rw-r--r--dev-util/tokei/Manifest16
-rw-r--r--dev-util/tokei/tokei-15.0.0.ebuild273
63 files changed, 1676 insertions, 3143 deletions
diff --git a/dev-util/Tensile/Manifest b/dev-util/Tensile/Manifest
index a69160680dc7..cd79d37ffbf3 100644
--- a/dev-util/Tensile/Manifest
+++ b/dev-util/Tensile/Manifest
@@ -1,3 +1,4 @@
+DIST Tensile-10.1.0.tar.gz 12212498 BLAKE2B 9a005defb194060df2804d269e5ed9b1ef5018e544aeb5b10c79fc12f1fb7598b82351408962211dce6d51a572e4762e0d18c081fe8cce9a22d28d06e900fc60 SHA512 47245d56c2cb608103d94128fd8deb14636206f11293e556e3492c840317e39798507d2be052be76e53deafd5e251317d1e020845feb5d94989984a9c0d110a3
DIST Tensile-7.2.0.tar.gz 12191421 BLAKE2B e6cbf939b40f3187f64600118534e5f2efc9a3e0d7c4fb6f6a335a0ad83b789b9d157d86e139d04485da64b62265e31e6c1db9dad7fa1b3c715ff19224e3d502 SHA512 8b17ee9fc2c0998242928ee923d82f7125d551940af71afc3bcfee90b02e654f9715e84f2caf2dd720e0904e670930b7a9e014b929ebeae04608ba7a128532dd
DIST rocm-Tensile-6.3.3.tar.gz 12723968 BLAKE2B e8c14f85dd44767b685595180974d683d759f84fc044e98974beae107f78ec97d43de30232ea0bd3578aa6cd40e17309d603ce583925ed4dd65cc146241e5b7d SHA512 836e17aab29ace976595c5b3fbc6b1742c774eb0420488a1449e04649c424e5a877168cf71de96fddcfbad337e295206ec456aea7649fe9e67a8802739ddbabe
DIST rocm-Tensile-6.4.3.tar.gz 12731564 BLAKE2B b679ecf84cd023eecec8cef58729709f60b77615a76bc3215607c4e605b6057fa1c00e230d8c0ec9b24ca7f31c8e2e99dbffdfc732c3268958ea33d60962e256 SHA512 3d358d212ad52216520d391968578e3d6d7040f23c469e42b9fe6eea0a33034074df45d4a39a8978cc13f822f75a4cdfa850aa85c772ff4443276f9c4b9397a8
diff --git a/dev-util/Tensile/Tensile-10.1.0.ebuild b/dev-util/Tensile/Tensile-10.1.0.ebuild
new file mode 100644
index 000000000000..654051207379
--- /dev/null
+++ b/dev-util/Tensile/Tensile-10.1.0.ebuild
@@ -0,0 +1,161 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+DISTUTILS_USE_PEP517=setuptools
+ROCM_VERSION=${PV}
+LLVM_COMPAT=( 23 )
+
+inherit cmake distutils-r1 llvm-r2 prefix rocm
+
+DESCRIPTION="A tool for creating a benchmark-driven GEMMs and tensor contractions code"
+HOMEPAGE="https://rocm.docs.amd.com/projects/Tensile/en/latest/src/index.html"
+
+if [[ "${PV}" == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ROCm/rocm-libraries.git"
+ EGIT_BRANCH="develop"
+ S="${WORKDIR}/${P}/shared/tensile"
+ SLOT="0/9999"
+ SLOT_NOLIVE="0/7.2"
+else
+ SRC_URI="https://github.com/ROCm/rocm-libraries/releases/download/therock-${PV%.0}/tensile.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/tensile"
+ SLOT="0/$(ver_cut 1-2)"
+ SLOT_NOLIVE=${SLOT}
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="MIT"
+IUSE="client test"
+REQUIRED_USE="client? ( ${ROCM_REQUIRED_USE} )"
+
+# tests can freeze machine depending on gpu/kernel
+RESTRICT="test"
+
+RDEPEND="${PYTHON_DEPS}
+ client? (
+ dev-libs/boost:=
+ dev-util/amdsmi:${SLOT_NOLIVE}
+ )
+ >=dev-cpp/msgpack-cxx-6.0.0
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/joblib[${PYTHON_USEDEP}]
+ dev-util/hip:${SLOT_NOLIVE}
+ $(llvm_gen_dep "
+ llvm-core/clang:\${LLVM_SLOT}
+ ")
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? (
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/joblib[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{forked,xdist} )
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-10.1.0-expand-isa-compatibility.patch
+ "${FILESDIR}"/${PN}-7.0.1-fix-install.patch
+ "${FILESDIR}"/${PN}-7.1.0-cmake.patch
+ "${FILESDIR}"/${PN}-10.1.0-llvm-23-fake16.patch
+)
+
+CMAKE_USE_DIR="${S}/${PN}/Source"
+
+src_prepare() {
+ distutils-r1_src_prepare
+ sed -e "s,\@LLVM_PATH\@,$(get_llvm_prefix),g" \
+ "${FILESDIR}/${PN}-5.7.1-gentoopath.patch" > "${S}"/gentoopath.patch || die
+ eapply $(prefixify_ro "${S}"/gentoopath.patch)
+
+ pushd "${PN}" || die
+
+ sed -r -e "/TENSILE_USE_LLVM/s/ON/OFF/" \
+ -i Source/CMakeLists.txt || die
+
+ # libc++ does not include <iterator> transitively
+ sed -e "/#include <algorithm>/a #include <iterator>" \
+ -i Source/lib/include/Tensile/PlaceholderLibrary.hpp || die
+
+ # ${Tensile_ROOT}/bin does not exists; call command directly
+ sed -e "s,\${Tensile_ROOT}/bin/,,g" -i cmake/TensileConfig.cmake || die
+
+ local Tensile_share_dir="\"${EPREFIX}/usr/share/${PN}\""
+ sed -e "/HipClangVersion/s/0.0.0/$(hipconfig -v)/" -i Common.py || die
+
+ sed -e "s,os.path.dirname(os.path.realpath(__file__)),${Tensile_share_dir},g" \
+ -i ReplacementKernels.py Common.py "${PN}.py" || die
+
+ sed -e "s|os\.path\.dirname.*$|\"${EPREFIX}/usr/share/Tensile/Source\", end='')|" -i __init__.py || die
+
+ # Fix compiler "validation"
+ rocm_use_clang
+ sed "s/amdclang/$(basename "$CC")/g" -i Utilities/Toolchain.py || die
+
+ popd || die
+
+ use client && PATCHES='' cmake_src_prepare # do not apply patches again in cmake_src_prepare
+}
+
+src_configure() {
+ rocm_use_clang
+
+ distutils-r1_src_configure
+ if use client; then
+ local targets="$(get_amdgpu_flags)"
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=ON
+ -DTENSILE_USE_MSGPACK=ON
+ -DTENSILE_USE_LLVM=ON
+ -DTensile_LIBRARY_FORMAT=msgpack
+ -DGPU_TARGETS="${targets::-1}"
+ )
+ cmake_src_configure
+ fi
+}
+
+src_compile() {
+ distutils-r1_src_compile
+ use client && cmake_src_compile
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ python_moduleinto Tensile
+ pushd Tensile || die
+ python_domodule Components
+ python_domodule Utilities
+ python_domodule TensileCreateLib
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ pushd "${PN}" || die
+ insinto "/usr/share/${PN}"
+ doins -r Configs Perf Source CustomKernels
+ insinto "/usr/$(get_libdir)/cmake/${PN}"
+ doins cmake/*.cmake
+
+ if use client; then
+ pushd "${BUILD_DIR}" || die
+ dobin client/tensile_client
+ fi
+
+ # Remove extra copy
+ rm -rf "${ED}"/usr/cmake || die
+}
+
+# Test suite fails to start without this
+python_test() {
+ export ROCM_PATH="${EPREFIX}/usr"
+ epytest
+}
diff --git a/dev-util/Tensile/files/Tensile-10.1.0-expand-isa-compatibility.patch b/dev-util/Tensile/files/Tensile-10.1.0-expand-isa-compatibility.patch
new file mode 100644
index 000000000000..e37f514bd290
--- /dev/null
+++ b/dev-util/Tensile/files/Tensile-10.1.0-expand-isa-compatibility.patch
@@ -0,0 +1,32 @@
+Coerce gfx902/909/912 to gfx900 and gfx1013 to gfx1010
+
+gfx1031-gfx1036 are separate amdgpu_targets since 10.x
+--- a/Tensile/Source/lib/source/hip/HipHardware.cpp
++++ b/Tensile/Source/lib/source/hip/HipHardware.cpp
+@@ -24,6 +24,8 @@
+ *
+ *******************************************************************************/
+
++#include <cstring>
++
+ #include <Tensile/AMDGPU.hpp>
+ #include <Tensile/hip/HipHardware.hpp>
+ #include <Tensile/hip/HipUtils.hpp>
+@@ -57,6 +59,17 @@ namespace Tensile
+ {
+ hipDeviceProp_t prop;
+ HIP_CHECK_EXC(hipGetDeviceProperties(&prop, deviceId));
++ // coerce to compatible arch
++ int gcnArch = strncmp(prop.gcnArchName, "gfx", 3) == 0 ? std::stoi(prop.gcnArchName + 3) : 0;
++ switch(gcnArch)
++ {
++ case 902: case 909: case 912:
++ std::strcpy(prop.gcnArchName, "gfx900");
++ break;
++ case 1013:
++ std::strcpy(prop.gcnArchName, "gfx1010");
++ break;
++ }
+ #if HIP_VERSION >= 50220730
+ int hip_version;
+ HIP_CHECK_EXC(hipRuntimeGetVersion(&hip_version));
diff --git a/dev-util/Tensile/files/Tensile-10.1.0-llvm-23-fake16.patch b/dev-util/Tensile/files/Tensile-10.1.0-llvm-23-fake16.patch
new file mode 100644
index 000000000000..db14d4945fb8
--- /dev/null
+++ b/dev-util/Tensile/files/Tensile-10.1.0-llvm-23-fake16.patch
@@ -0,0 +1,30 @@
+Fix build with llvm-23
+
+LLVM 23 assembles gfx11/gfx12 with +real-true16 by default and rejects the
+fake16 syntax that Tensile generates (e.g. v_cvt_f16_f32 v1, v2)
+--- a/Tensile/Common.py
++++ b/Tensile/Common.py
+@@ -2178,6 +2178,10 @@ def tryAssembler(isaVersion, asmString, debug=False, *options):
+ if isaVersion[0] >= 10 and '-mno-wavefrontsize64' not in options:
+ options += ['-mwavefrontsize64']
+
++ # LLVM 23 defaults to true16 syntax on gfx11/gfx12, Tensile emits fake16
++ if isaVersion[0] in (11, 12):
++ options += ['-Xclangas', '-target-feature', '-Xclangas', '-real-true16']
++
+ assembler = globalParameters['AssemblerPath']
+ if assembler is None:
+ raise ValueError('No assembler available; set TENSILE_ROCM_ASSEMBLER_PATH to point to ROCm Clang.')
+--- a/Tensile/KernelWriterAssembly.py
++++ b/Tensile/KernelWriterAssembly.py
+@@ -285,6 +285,10 @@ class KernelWriterAssembly(KernelWriter):
+
+ rv += ['-mcpu=' + gfxName(isa)]
+
++ # LLVM 23 defaults to true16 syntax on gfx11/gfx12, Tensile emits fake16
++ if isa[0] in (11, 12):
++ rv += ['-Xclangas', '-target-feature', '-Xclangas', '-real-true16']
++
+ if wavefrontSize == 64:
+ rv += ['-mwavefrontsize64']
+ else:
diff --git a/dev-util/amdsmi/Manifest b/dev-util/amdsmi/Manifest
index a60eb4cf2a17..217cb36ea03a 100644
--- a/dev-util/amdsmi/Manifest
+++ b/dev-util/amdsmi/Manifest
@@ -1,4 +1,6 @@
+DIST amdsmi-10.1.0.tar.gz 1809966 BLAKE2B 8cf4daff4f5b359bb45f59e64d480232b65b6263985fc560aa96530111d08a77c56ede1cd1ad2310c3bd3a0bf7423d6fc7ae4f85fcb8f0fadae462c97b992eae SHA512 ac57b5f26fb4204490db206ab8372087c9db1d598b4ed9ac02f8b665914879f4d1f1d3596f411dcb2d0213db0909b1ab36ba03b99699f1b1d53cf92dea10acca
DIST amdsmi-7.0.2.tar.gz 910310 BLAKE2B ea375b20019e7fdefc0c0f38444e52c0b56e8ef8a83897ce1a6c52f407521592862ca743110059b3a32043305fcde006885cb25d1a13124c41a4c5222c7e44df SHA512 4e57c53edb7dbb1337468c80071bc13439bf6257360f5b91fbec3d383bf55f22ce0327544c2a94b3a630de94906d8ed9e1f92177914fc6096eb22f55c773d4ff
DIST amdsmi-7.1.1.tar.gz 959490 BLAKE2B 57c62c4ca2542cec50b59f522304cf6a8217ae0167466e400311ec052613241144cc9e82d0b3c82bea3cc737085ed68296e7069e6f0b9b98141f2f78c6c1a9e3 SHA512 87c149056415df94ff10b47a5c865edf185c0ad563a53fbe23545f5bf4cfbe75f3a56acbce3f53d4a79ff0f36c0e9ab1ba6650e5165f77f364aa694ca9057b2c
DIST amdsmi-7.2.0.tar.gz 983974 BLAKE2B 51a7b5cad33d623abde8dce01e30da84c913549d104ab8af1756f5ca47961f24317cbd7271e65ace5173e7d3927f315e4ab0e029c0deb7aace40e6027305ffe0 SHA512 7e315e8643b92f234ebaa87b3dacfbb4c5268242f1e9a7bb2c19e1d1d871b7798fab889a64f1e9f4ef653fea654b098f2fcb94be2ed3ace393f7ceb8ab448feb
+DIST esmi_ib_library-5.2.1.1.tar.gz 567520 BLAKE2B 7aa6054c08b51a4d94880003ab3339141a55041b394b12e8612ac07690e65395e1cd99d4b9a217cfd2329606e7605c3291c016ec13416ee3b54e2d80d3fd74ae SHA512 ca1b17bb277a490d89a342b462fa884532ee48bb3fd7cd1f775f54520ff8be8e4de74377694f3e730f0d89d7c1ea6a90500a56b0fcf9248de1e15eec8a3ab877
DIST esmi_pkg_ver-4.2.tar.gz 463866 BLAKE2B 4d78fe94351623dad5a187133ad8d1be456c2477b69c0b6dc15b2d239b494c9f4011fe558e36a07f7b03b67daccf8bf03b92ea3502dc31ddc965fa9e28b3b49e SHA512 8a86eb84f86cada75232a800ce81f151bfe4b77f119a1a19189abddf8473e7b7f860594a206303277f708497e86db34af519e061e5ff3bb9d860b943c5781b09
diff --git a/dev-util/amdsmi/amdsmi-10.1.0.ebuild b/dev-util/amdsmi/amdsmi-10.1.0.ebuild
new file mode 100644
index 000000000000..ebfd0f1fbb0b
--- /dev/null
+++ b/dev-util/amdsmi/amdsmi-10.1.0.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+ROCM_SKIP_GLOBALS=1
+inherit cmake linux-info python-r1 rocm
+
+ESMI_PN=esmi_pkg_ver
+ESMI_PV=5.2.1.1
+
+DESCRIPTION="AMD System Management Interface for managing and monitoring GPUs"
+HOMEPAGE="
+ https://github.com/ROCm/rocm-systems/tree/develop/projects/amdsmi
+ https://rocm.docs.amd.com/projects/amdsmi/en/latest/
+"
+SRC_URI="
+ https://github.com/ROCm/rocm-systems/releases/download/therock-${PV%.0}/${PN}.tar.gz -> ${P}.tar.gz
+ https://github.com/amd/esmi_ib_library/archive/refs/tags/${ESMI_PN}-${ESMI_PV}.tar.gz
+ -> esmi_ib_library-${ESMI_PV}.tar.gz
+"
+S="${WORKDIR}/${PN}"
+ESMI_S="${WORKDIR}/esmi_ib_library-${ESMI_PN}-${ESMI_PV}"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-libs/libnl:3
+ net-libs/libmnl
+ x11-libs/libdrm[video_cards_amdgpu]
+"
+DEPEND="
+ ${RDEPEND}
+ dev-libs/rocm-core:${SLOT}
+ test? ( dev-cpp/gtest )
+"
+
+CONFIG_CHECK="~HSA_AMD ~DRM_AMDGPU"
+
+src_prepare() {
+ ln -s "${ESMI_S}" esmi_ib_library || die
+
+ # Compatibility with CMake < 3.10 will be removed
+ sed -e "/cmake_minimum_required/ s/3\.5\.0/3.10/" \
+ -i goamdsmi_shim/CMakeLists.txt "${ESMI_S}"/CMakeLists.txt || die
+
+ sed -e "s/-Wall -Wextra//" \
+ -i CMakeLists.txt "${ESMI_S}"/CMakeLists.txt goamdsmi_shim/CMakeLists.txt || die
+
+ # Reset custom installation path
+ sed -e "/generic_add_rocm/d" -i CMakeLists.txt || die
+
+ # Install docs to correct place
+ sed -e "s:doc/\${CPACK_PACKAGE_NAME}:doc/${P}:" -i CMakeLists.txt || die
+
+ # Do not install /usr/share/doc/${P}-asan
+ sed -e "s/COMPONENT asan/COMPONENT asan EXCLUDE_FROM_ALL/" -i CMakeLists.txt || die
+
+ # libc++ does not include <cstdlib> transitively
+ sed -e "/#include <cstring>/i #include <cstdlib>" -i rocm_smi/src/rocm_smi_binary_parser.cc || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ python_setup
+
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -Wno-dev
+ )
+ use test && mycmakeargs+=( -DCMAKE_REQUIRE_FIND_PACKAGE_GTest=ON )
+ cmake_src_configure
+}
+
+src_test() {
+ # GPU access in GpuFunctionalReadOnly tests
+ addwrite /dev/dri/renderD128
+
+ "${BUILD_DIR}/tests/amd_smi_test/amdsmitst" || die "Test failed"
+}
+
+src_install() {
+ cmake_src_install
+
+ # Reinstalled below with python_domodule
+ rm -r "${D}$(python_get_sitedir)"/amdsmi "${ED}"/usr/bin/amd-smi || die
+
+ python_fix_shebang "${ED}"/usr/libexec/amdsmi_cli
+ python_domodule "${ED}"/usr/libexec/amdsmi_cli
+ python_domodule "${ED}"/usr/share/amd_smi/amdsmi
+
+ fperms a+x "/usr/lib/${EPYTHON}/site-packages/amdsmi_cli/amdsmi_cli.py"
+ dosym -r "/usr/lib/${EPYTHON}/site-packages/amdsmi_cli/amdsmi_cli.py" /usr/bin/amd-smi
+
+ rm -rf "${ED}"/usr/share/amd_smi "${ED}"/usr/libexec/amdsmi_cli || die
+}
diff --git a/dev-util/bpf-linker/Manifest b/dev-util/bpf-linker/Manifest
index 135b545dd969..079f9a402465 100644
--- a/dev-util/bpf-linker/Manifest
+++ b/dev-util/bpf-linker/Manifest
@@ -1,14 +1,7 @@
-DIST bpf-linker-0.10.3-crates.tar.xz 12312560 BLAKE2B 5ad449327cc682cb918eac80c4fcb511d3dc1957aa8893aab466b4119a396a3731e152626191ea2fa454bddb16b2475284da021a86502967a6ad2a03a140fee6 SHA512 9e533c56bf84372962f053af78621de91b4ef4ab4706d06bbefa5792f9aa71b6e7a5ce81032f82216df9282df7815c360e7759bc01c1ea84358e09b35284ef24
-DIST bpf-linker-0.10.3.gh.tar.gz 74134 BLAKE2B 76de2861d3c5d6a1c0374d793d686231c1944386fc6ab56a5e2778ae63fc93404d4a5be0868a6f3af631055f9744587e7c0a194b2b187b2808f78d7e7158b173 SHA512 420b4bb6e9f949647f5bd8fc425e12066f888d0059f5fcd6ee4f2ecc5f01dadb3b4c965527624cc2c743569b2e3e9175cd5df473e2ebad68c17519400517ba7c
-DIST bpf-linker-0.10.4-crates.tar.xz 12318408 BLAKE2B c1d1914d9e74936ccb7f1eaa9d783db4885b8733eacc43173c3bbe10234eab1781ec61076bac0b7fac990dfdb36e59002433250043518e346426a85ca8264efa SHA512 71aad82089155a4c12937b4cb5790ac00fc81e77d27739af663a47f56ff1539f811347d5db3672e03a2e7c69bd6fa482f127d5acc29897a7b429f0a5ecb740f1
-DIST bpf-linker-0.10.4.gh.tar.gz 160769 BLAKE2B 0fb911dea079645fee154fe3536558830d488c304bc8d7ef8f986beff2ea0f697cc21e8540b463c2d8badcba6f389e386b7a7db715e3005f47b03af8c007248f SHA512 3cedabb00a705068f0b8d4d0bf3a2fe752e3429f4d4909367b1b66977034602430a7d8d01e73a104bcfef8d70416b888b3207700e27bf9775b4ccc321300c708
DIST bpf-linker-0.11.0-crates.tar.xz 12138812 BLAKE2B e5e68da232e4674ed7dc26372168cc9542c4097feac10fff1583b803892a87d6aaf679989fb0250fbec907aa6dd92b5e42cee067a78def022e0c3faf82bd58be SHA512 8cc6e270a0a31307eea3fd609edde2d4de7dc54c9fc506219e829902b7854797e904dad2cf61b1fe54292038452ec5c759bf844bd0c1ca2c840665113788b888
DIST bpf-linker-0.11.0.gh.tar.gz 160986 BLAKE2B 4b2aff1c893b3b33e2b6aab4fd47b955b1e74f3e0a173f4be7e19e3bcc03fa45916f537b95223dde57117998142b7eba21f2793d4833c2d9728254ca1e06e4be SHA512 6d2b13f9a9fb0997f3abddc5dbf6133b381076d0222fa1983039560b791535cb50e5520b92128e321ca3615f057ffd21dca56d3844ab6ec05775f70b9e5beb41
DIST bpf-linker-0.11.1-crates.tar.xz 12118532 BLAKE2B 1c2dbdb0481161a518f0a2e21b9e03aeac08841803814d136d3f510faa315758366f5079ab684b3428d4a658a4aa811dd8b9d8b67a51ca89baf95026b5db5215 SHA512 df0e6f68c348e75bf0423ebdb731ffb3d79fae3da3a8736bf897b67f2cd3fb310ea07978813825252da6bdb3fbf571e200666baa7ba087f4d9ce912e0ee3bb8e
DIST bpf-linker-0.11.1.gh.tar.gz 186430 BLAKE2B c4b68c6e95fe9725a1ef19c6d584ae7340279f51c96c4e9b3da1815224f27adbe92930e0ab741c45261a38b30cc44f92b9ba8f3710bd1d61fca43052f6c268fa SHA512 ba18354735f6756cba32ad5edf41c5b603b4eae53b2f3faa54edf6732599a4242f0f23d5d9b4335dde305657236ffe09b4e4c23361b076bb4caca7c6fc8cb8eb
DIST bpf-linker-0.12.0-crates.tar.xz 12932016 BLAKE2B 8151c22e6b2f75550cbb2602d48ad828f3043828d82dddf4f3c865d507bf856c3534e8f1347b72c3c5dfbbb87d3ba99f0000271a511dc42f23d37457c7b838f9 SHA512 25b94b94acd509318a071c5e39d46fc3704733fc9aad0f0092d2e2a5c409235ed3a828e3c85cf0274770582460a583d5f22ffc17f070291eb12697658eb7f3d5
DIST bpf-linker-0.12.0.gh.tar.gz 184158 BLAKE2B 424e38004a047eaa87f069c55263c3a7be215228ff9d6f5152bdd2e638c365cbc4ad48505421acbd5265eecc1df55611a5aaa99615b6c3d5f6f0f43db228b0f4 SHA512 c80ee6620f98c42eeae2ce3456e80e65339d2c03120e2c882112655290019f44a7b3dddafdb8a03fcebead6749bbb68eacc89febe445cdad9bd60b4d5149a2b0
-DIST bpf-linker-0.9.15-crates.tar.xz 16330432 BLAKE2B b22ecf0efe6a0dbcd76d4468f3ba674851fd41a9a3a2f71cc4f6c2f1cfcbb69043c49ae28fce441cb3972f6a7bcaa7d1aa51f78b3acb3ca67add23573c81de70 SHA512 32c172cb84999cbf9eed73bc2988fd805cf6e028349884e0af006e828374ffef3a2d47033501115dfd32641927fd7f679132c3a57c8dc475d709fab91a05b625
-DIST bpf-linker-0.9.15.gh.tar.gz 53754 BLAKE2B 91554e366b4981a28a74a154258970702d8a259ea8ca3ce48d510e8b87978d8dd438505aec1a53a1c7b4d7c3e48ae3a996b03271f7e10f2dcf328e80188e432a SHA512 8c55eb0d46ca4229a1d23333b38a3d9b6dc2e21e3d720a9f7b57e0a1435c895e3829ed370d2d25fec8d5bf41fd75543a6cb493d78f4bddc1d903c831e13b9784
DIST compiletest-rs-02b122626320f562914710bada39e637f051c7bb.gh.tar.gz 60991 BLAKE2B 7338e984b4c74d2ba56c1ecb00d7d821262bed3d6d74d67b7a438fe4455f56d1cd72a25ae392baf907ad1acf565684aaa68cd42d7c61bd41fa308839a6efd489 SHA512 0aaf7eeaf9ab80cf122f7fd29f7f67db8138dc2a7f5f414f32fd5f2306ed7013375896bd0f15048e8fb42b8ea9da60a47a3e07611dea3ea101335932dd14df62
-DIST compiletest-rs-0c1418d5cd5177ee9d863a5c2f300c0973cfc4f1.gh.tar.gz 61012 BLAKE2B f282dcb1d88021245dcdb03101f37fcb6a3936690716fc1470fdd671985c2757bb92c5f3d3d1e7ed2663529fc89ed587b16c70f644f1097ae039cbbcab96d809 SHA512 b7d192e6ab3617170460f2f08fb5a7ff11f0f48735de5d8d3924ffcc3f724d4c60821a7387ca9e37dfa5462645cfd7d0e9f2852da292e733d514822e9ccbaf76
diff --git a/dev-util/bpf-linker/bpf-linker-0.10.3.ebuild b/dev-util/bpf-linker/bpf-linker-0.10.3.ebuild
deleted file mode 100644
index 84782bb92de4..000000000000
--- a/dev-util/bpf-linker/bpf-linker-0.10.3.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 2025-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-RUST_MIN_VER=1.90.0
-CRATES="
-"
-
-declare -A GIT_CRATES=(
- [compiletest_rs]='https://github.com/Manishearth/compiletest-rs;02b122626320f562914710bada39e637f051c7bb;compiletest-rs-%commit%'
-)
-
-LLVM_COMPAT=( {20..22} )
-RUST_REQ_USE="llvm_targets_BPF(+),rust_sysroots_bpf(-)"
-RUST_NEEDS_LLVM=1
-
-inherit cargo llvm-r1 toolchain-funcs
-
-DESCRIPTION="Simple BPF static linker"
-HOMEPAGE="https://github.com/aya-rs/bpf-linker/"
-SRC_URI="
- https://github.com/aya-rs/bpf-linker/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
- https://github.com/gentoo-crate-dist/bpf-linker/releases/download/v${PV}/${P}-crates.tar.xz
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-# Dependent crate licenses
-LICENSE+="
- ISC MIT Unicode-3.0 Unicode-DFS-2016
- || ( Apache-2.0 Boost-1.0 )
-"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- $(llvm_gen_dep '
- llvm-core/llvm:${LLVM_SLOT}=[llvm_targets_BPF]
- ')
-"
-RDEPEND="
- ${DEPEND}
- ${RUST_DEPEND}
-"
-BDEPEND="
- test? (
- dev-util/btfdump
- )
-"
-
-QA_FLAGS_IGNORED=/usr/bin/bpf-linker
-
-pkg_setup() {
- rust_pkg_setup
-}
-
-src_prepare() {
- default
-
- # replace upstream crate substitution with our crate substitution, sigh
- local ct_dep=$(grep ^compiletest_rs "${ECARGO_HOME}"/config.toml || die)
- sed -i -e "/compiletest_rs/s;^.*$;${ct_dep};" Cargo.toml || die
-}
-
-src_configure() {
- local myfeatures=(
- "llvm-${LLVM_SLOT}"
- )
- cargo_src_configure --no-default-features
-
- export "LLVM_PREFIX"="$(get_llvm_prefix -d)"
-
- if [[ $(tc-get-cxx-stdlib) == "libc++" ]]; then
- export LLVM_SYS_LIBCPP=c++
- fi
-}
diff --git a/dev-util/bpf-linker/bpf-linker-0.10.4.ebuild b/dev-util/bpf-linker/bpf-linker-0.10.4.ebuild
deleted file mode 100644
index 84782bb92de4..000000000000
--- a/dev-util/bpf-linker/bpf-linker-0.10.4.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 2025-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-RUST_MIN_VER=1.90.0
-CRATES="
-"
-
-declare -A GIT_CRATES=(
- [compiletest_rs]='https://github.com/Manishearth/compiletest-rs;02b122626320f562914710bada39e637f051c7bb;compiletest-rs-%commit%'
-)
-
-LLVM_COMPAT=( {20..22} )
-RUST_REQ_USE="llvm_targets_BPF(+),rust_sysroots_bpf(-)"
-RUST_NEEDS_LLVM=1
-
-inherit cargo llvm-r1 toolchain-funcs
-
-DESCRIPTION="Simple BPF static linker"
-HOMEPAGE="https://github.com/aya-rs/bpf-linker/"
-SRC_URI="
- https://github.com/aya-rs/bpf-linker/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
- https://github.com/gentoo-crate-dist/bpf-linker/releases/download/v${PV}/${P}-crates.tar.xz
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-# Dependent crate licenses
-LICENSE+="
- ISC MIT Unicode-3.0 Unicode-DFS-2016
- || ( Apache-2.0 Boost-1.0 )
-"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- $(llvm_gen_dep '
- llvm-core/llvm:${LLVM_SLOT}=[llvm_targets_BPF]
- ')
-"
-RDEPEND="
- ${DEPEND}
- ${RUST_DEPEND}
-"
-BDEPEND="
- test? (
- dev-util/btfdump
- )
-"
-
-QA_FLAGS_IGNORED=/usr/bin/bpf-linker
-
-pkg_setup() {
- rust_pkg_setup
-}
-
-src_prepare() {
- default
-
- # replace upstream crate substitution with our crate substitution, sigh
- local ct_dep=$(grep ^compiletest_rs "${ECARGO_HOME}"/config.toml || die)
- sed -i -e "/compiletest_rs/s;^.*$;${ct_dep};" Cargo.toml || die
-}
-
-src_configure() {
- local myfeatures=(
- "llvm-${LLVM_SLOT}"
- )
- cargo_src_configure --no-default-features
-
- export "LLVM_PREFIX"="$(get_llvm_prefix -d)"
-
- if [[ $(tc-get-cxx-stdlib) == "libc++" ]]; then
- export LLVM_SYS_LIBCPP=c++
- fi
-}
diff --git a/dev-util/bpf-linker/bpf-linker-0.11.1.ebuild b/dev-util/bpf-linker/bpf-linker-0.11.1.ebuild
index e5eb41dc535e..dccb86e60b87 100644
--- a/dev-util/bpf-linker/bpf-linker-0.11.1.ebuild
+++ b/dev-util/bpf-linker/bpf-linker-0.11.1.ebuild
@@ -33,7 +33,7 @@ LICENSE+="
|| ( Apache-2.0 Boost-1.0 )
"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="amd64 ~arm64"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-util/bpf-linker/bpf-linker-0.9.15-r1.ebuild b/dev-util/bpf-linker/bpf-linker-0.9.15-r1.ebuild
deleted file mode 100644
index af66642ba6ed..000000000000
--- a/dev-util/bpf-linker/bpf-linker-0.9.15-r1.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 2025-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Must match LLVM used by rustc
-RUST_MIN_VER=1.91.0
-RUST_MAX_VER=1.94.1
-CRATES="
-"
-
-declare -A GIT_CRATES=(
- [compiletest_rs]='https://github.com/Manishearth/compiletest-rs;0c1418d5cd5177ee9d863a5c2f300c0973cfc4f1;compiletest-rs-%commit%'
-)
-
-LLVM_COMPAT=( 21 )
-RUST_REQ_USE="llvm_targets_BPF(+),rust_sysroots_bpf(-)"
-
-inherit cargo llvm-r2 toolchain-funcs
-
-DESCRIPTION="Simple BPF static linker"
-HOMEPAGE="https://github.com/aya-rs/bpf-linker/"
-SRC_URI="
- https://github.com/aya-rs/bpf-linker/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
- https://github.com/gentoo-crate-dist/bpf-linker/releases/download/v${PV}/${P}-crates.tar.xz
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-# Dependent crate licenses
-LICENSE+="
- ISC MIT Unicode-3.0 Unicode-DFS-2016
- || ( Apache-2.0 Boost-1.0 )
-"
-SLOT="0"
-KEYWORDS="amd64 ~arm64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- $(llvm_gen_dep '
- llvm-core/llvm:${LLVM_SLOT}=[llvm_targets_BPF]
- ')
-"
-RDEPEND="
- ${DEPEND}
- ${RUST_DEPEND}
-"
-BDEPEND="
- test? (
- dev-util/btfdump
- )
-"
-
-QA_FLAGS_IGNORED=/usr/bin/bpf-linker
-
-pkg_setup() {
- rust_pkg_setup
-}
-
-src_prepare() {
- default
-
- # replace upstream crate substitution with our crate substitution, sigh
- local ct_dep=$(grep ^compiletest_rs "${ECARGO_HOME}"/config.toml || die)
- sed -i -e "/compiletest_rs/s;^.*$;${ct_dep};" Cargo.toml || die
-}
-
-src_configure() {
- local myfeatures=(
- "llvm-${LLVM_SLOT}"
- )
- cargo_src_configure --no-default-features
-
- export "LLVM_SYS_${LLVM_SLOT}1_PREFIX"="$(get_llvm_prefix -d)"
-
- if [[ $(tc-get-cxx-stdlib) == "libc++" ]]; then
- export LLVM_SYS_LIBCPP=c++
- fi
-}
diff --git a/dev-util/git-bug/Manifest b/dev-util/git-bug/Manifest
index 4aa79f1a5f0e..730ab0735633 100644
--- a/dev-util/git-bug/Manifest
+++ b/dev-util/git-bug/Manifest
@@ -1,4 +1,2 @@
-DIST git-bug-0.10.1-deps.tar.xz 353600896 BLAKE2B 4154ee5c1b8eefdcec8f7b8e48a2b5c06c07de27a3c94859b699a9ceab9759720b43568ca45449f93502634452de52a3da0be11b255f2a8631bb64e5f584cece SHA512 de733f9b9d641de3997dafa36e4c56ce545d4a604027eec929beb9a18e442329e53f2201cae0586b389dffffab86ff4aeacf1926a5f9896cbe969f5e1ece93b0
-DIST git-bug-0.10.1.tar.gz 2669305 BLAKE2B a420bfd0db1570412c64124821fe4b08d5ebb3c1a9696d2063ddfe7b365ca590373b5febd73a4954252d2437a14790791b581b9c0aa341f3ad33723e086dcbb1 SHA512 7af2dc1d40cb02ef754f500d3d4cd5150433ace5627467151e92012607ece054c14305f8b26640454f8f8387f3c40e5489578e99d4bc4b52fec580c4bea35b9b
-DIST git-bug-0.11.0-vendor.tar.xz 5306080 BLAKE2B 707bc2091d6c34d40a3edfd247c945be80bce3c500cbfd035a75383e0e31fb3f343b594b69319ac5f51fcbc1635bc02f0701a6519450bbc2d3a0ebb28fffdbb6 SHA512 447960a08bf97aae1ebcc0f61e8b31c648ccf99870a40d99c9e1a65b8529beb755fba1a6e49a1b5a8968387e704c3533e789d774159bacdbdbf6cd561363e260
+DIST git-bug-0.11.0-vendor.tar.xz 5163080 BLAKE2B cf01af685348ef826583dd6e8d8975ee97b1ad4d39676b44ededab3402333b85454feae4f1838c1847dca9f9b5a37afed90f2de10e199f60dc1ec81432becec0 SHA512 d5550a39b39042aab8326f007a2d0ae73f44f8dcecb5bc93ef0da300f3df0358ed83f895d0785687e52b5469f55ef58f13d7ef36b60a7ede53479b1dbc273c11
DIST git-bug-0.11.0.tar.gz 2404873 BLAKE2B 6ba1249c8f218dc56d5111320f65e5f88db6dfe1df4b74013261f6eeedb07937b4a4246a322dd34a2e971094a1baa0f3b3a26954fa402eae9e2a6425ffa46909 SHA512 c07782c1be65c298789370268eefc55e1e279d2bb3a07a2a9cc8d54e7f91b9f305a5886d1f539cc2f69d0b8e9ce9286953d05d7be1fb6142284ae56fdfad6009
diff --git a/dev-util/git-bug/git-bug-0.10.1.ebuild b/dev-util/git-bug/git-bug-0.10.1.ebuild
deleted file mode 100644
index ee5f63cfa667..000000000000
--- a/dev-util/git-bug/git-bug-0.10.1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2022-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit go-module shell-completion
-
-DESCRIPTION="Distributed, offline-first bug tracker embedded in git"
-HOMEPAGE="https://github.com/git-bug/git-bug"
-SRC_URI="https://github.com/git-bug/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
- https://dev.gentoo.org/~laumann/distfiles/${CATEGORY}/${PN}/${P}-deps.tar.xz"
-
-LICENSE="GPL-3"
-# Dependent licenses
-LICENSE+=" Apache-2.0 BSD-2 BSD ISC MIT MPL-2.0 Unlicense"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-BDEPEND=">=dev-lang/go-1.24.0"
-
-QA_PRESTRIPPED=usr/bin/git-bug
-
-src_compile() {
- ego generate
- local ego_build_args=(
- -ldflags "-s -w -X github.com/git-bug/git-bug/commands.GitLastTag=${PV} -X github.com/git-bug/git-bug/commands.GitExactTag=${PV}"
- -o ${PN}
- )
- ego build "${ego_build_args[@]}"
-}
-
-src_test() {
- # TestValidateProject fails with FEATURES=network-sandbox
- # TestGitFileHandlers appears to be brittle, see bug #982080 and
- # https://github.com/git-bug/git-bug/issues/1591
- CI=true ego test -v ./... -skip "TestValidateProject|TestGitFileHandlers"
-}
-
-src_install() {
- dobin git-bug
- doman doc/man/*.1
- dobashcomp misc/completion/bash/git-bug
- newzshcomp misc/completion/zsh/git-bug _git-bug
- newfishcomp misc/completion/fish/git-bug git-bug.fish
-}
diff --git a/dev-util/git-bug/git-bug-0.11.0.ebuild b/dev-util/git-bug/git-bug-0.11.0.ebuild
index 66d1e311e52c..00a0d939d749 100644
--- a/dev-util/git-bug/git-bug-0.11.0.ebuild
+++ b/dev-util/git-bug/git-bug-0.11.0.ebuild
@@ -7,8 +7,8 @@ inherit go-module shell-completion
DESCRIPTION="Distributed, offline-first bug tracker embedded in git"
HOMEPAGE="https://github.com/git-bug/git-bug"
-SRC_URI="https://github.com/git-bug/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
- https://dev.gentoo.org/~laumann/distfiles/${CATEGORY}/${PN}/${P}-vendor.tar.xz"
+SRC_URI="https://github.com/git-bug/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" https://github.com/gentoo-golang-dist/git-bug/releases/download/v${PV}/git-bug-${PV}-vendor.tar.xz"
LICENSE="GPL-3"
# Dependent licenses
diff --git a/dev-util/github-cli/github-cli-2.102.0.ebuild b/dev-util/github-cli/github-cli-2.102.0.ebuild
index adb14062adaf..8b88dee4a9d9 100644
--- a/dev-util/github-cli/github-cli-2.102.0.ebuild
+++ b/dev-util/github-cli/github-cli-2.102.0.ebuild
@@ -14,7 +14,7 @@ if [[ ${PV} == *9999 ]]; then
else
SRC_URI="https://github.com/cli/cli/archive/v${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI+=" https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/${P}-deps.tar.xz"
- KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv"
+ KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv"
S="${WORKDIR}/cli-${PV}"
fi
diff --git a/dev-util/gitlab-cli/Manifest b/dev-util/gitlab-cli/Manifest
index 669aa8dbff93..98c83ab61c9d 100644
--- a/dev-util/gitlab-cli/Manifest
+++ b/dev-util/gitlab-cli/Manifest
@@ -1,6 +1,4 @@
-DIST gitlab-cli-1.106.0-vendor.tar.xz 10388708 BLAKE2B 14bb5b6bcd8c4450bba277fbf69ba63350a357e34f2ac60c8556b17b81c9f822ed1ab78acc3015726110e56d0acbe07edc20b54153d18e45d290dfd2db5fdcc7 SHA512 44aa4d5dda1cc044e72476776c0e0a82c58dedf516ef3038f7df9b50493c4a3639752a908c93d8f00e45801c5dbd3a110d2fa4b4295d59d04bbafa48a699eeca
-DIST gitlab-cli-1.106.0.tar.bz2 17711631 BLAKE2B 4069c0094f73d1c0c79e1c6e9c92f9095b45237b46f51b3a9fe32ae14c20b0e075d9c1384f4f705fd6a07e3b49e01086476e44b1038f1a367cc6ce52e77e0889 SHA512 b8b287d7b7ae5f7b11ece75502c07c22fbfc17fbf313e20d59049041aab81a6d0c139be016c8b7a2c00e274177593580c096947aa0ba8c4b95507cc46422c19e
-DIST gitlab-cli-1.116.0-vendor.tar.xz 10438712 BLAKE2B 92c55aac214c4f646813bb25697aa66b1c0eda7d4d0687b90092a1259d5cd5f5a06bb92b78f64235b62de25e12c269be1614b8b656ebda441ee7107de1c5385d SHA512 d8e89662c23a3156023169f81e41c2812131243d2f93b03ee0e49d56a3626c5d8503a1d9342d079cfb3e7226915fa9e10f77491fae42ddde796bcb9487ad3dcd
-DIST gitlab-cli-1.116.0.tar.bz2 17874337 BLAKE2B 0524389cd0d4b2c3c9eb4a9c0ef3d8739dd38e3b0365b1a6d68afe14e87ed7e00f7c11852fbcc30f2ef4275215c9b273519385e83f935cc73942efe96ea8085f SHA512 22193ea737d6944bbe0aa6e220d6e5607a9e3c77a4cb054349947b51e415ab2d09268c7b593c8757ee36a307a891ab1115d2ff0963ed892ea57e70496a918ba0
DIST gitlab-cli-1.119.0-vendor.tar.xz 10526856 BLAKE2B 7ff05a36bb7b2699f1f5de08e73c01e32868eb4256b7082b35911787da39b351ead26e6da7aa158881def75aa0d9c920f525c41bfcd1540779469e673b8e92b6 SHA512 a98f9c70585e2a254d70114c92df1042771ed452517c2bfe757ca7d74000b6d5836adfb8e96b4af371e4ec45c815d67065ed58dc0efa26b66ff7aef02e1cd03b
DIST gitlab-cli-1.119.0.tar.bz2 17973213 BLAKE2B 0369c932fdf09b53f2b1e464ba0bfaaeccb16349aee2a4bca7d21cc793156bd4ad8169e4295af4289b17920dcaa9411b8cb94419ff495ae389d40d76284a6517 SHA512 88fd47933bd25706a304d82fed4708ce311085c37a90744873d6fa8add2ca532c1959d80969bbcd069975d29a4bf39a24b0bd8e97a8b19ae47bfd7981f284de6
+DIST gitlab-cli-1.123.0-vendor.tar.xz 10525776 BLAKE2B 314172f4abbb8e28be65b9aeb861d028640caec4cdc43e28157168b4e7ca2897ed54d282d70e246b3ad4b3995bc068554a8df892a22b334b05e866d8ba431563 SHA512 16b4296ac349e721a1261bfc864106b11ba573478c645e8646bf7cadf83d7c908aee2fb0d9941bc519e6510cdbf61d213ef3a01620e7df3f103e16c0169507da
+DIST gitlab-cli-1.123.0.tar.bz2 18072439 BLAKE2B d2d6bdb69bc80ccc6c06bf070da30c256cf36035eda094092d66d86807d4fb6d08ff3496887ce5b1e915d325bd08a5e96a35c5db52e9a55a50f9ea070004b0c5 SHA512 ef2353badee81ecc3516af915d08a44cb7c37ebb0497942e537e083e7ef2a56194edc92d034e0d1229b16bfdc337b59f45fb7a57a7a0e7e0608329794cd1fea9
diff --git a/dev-util/gitlab-cli/gitlab-cli-1.106.0.ebuild b/dev-util/gitlab-cli/gitlab-cli-1.106.0.ebuild
deleted file mode 100644
index cbe1aa81a1f3..000000000000
--- a/dev-util/gitlab-cli/gitlab-cli-1.106.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2023-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=9
-
-inherit go-module shell-completion sysroot
-
-# update on every bump
-GIT_COMMIT=fc1869c7555df65250a17781e24ab077ad1db267
-
-DESCRIPTION="the official gitlab command line interface"
-HOMEPAGE="https://gitlab.com/gitlab-org/cli"
-SRC_URI="https://gitlab.com/gitlab-org/cli/-/archive/v${PV}/${PN}-v${PV}.tar.bz2 -> ${P}.tar.bz2"
-SRC_URI+=" https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/${P}-vendor.tar.xz"
-S="${WORKDIR}/cli-v${PV}-${GIT_COMMIT}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-# tests communicate with gitlab.com and require a personal access token
-RESTRICT="test"
-
-BDEPEND=">=dev-lang/go-1.26.4"
-
-QA_PRESTRIPPED=usr/bin/glab
-
-src_unpack() {
- mkdir -p "${S}" || die
- ln -s "../${P}/vendor" "${S}/vendor" || die
- go-module_src_unpack
-}
-
-src_compile() {
- emake \
- BUILD_COMMIT_SHA=${GIT_COMMIT::8} \
- GLAB_VERSION=v${PV} \
- build manpage
-
- einfo "generating shell completion files"
- sysroot_try_run_prefixed bin/glab completion bash > "${T}"/glab.bash || die
- sysroot_try_run_prefixed bin/glab completion zsh > "${T}"/glab.zsh || die
- sysroot_try_run_prefixed bin/glab completion fish > "${T}"/glab.fish || die
-}
-
-src_install() {
- dobin bin/glab
- dodoc README.md
- doman share/man/man1/*
-
- [[ -s "${T}"/glab.bash ]] && newbashcomp "${T}"/glab.bash glab
- [[ -s "${T}"/glab.zsh ]] && newzshcomp "${T}"/glab.zsh _glab
- [[ -s "${T}"/glab.fish ]] && dofishcomp "${T}"/glab.fish
-}
diff --git a/dev-util/gitlab-cli/gitlab-cli-1.116.0.ebuild b/dev-util/gitlab-cli/gitlab-cli-1.123.0.ebuild
index 90a43f0528c6..d1cfbbd05175 100644
--- a/dev-util/gitlab-cli/gitlab-cli-1.116.0.ebuild
+++ b/dev-util/gitlab-cli/gitlab-cli-1.123.0.ebuild
@@ -6,7 +6,7 @@ EAPI=9
inherit go-module shell-completion sysroot
# update on every bump
-GIT_COMMIT=e8436ca8a1715369087a8c67787493b2434a3822
+GIT_COMMIT=5686d7484e65cb08b6e3b92f86d2ccffb415bdc0
DESCRIPTION="the official gitlab command line interface"
HOMEPAGE="https://gitlab.com/gitlab-org/cli"
@@ -15,13 +15,15 @@ SRC_URI+=" https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/
S="${WORKDIR}/cli-v${PV}-${GIT_COMMIT}"
LICENSE="MIT"
+# Dependent licenses
+LICENSE+=" "
SLOT="0"
KEYWORDS="~amd64"
# tests communicate with gitlab.com and require a personal access token
RESTRICT="test"
-BDEPEND=">=dev-lang/go-1.27.0"
+BDEPEND=">=dev-lang/go-1.27.2"
QA_PRESTRIPPED=usr/bin/glab
diff --git a/dev-util/go-task/Manifest b/dev-util/go-task/Manifest
index 1d72d6860300..46f53422bfed 100644
--- a/dev-util/go-task/Manifest
+++ b/dev-util/go-task/Manifest
@@ -1,4 +1,4 @@
-DIST go-task-3.52.0-deps.tar.xz 473328412 BLAKE2B ac03b84f07f1b4e76b7f250571ac10f2a16b654ddcaa97d17b63a9197898a19252578c2f7825217ba8fda68ff4c8842677ee629ddc018d0e2678a98726e9bb4a SHA512 0d4c14bec8b2b9c1d6031c6a8cddae1e4ea0b3c320a1537201903048f90f7eaaca57421a3f70b23f7b1df938a439a127c84ec504f3aa046e4a41b0e08e90346e
-DIST go-task-3.52.0.tar.gz 604188 BLAKE2B 3359ceb972f7e949893d2666f9b570b2f261f6b93291f661764e6834d82fcf3afc0adb3341342b9087e9bf32a9f5ea744537af361018ffc56da9ebae595ac1ff SHA512 f0879d100ea571bae85f470f6f528ae40a41e45c976a132b834658a28d891a6111fce5300ea26430a95a2804130a6b7d14a7155384e8373faa1c084ddcb0b05b
DIST go-task-3.53.1-deps.tar.xz 477442636 BLAKE2B a0add357d17522cfac98809e3cb39c4c765598c0f358001bc12e563db1e58db802528c673232442f176973735f003497da27f02b3b86a7598aa370ae455a189a SHA512 369678773ff1556c83843d968d04f43d9165fbdc8893b5dcfd85b56ba874dd5c61d33a46b7335528b411c739c81a6e5d527fcd86bacf4a396553fcfb25c1b974
DIST go-task-3.53.1.tar.gz 748531 BLAKE2B 3a6b09e7691bc244486aa04f724a385a7eeec6ce1d07a086bbd543cd35d4e5786d7882eef35e0069ab949148573fddcd784360679e9f223be4ec11a10114986e SHA512 ce08dba3e0afc40d5e04a2172dfbcc10fe600bd6f6433d1b531cc08948dec6af9423f736e19cfc2d967c6bd07a1327e05153034de170a079a963c684cfb625e1
+DIST go-task-3.54.0-deps.tar.xz 379539092 BLAKE2B 0d1b359fff314257bb5974045d1ff2fbab5eac9658a13bf5a1aa4fb260e14d351311b76b0b76eae5555c37c05a428f1786eedc430ca81fa0580faa2deb2a408d SHA512 ab0729d8d31ad3cfdb1c6ba387ffa28c1663ee1507f72ffd3e3cddeaba777cd144e228b68dadafb9e7d6c28f1870556e37a37e4341945422630977e44684bc60
+DIST go-task-3.54.0.tar.gz 830750 BLAKE2B 53436bbbd808d4cf56f2555290e50365f68058c8a1eb648c602d1486823c731c79060960f7891c2705a7d2b0f8ff204f11e151ed39852722ab791ee1902125cb SHA512 7ef841453b574edd8781c11ca01eda5fa108eb66d3517e830d0abcb5a1903e6c39e349734daab97cff954db79c2691cf7f0b7121f64bd4937201a44079d29987
diff --git a/dev-util/go-task/go-task-3.52.0.ebuild b/dev-util/go-task/go-task-3.54.0.ebuild
index d2a347c58535..d2a347c58535 100644
--- a/dev-util/go-task/go-task-3.52.0.ebuild
+++ b/dev-util/go-task/go-task-3.54.0.ebuild
diff --git a/dev-util/google-antigravity-cli/Manifest b/dev-util/google-antigravity-cli/Manifest
index c045957df73a..20da46165131 100644
--- a/dev-util/google-antigravity-cli/Manifest
+++ b/dev-util/google-antigravity-cli/Manifest
@@ -4,3 +4,5 @@ DIST google-antigravity-cli-1.3.6_amd64.tar.gz 63275514 BLAKE2B d887f996fe9ea37b
DIST google-antigravity-cli-1.3.6_arm64.tar.gz 59683640 BLAKE2B 7f791bfecf98aeb0c972c01480d6382286a7da88dc80a5e51b42deaa48ffa670107ec62709bc1331f0933012d81f49e65aa886e179b407e19e5381fc9ddcadf4 SHA512 dbe9585460ba8ea30959c6a2599d3bef1e7710331ef8c9e418863a300d19351906e16be63204f7d77434c773796b5ae222ae135ac033db5abf1542b076d02b0e
DIST google-antigravity-cli-1.4.0_amd64.tar.gz 63650174 BLAKE2B efc9bc1c26eb1552d185ee236fdfe74cdbdf03c053a8a010519476250d8a841270d2fb2ee749342b79265986392e3afb3785c72853670aa38d582bef4515eb22 SHA512 6c4b298c2a69b6bd0f58567031cc56d8097a32be54c4b633aa80ad395871b389618ab3860d4ba0a12599831b8226b51b03e258ee2ec7fae105a45b8e0fce2188
DIST google-antigravity-cli-1.4.0_arm64.tar.gz 60033969 BLAKE2B 212b76e04eccd5d5eb76e03c2aaa469a10e1e4d3ecd1ee42c4c951035d080ba102c333ecd64abf338cdf295b58a6dfaebbcfc7792decfdec6fd1436c3905f2b2 SHA512 64dfb2a9665ebd19b6e9d687c094673b61ca9f5ffdebc81391cea8e3858773e1c88154f088e8a8691208561d946a7aea9acbec7a3bdca9e5d8a48fa197b0a308
+DIST google-antigravity-cli-1.4.2_amd64.tar.gz 63937290 BLAKE2B aff0cfa1884ea979ee454665c28d2d4a99f40bb5aec091097a73b7fbf6867e6f0e1d78e348bf77cc733001ad66d1339e85f930a619e79cc577d75812535a8d09 SHA512 4a393afc1369cee94e817c1b430c9128d02b12ebd4d5703ace5cd47b2333e216d673fb0097cbf7195f757b110163ba9850e9eea3fdbbaddd4b25668b82c03f05
+DIST google-antigravity-cli-1.4.2_arm64.tar.gz 60360307 BLAKE2B 3f4b6429e0ede64e0a89857a48a8c728391c6177026b914eebc9a3795eeb996f4a87c887d172d8baa060ba64d001fe45a2e6a6f89bb945f177cafa671e2fc4bf SHA512 f4655468d3303e6039cbcf1a30769e3cb5c4e16d149fba0d08e83f91f0f2b07cb623a4adb8615ca7a8fc73bf2445301e0e1ab82ea89f6aa44cbd9a9e96703e19
diff --git a/dev-util/google-antigravity-cli/google-antigravity-cli-1.4.2.ebuild b/dev-util/google-antigravity-cli/google-antigravity-cli-1.4.2.ebuild
new file mode 100644
index 000000000000..ef01353ddd9b
--- /dev/null
+++ b/dev-util/google-antigravity-cli/google-antigravity-cli-1.4.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+EXECUTION_ID="4835981233356800"
+
+MY_PN="${PN#google-}"
+DESCRIPTION="Command-line interface for Google's Antigravity agentic development platform"
+HOMEPAGE="https://antigravity.google/"
+BASE_URI="https://storage.googleapis.com/antigravity-public/antigravity-cli/${PV}-${EXECUTION_ID}"
+SRC_URI="
+ amd64? ( ${BASE_URI}/linux-x64/cli_linux_x64.tar.gz -> ${P}_amd64.tar.gz )
+ arm64? ( ${BASE_URI}/linux-arm/cli_linux_arm64.tar.gz -> ${P}_arm64.tar.gz )
+"
+S="${WORKDIR}"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~arm64"
+RESTRICT="bindist mirror strip"
+
+QA_PREBUILT="*"
+
+src_install() {
+ local agy_home="/opt/google/${MY_PN}"
+
+ exeinto "${agy_home}"
+ doexe "antigravity"
+ dosym -r "${agy_home}/antigravity" "/usr/bin/agy"
+}
diff --git a/dev-util/hip/Manifest b/dev-util/hip/Manifest
index 6f856369db70..1d9762df018f 100644
--- a/dev-util/hip/Manifest
+++ b/dev-util/hip/Manifest
@@ -1,3 +1,4 @@
+DIST hip-10.1.0.tar.gz 4282584 BLAKE2B e6d858f211235a49b29a85cde2070205b214604e9a7f0ddd1f1f7c13f6ba6a233e3a663815d3439b6fb81d827e8922e56ae0d79a501bfa342877949b644e62b6 SHA512 4c1a854c4c7cd59ca5c9380c605689cefab964323c9714c6b45e3bf7dcff93b233619f7de7e5c1ffa69aa5fdc9f9fba3c2b78cafba4e76331730f9bbc249af72
DIST hip-6.3.3.tar.gz 1486598 BLAKE2B 998b28786c0b156cd1c23a01ce284206d1ad5cad1f207676b9d40994dc4f60d16a1f0804cfa287622826d78871ee19d2b5aa78dc29a69fe54ab50f08652bfd26 SHA512 70544467c5c262fab1e9415f5e77d0ec3b4635b6fa104de5d7ab2da0e2ca88fe40ce716068e50eaa17a807516cd41e2c0af22bcada3a1f7de50aa88283850e38
DIST hip-6.4.3.tar.gz 1755257 BLAKE2B 3db2d35a71ca2802e95043c5ef6d50db56b3e1412dcdb08ba7083675cccb898d2b06c2afdfc0e0f53648d09d2aa84f91cca00ecf297caa2784d07aae4b3573b6 SHA512 1fa32ca7f9f2024e66cbe0bd8faaeeaf5240ce2f962f5bfa29815ff7bdcf5c4c4dac2d0d0354c3a5215df6ebec1e1b32bc10e560d9292a0bd019da1773724e54
DIST hip-7.0.2.tar.gz 1855072 BLAKE2B 7ec17fda250019cb333bb41342e2d13141df39ba14f769881c3b85c1c0bf4e90d8e744a748731f8dfb12f3c004ba92486c5f48354d24141733fa90eb19c6ac59 SHA512 d2b0124a35a56f3b58b6decad670e9a06849de0760f4cc4e72acb1fcf32a84b694ceea9024db101e323e86d0f7fde5559ee815322ed95b3d3c9648a34b4c3754
@@ -7,7 +8,9 @@ DIST hip-test-6.3.3.tar.gz 1446849 BLAKE2B 474194bd7cef54af85eab0bc8fdfbe2360a9a
DIST hip-test-6.4.3.tar.gz 1570417 BLAKE2B 5b6bd3d1fcaaf724061ed686b6edc08b7ba308557ae0cb22785a04bc17b48aace50225a5e3c756a28bc741bb8fcaac8bff18b17f99a4458427b3489fef7dcd44 SHA512 5eed7da562f3807bb6ea8d737115dd45b775c2588c4131f2a19206d125b2b53d8adccbe189953219dd1091f18f08badec81cba524951b8a69626df9075db7a1c
DIST hip-test-7.0.2.tar.gz 1639664 BLAKE2B f1fa00927901d282870f80fbd438280d8b66d67834796b7713244ea09ee7179bac3732442d591a3c8a7cbae3e86cbfa9dce64315d78b11b010a8fd4a76df448a SHA512 524fc1311db2f4c5ed6cb7a97c72e7dd8808344e61ab493a8be407d4682e27c4c7239aec8eac32adfcc4cb01f34efb935d62cb6d4d4ba797b210c64cf4c61d02
DIST hip-test-7.1.0.tar.gz 1616287 BLAKE2B 9e87bb8c6fb9c136b5eeca4a1b320abbf282c95bf785524c78786b8cfeb5edbcf9e897fb437490907d0092f3dd38bf33bc6f5b2a98cc8ce739c2707112dd3819 SHA512 ef4fd8a00601b6d8c124077600195037e1660f5f1518feb6824dee43516db001572b021cbf1598b852169a2443787a0bc854c9624aa4701f24b24be21dfd32a4
+DIST hip-tests-10.1.0.tar.gz 2012846 BLAKE2B 62132097291e7b62eb3994f1dc3d36a1618b6b3fcfc47083a86746640a5085ec22f20608115cb2909d1375e4b3839a2b4d7aea577799e824cdf983f35fa12b07 SHA512 1d5c679e7d983e0700649c2dce6a6e8244e2ef492658c6538b3e3150081f6076e7fb5ae8224cea421d25a95a90589314049ed75b85d1b9e07c49687be185040e
DIST hip-tests-7.2.0.tar.gz 1653469 BLAKE2B c75429311cc2c3cd60794e71e14f9d59b9712dfc304ee187009d2c9dd9d176debebebc33f7143cbf4fc746bf28edab4cbd96ad6a89d21b0efa42f71554a903bb SHA512 f13beafbb68fa476c2e5e707655c088dd12a364eaa0fac8bc71d9d33ed8535daab723ccb261d114583808d7fe1cc9c02820301c5e5721fcd115a3c4f6badd530
+DIST rocm-clr-10.1.0.tar.gz 2640985 BLAKE2B 2ca57f75dc766427d919e46b4787baf3cb1f2ad870658b07fac539afaab07c1191a7e661bd8d9d29006ba3cbad9eecc26d4a703c32ff3b3dd6f21e5fa58dae30 SHA512 9b8677e66b026ea4f82bba3ec1f9c984ddddf0e3ad4a7498c0c8bf5493647668de59dfdec8ca07025f5a4d5ae054ceeca30a49389a4c493c90b57393aec75d4e
DIST rocm-clr-6.3.3.tar.gz 2095704 BLAKE2B bdb315fc9f1f9c76aa2a345bd48a600c81f3b72eb68fee8862b5e155e7519bef6f6421698a43358c6fe0200bb0b6924ff819860d9a91a5c07fc3e9d44eeb1b16 SHA512 94d2959b981b324e0dae2d06e86c72cd01fa495de081666bcec2445c02bada22aa60e94ecac0ee63e70e52275f92caeefcb6dc96a3f0fba593896be7b0d8ab42
DIST rocm-clr-6.4.3.tar.gz 2126045 BLAKE2B eadeaa050e684373883faadfbf42d6b4152979154587afb1a2583bf9ddfb3ff9ab9787a433c8f380ac52012732ff2f68892ab256ec76f32557c164e9551745af SHA512 38daec86ea9c8e60f420b4eec5e96d88a4e51585dcbb7352bec27f0c712f4b856f413c42e2585c031a81e8046065d76763c624500ba786ae0e9133278f00418c
DIST rocm-clr-7.0.2.tar.gz 2171932 BLAKE2B b14c1e7f42e7bf0e7b3514095495524ae572f65fa28780ef74853540d2f2952f97e0d82be09f70756a860592e7ae0ef738239a34715dee79d9a293d02ce7337e SHA512 eb80cd47c8a3e3fa8948cc58c6b8b158b2e2ae49f70a63f7040fe59a309bdd4f29334f6edc7950d13932c50162884288e27e2308b85293f68739402547d7ad36
diff --git a/dev-util/hip/files/hip-10.1.0-aligned-new.patch b/dev-util/hip/files/hip-10.1.0-aligned-new.patch
new file mode 100644
index 000000000000..f7a79eda6c44
--- /dev/null
+++ b/dev-util/hip/files/hip-10.1.0-aligned-new.patch
@@ -0,0 +1,25 @@
+Fix crash in VirtualGPU constructor with -march supporting AVX-512
+Bug: https://github.com/ROCm/rocm-systems/issues/11256
+Backports: https://github.com/ROCm/rocm-systems/pull/11257
+--- a/rocclr/include/top.hpp
++++ b/rocclr/include/top.hpp
+@@ -162,8 +162,19 @@ class ReferenceCountedObject {
+ public:
+ ReferenceCountedObject() : referenceCount_(1) {}
+
++ // size-only new hides ::operator new(size, align_val_t); over-aligned
++ // subclasses (VirtualGPU alignas(64) AQL packets) need these overloads.
+ void* operator new(size_t size) { return ::operator new(size); }
++ void* operator new(size_t size, std::align_val_t align) {
++ return ::operator new(size, align);
++ }
+ void operator delete(void* p) { return ::operator delete(p); }
++ void operator delete(void* p, std::align_val_t align) {
++ return ::operator delete(p, align);
++ }
++ void operator delete(void* p, size_t, std::align_val_t align) {
++ return ::operator delete(p, align);
++ }
+ void* operator new(size_t size, size_t extSize) {
+ return ReferenceCountedObject::operator new(size + extSize);
+ };
diff --git a/dev-util/hip/hip-10.1.0.ebuild b/dev-util/hip/hip-10.1.0.ebuild
new file mode 100644
index 000000000000..92cbbe1ae05c
--- /dev/null
+++ b/dev-util/hip/hip-10.1.0.ebuild
@@ -0,0 +1,287 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="doxygen"
+DOCS_DEPEND="media-gfx/graphviz"
+ROCM_SKIP_GLOBALS=1
+
+LLVM_COMPAT=( 23 )
+
+inherit cmake docs flag-o-matic llvm-r2 rocm toolchain-funcs
+
+DESCRIPTION="C++ Heterogeneous-Compute Interface for Portability"
+HOMEPAGE="https://github.com/ROCm/rocm-systems/tree/develop/projects/clr"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_SUBMODULES=()
+ EGIT_REPO_URI="https://github.com/ROCm/rocm-systems.git"
+ S="${WORKDIR}/${P}/projects/clr"
+ TEST_S="${WORKDIR}/${P}/projects/hip-tests"
+ HIP_S="${WORKDIR}/${P}/projects/hip"
+ SLOT="0/7.2"
+else
+ SRC_URI="
+ https://github.com/ROCm/rocm-systems/releases/download/therock-${PV%.0}/clr.tar.gz -> rocm-clr-${PV}.tar.gz
+ https://github.com/ROCm/rocm-systems/releases/download/therock-${PV%.0}/${PN}.tar.gz -> ${P}.tar.gz
+ test? (
+ https://github.com/ROCm/rocm-systems/releases/download/therock-${PV%.0}/hip-tests.tar.gz -> hip-tests-${PV}.tar.gz
+ )
+ "
+ S="${WORKDIR}/clr/"
+ TEST_S="${WORKDIR}/hip-tests/catch"
+ HIP_S="${WORKDIR}/hip"
+ KEYWORDS="~amd64"
+ SLOT="0/$(ver_cut 1-2)"
+fi
+
+LICENSE="MIT"
+
+IUSE="debug +hip opencl test video_cards_amdgpu video_cards_nvidia"
+
+# many tests are broken; also tests run against installed version, not built one
+RESTRICT="test"
+
+REQUIRED_USE="
+ || ( hip opencl )
+ ^^ ( video_cards_amdgpu video_cards_nvidia )
+"
+
+DEPEND="
+ video_cards_amdgpu? (
+ dev-util/rocminfo:${SLOT}
+ dev-libs/rocm-comgr:${SLOT}
+ dev-libs/rocr-runtime:${SLOT}
+ )
+ video_cards_nvidia? ( dev-libs/hipother:${SLOT} )
+ x11-base/xorg-proto
+ virtual/opengl[X]
+"
+BDEPEND="
+ video_cards_amdgpu? (
+ dev-util/hipcc:${SLOT}
+ )
+ test? (
+ >=dev-cpp/catch-3.8.1:0
+ media-libs/freeglut
+ $(llvm_gen_dep "
+ dev-util/spirv-llvm-translator:\${LLVM_SLOT}
+ ")
+ )
+"
+RDEPEND="${DEPEND}
+ ~dev-libs/rocm-core-${PV}
+ opencl? (
+ !dev-libs/opencl-icd-loader
+ !dev-libs/rocm-opencl-runtime
+ !dev-util/clinfo
+ !dev-util/opencl-headers
+ )
+ video_cards_amdgpu? (
+ dev-util/hipcc:${SLOT}
+ dev-libs/rocm-device-libs:${SLOT}
+ dev-libs/roct-thunk-interface:${SLOT}
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-6.3.0-no-isystem-usr-include.patch"
+ "${FILESDIR}/${PN}-7.1.0-no-hipother-install.patch"
+ "${FILESDIR}/${PN}-7.2.0-noinline-fixes.patch"
+ "${FILESDIR}/${PN}-10.1.0-aligned-new.patch"
+)
+
+QA_FLAGS_IGNORED="usr/lib.*/libhiprtc-builtins.*"
+
+hip_test_wrapper() {
+ local CMAKE_USE_DIR="${TEST_S}"
+ local BUILD_DIR="${TEST_S}_build"
+ cd "${TEST_S}" || die
+ "${@}"
+}
+
+src_prepare() {
+ pushd "${HIP_S}" >/dev/null || die
+
+ # hipamd is itself built by cmake, and should never provide a
+ # FindHIP.cmake module. But the reality is some package relies on it.
+ # Set HIP and HIP Clang paths directly, don't search using heuristics
+ sed -e "s:# Search for HIP installation:set(HIP_ROOT_DIR \"${EPREFIX}/usr\"):" \
+ -e "s:#Set HIP_CLANG_PATH:set(HIP_CLANG_PATH \"$(get_llvm_prefix -d)/bin\"):" \
+ -i "cmake/FindHIP.cmake" || die
+ popd >/dev/null || die
+
+ sed -e "s/ -Werror//g" -i "hipamd/src/CMakeLists.txt" || die
+
+ # do not install /usr/share/doc/${P}-asan
+ sed -e "/asan COMPONENT asan/d" -i hipamd/packaging/CMakeLists.txt || die
+
+ sed -e "s/@HIP_INSTALLS_HIPCC@/ON/g" -i hipamd/hip-config.cmake.in || die
+
+ # skip installation of hipcc: installed via dev-util/hipcc
+ sed -e "s/NOT \${HIPCC_BIN_DIR}/INSTALL_HIPCC AND NOT \${HIPCC_BIN_DIR}/" \
+ -i "hipamd/CMakeLists.txt" || die
+
+ sed -e "/cmake_minimum_required/ s/3\.[35]/3.10/" \
+ -i opencl/khronos/icd/CMakeLists.txt \
+ -i opencl/khronos/headers/opencl2.2/tests/CMakeLists.txt || die
+
+ cmake_src_prepare
+
+ if use test; then
+ local PATCHES=()
+ # do not rewrite CatchAddTests.cmake of system Catch2: its empty-test-list
+ # bug (catchorg/Catch2#3075) is fixed in Gentoo's version, the rest is WSL-only
+ # shellcheck disable=SC2016
+ sed -e "s/-Wall -Wextra //" \
+ -e '/^file(READ "${CATCH_ADD_TESTS_SCRIPT}"/,/^endif()/d' \
+ -i "${TEST_S}/CMakeLists.txt" || die
+
+ # with libc++: host references in the math tests use long double and C++17 special
+ # functions, which are ambiguous or missing in HIP code; the g++ tests link GCC objects
+ if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then
+ sed -e "/add_subdirectory(math)/d" -e "/add_subdirectory(g++)/d" \
+ -i "${TEST_S}/unit/CMakeLists.txt" || die
+ fi
+
+ # the tests write to vectors that are only reserve()d
+ sed -e "s/input\([12]\)\.reserve(size);/input\1.resize(size);/" \
+ -i "${TEST_S}"/unit/library/loadlib_{co,rtc}.cc || die
+
+ hip_test_wrapper cmake_src_prepare
+ fi
+}
+
+src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/858383
+ # https://github.com/ROCm/clr/issues/64
+ #
+ # Do not trust it for LTO either
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ use debug && CMAKE_BUILD_TYPE="Debug"
+ # upstream release builds have assertions disabled; some are reachable
+ # (e.g. on process exit), aborting otherwise working programs
+ use debug || append-cppflags -DNDEBUG
+
+ # Fix ld.lld linker error: https://github.com/ROCm/HIP/issues/3382
+ # See also: https://github.com/gentoo/gentoo/pull/29097
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ local mycmakeargs=(
+ -DCMAKE_PREFIX_PATH="$(get_llvm_prefix)"
+ # hiprtc-builtins embeds headers preprocessed by this clang. It must
+ # match the LLVM slot used by rocm-comgr, not clang from PATH.
+ -Dclang="$(get_llvm_prefix)/bin/clang"
+ -Dllvm-mc="$(get_llvm_prefix)/bin/llvm-mc"
+ -DCMAKE_SKIP_RPATH=ON
+ -D__HIP_ENABLE_PCH=OFF
+
+ -DCLR_BUILD_HIP="$(usex hip)"
+ -DCLR_BUILD_OCL="$(usex opencl)"
+
+ -DHIP_COMMON_DIR="${HIP_S}"
+ -DHIP_ENABLE_ROCPROFILER_REGISTER=OFF
+ -DHIPCC_BIN_DIR="${EPREFIX}/usr/bin"
+ -DROCM_PATH="${EPREFIX}/usr"
+
+ -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
+ )
+
+ if use video_cards_amdgpu; then
+ mycmakeargs+=(
+ -DHIP_PLATFORM="amd"
+ -DOpenGL_GL_PREFERENCE="GLVND"
+ -DUSE_PROF_API=OFF
+ )
+ elif use video_cards_nvidia; then
+ mycmakeargs+=(
+ -DHIPNV_DIR="${EPREFIX}/usr"
+ -DHIP_PLATFORM="nvidia"
+ )
+ fi
+
+ cmake_src_configure
+
+ if use test; then
+ local mycmakeargs=(
+ -DROCM_PATH="${EPREFIX}/usr"
+ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON
+ -DHIP_TESTS_ENABLE_WERROR=OFF
+ -Wno-dev
+
+ # 1) Use custom build of hipamd instead of system one
+ # 2) Build fails with libc++: https://github.com/llvm/llvm-project/issues/119076
+ -DCMAKE_CXX_FLAGS="-I${BUILD_DIR}/hipamd/include -stdlib=libstdc++"
+ -DCMAKE_EXE_LINKER_FLAGS="-L${BUILD_DIR}/hipamd/lib"
+ )
+ if use video_cards_amdgpu; then
+ mycmakeargs+=(
+ -DHIP_PLATFORM="amd"
+ )
+ elif use video_cards_nvidia; then
+ mycmakeargs+=(
+ -DHIP_PLATFORM="nvidia"
+ )
+ fi
+ hip_test_wrapper cmake_src_configure
+ fi
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use test; then
+ hip_test_wrapper cmake_src_compile build_tests contract_tests
+ fi
+}
+
+src_test() {
+ check_amdgpu
+ export LD_LIBRARY_PATH="${BUILD_DIR}/hipamd/lib"
+ export ROCM_PATH="${EPREFIX}/usr"
+
+ # TODO: research how to test Vulkan-related features.
+ local CMAKE_SKIP_TESTS=(
+ Unit_hipExternalMemoryGetMappedBuffer_Vulkan_Positive_Read_Write
+ Unit_hipExternalMemoryGetMappedBuffer_Vulkan_Negative_Parameters
+ Unit_hipImportExternalMemory_Vulkan_Negative_Parameters
+ Unit_hipWaitExternalSemaphoresAsync_Vulkan_Positive_Binary_Semaphore
+ Unit_hipWaitExternalSemaphoresAsync_Vulkan_Positive_Multiple_Semaphores
+ Unit_hipWaitExternalSemaphoresAsync_Vulkan_Negative_Parameters
+ Unit_hipSignalExternalSemaphoresAsync_Vulkan_Positive_Binary_Semaphore
+ Unit_hipSignalExternalSemaphoresAsync_Vulkan_Positive_Multiple_Semaphores
+ Unit_hipSignalExternalSemaphoresAsync_Vulkan_Negative_Parameters
+ Unit_hipImportExternalSemaphore_Vulkan_Negative_Parameters
+ Unit_hipDestroyExternalSemaphore_Vulkan_Negative_Parameters
+
+ # Allocate a large share of device memory or system RAM, or 4+ GiB at once.
+ # On APUs this starves other GPU clients (crashing the desktop session) or OOMs.
+ Unit_hipMalloc_Allocate90PercentOfDeviceMemory
+ Unit_hipMalloc_Positive_APU_LargeAllocSpill
+ Unit_hipMemMap_Positive_APU_LargeAllocSpill
+ Unit_hipMallocManaged_OverSubscription
+ Unit_hipMemRangeGetAttribute_TstCountParam
+ Unit_hipMemPoolMaxAlloc
+ Unit_hipHostMalloc_AllocateMoreThanTotalSystemMemory
+ Unit_hipHostAlloc_AllocateMoreThanTotalSystemMemory
+ Unit_hipHostRegister_Negative
+ Unit_hipGraphAddMemAllocNode_Negative_LaunchOutOfMemory
+ Unit_hipArray3DCreate_MaxTexture
+ Unit_hipMalloc3DArray_MaxTexture
+ Unit_hipArrayCreate_maxTexture
+ Unit_hipMallocArray_MaxTexture_Default
+ Unit_hipFreeMipmappedArrayImplicitSyncArray
+
+ # SPIR-V input requires ROCm/SPIRV-LLVM-Translator in rocm-comgr
+ Unit_hiprtc_spirv_compilation
+ Unit_hiprtc_spirv_linker
+ Unit_hip_linker_spirv_input
+ )
+
+ # GL interop tests need an X display
+ hip_test_wrapper cmake_src_test -j1 -LE gl_interop
+}
diff --git a/dev-util/hipcc/Manifest b/dev-util/hipcc/Manifest
index f32976c60822..1c1bbf49250a 100644
--- a/dev-util/hipcc/Manifest
+++ b/dev-util/hipcc/Manifest
@@ -3,3 +3,4 @@ DIST llvm-project-rocm-6.4.3.tar.gz 218920681 BLAKE2B 85c29c1f66f9d23fa7fb6d98ba
DIST llvm-project-rocm-7.0.2.tar.gz 228207703 BLAKE2B 0a46338e43eeb9ee484cf9b79488f38b96983ba0a5736d606b1b1d450b9c7aa214047200c3d6712b8053d742e2f014333b2db28feca7d0c8b6928282604e1f4e SHA512 b7916941711ec062aad518d752d213d2e6c846875956ade650da01fa02df94b2a8501c656c1333bb2febb1d46cc8266dd98fd509c72ac0c9c29321276a919450
DIST llvm-project-rocm-7.1.0.tar.gz 228282149 BLAKE2B c4bbaf1842d91747a3f7a9ae8a8db0a4b2485394770f9be5782346de1c2c66c496629a820f4bc9418803c4abe2e629b44083b9d9a8b0ffe79431d04f71a7b191 SHA512 01fa89fcee6910d53407be6cfe3a83bec98260a48beca6393ca7e5991d283897da42a918c6e9888a9cee46adc9c4086dd4b4221e7e25d64108296b755669a7e7
DIST llvm-project-rocm-7.2.0.tar.gz 249851021 BLAKE2B f17a1c753ed4325ed15f5a007e770d5004bf53493af98619830105f1a6b0edc52ada1f2eaa8d5cf912158d36dd9f1aaedd42846947ab6ce065ca72aa21873452 SHA512 cc68b61605e89291d8417e438e4134a6cb7c5112145fe0ac72e358ddbf300dc86bbed18a9bc143e86d5f4085b327e1c5f81e14b6d17001605d63c1171c29841e
+DIST llvm-project-therock-10.1.tar.gz 282590206 BLAKE2B ffbc18a743c7d892d183dbf500301ba3bfb8490ad4ac172b95bfe7dde24184d35f8f8767800a1a216e7ea41bf0c5c4115022199a73350296987623d41893b43f SHA512 d1919ced18d268ef99d1e9e55f8cc670aa2ad7857f6250b97502d85dfea41bb191aced7c6b9baf5fba7be651c8c782063dce9fad3de06a0525353576ba27d1a1
diff --git a/dev-util/hipcc/hipcc-10.1.0.ebuild b/dev-util/hipcc/hipcc-10.1.0.ebuild
new file mode 100644
index 000000000000..ad9739568897
--- /dev/null
+++ b/dev-util/hipcc/hipcc-10.1.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 23 )
+inherit cmake llvm-r2
+
+DESCRIPTION="Radeon Open Compute hipcc"
+HOMEPAGE="https://github.com/ROCm/llvm-project/tree/amd-staging/amd/hipcc"
+
+MY_P=llvm-project-therock-${PV%.0}
+components=( "amd/hipcc" )
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/ROCm/llvm-project"
+ inherit git-r3
+ S="${WORKDIR}/${P}/${components[0]}"
+else
+ SRC_URI="https://github.com/ROCm/llvm-project/archive/therock-${PV%.0}.tar.gz -> ${MY_P}.tar.gz"
+ S="${WORKDIR}/${MY_P}/${components[0]}"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="debug"
+
+DEPEND="
+ $(llvm_gen_dep "
+ llvm-runtimes/compiler-rt:\${LLVM_SLOT}=
+ llvm-core/llvm:\${LLVM_SLOT}=
+ llvm-core/clang:\${LLVM_SLOT}=
+ ")
+"
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+ if [[ ${PV} == *9999 ]] ; then
+ git-r3_fetch
+ git-r3_checkout '' . '' "${components[@]}"
+ else
+ archive="${MY_P}.tar.gz"
+ ebegin "Unpacking from ${archive}"
+ tar -x -z -o \
+ -f "${DISTDIR}/${archive}" \
+ "${components[@]/#/${MY_P}/}" || die
+ eend ${?}
+ fi
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -e "s:/opt/rocm:/usr:g" -i src/hipBin_base.h || die
+
+ sed -e "s:hipClangPath /= \"llvm\";:hipClangPath /= \"llvm/${LLVM_SLOT}\";:" \
+ -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:g" \
+ -i src/hipBin_amd.h || die
+}
+
+src_install() {
+ cmake_src_install
+ # remove bat files...
+ rm -rf "${ED}/usr/hip" || die
+}
diff --git a/dev-util/hipify-clang/Manifest b/dev-util/hipify-clang/Manifest
index 63007ceff354..27d0033f7749 100644
--- a/dev-util/hipify-clang/Manifest
+++ b/dev-util/hipify-clang/Manifest
@@ -1,3 +1,4 @@
+DIST HIPIFY-10.1.0.tar.gz 1209860 BLAKE2B 26c57e38cf56ccdd1298cdc8f546c9114a4398711c239ae94ef70bcafb984e829c5b9546acab4af5158c731112f3a8d5d9efcf0f41e72a2bd18bff665255a3c5 SHA512 2fb2ee59fd06f60b3b86f67c88b1a932561bb5ba885b481f6f311510067f5c427d76c92b34fe5840a59ab51dd249018d7890b8cedbcbdc0aa6e68abdab06fe87
DIST HIPIFY-6.3.3.tar.gz 978886 BLAKE2B 391afa3ca27651597264ada3f1ef8f2a3ed75d7f0bbd29b868e89d0ecd6a76986fb4b74e15d62c7a0990d5e8a6c5e92cf4e987ddbf3fb5e45eddd2f9d22c9b45 SHA512 5fe529db7ef9de56e127ced21c62b45b770aa383913bd9d373e7c4eb16e1028a6414ae25aa2f40c79b45f5a2dcb4318cd6773cf821c814bfd545431512cae490
DIST HIPIFY-6.4.3.tar.gz 995683 BLAKE2B ec6bb3a11a4ea5a48b8762788bfefdcc1a4fcd9a20b6dd4e72de2de920057305a9dd79d955ad696bc233faec458d30f7776320d073562bef2b861306ba11709a SHA512 c408da868ac446f81d380816c3ea1a2e39a4dcd3a7b705d93babd75a0d12e1df21e5ab394fbc8d4bd8e33dbaaaadffb05582bb4ed45b8561e2cbcc989c21a9ec
DIST HIPIFY-7.0.2.tar.gz 1022639 BLAKE2B 3550ac0f362053f1c8628ac9ff6afc0f78d89b01bda734af12eb0cdab10021aa1fca64d51eb3ad14d7bb3bd902d1c71c917af60805068b5889452b5dadfce7e9 SHA512 5f19297a1c7905549302e5e170a530dd6986915cd7fa4c359c4768e67ea4fbb885048182c204c020d8a21613bdcac877776e1d3a52e9c46df552bcca6c86bf36
diff --git a/dev-util/hipify-clang/hipify-clang-10.1.0.ebuild b/dev-util/hipify-clang/hipify-clang-10.1.0.ebuild
new file mode 100644
index 000000000000..a41a8bc6877e
--- /dev/null
+++ b/dev-util/hipify-clang/hipify-clang-10.1.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 23 )
+
+inherit cmake flag-o-matic llvm-r2
+
+DESCRIPTION="A set of tools to translate CUDA source code into portable HIP C++"
+HOMEPAGE="https://github.com/ROCm/HIPIFY"
+SRC_URI="https://github.com/ROCm/HIPIFY/archive/therock-${PV%.0}.tar.gz -> HIPIFY-${PV}.tar.gz"
+S="${WORKDIR}/HIPIFY-therock-${PV%.0}"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+
+DEPEND="
+ $(llvm_gen_dep "
+ llvm-core/clang:\${LLVM_SLOT}=
+ llvm-core/llvm:\${LLVM_SLOT}=
+ ")
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-7.0.1-fix-clang-libs.patch"
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ # Set clang resource prefix to /usr/lib/clang/...
+ sed -i 's:/lib/llvm/lib/clang/:/lib/clang/:' src/main.cpp || die
+
+ # do not dereference an empty OptionalFileEntryRef for headers that are not found
+ sed -e 's/auto f = &file->getFileEntry();/auto f = file ? \&file->getFileEntry() : nullptr;/' \
+ -i src/HipifyAction.cpp || die
+
+ # libc++ does not include <vector> transitively
+ sed -e "/#include <list>/a #include <vector>" -i src/Statistics.h || die
+}
+
+src_configure() {
+ # 928906: CMakeLists.txt ignores CC/CXX, switches compiler to clang
+ # and fails if non-compatible CFLAGS/CXXFLAGS are used
+ strip-unsupported-flags
+
+ local mycmakeargs=(
+ -DCMAKE_PREFIX_PATH="$(get_llvm_prefix)/$(get_libdir)/cmake/llvm"
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-util/nvidia-cuda-toolkit/Manifest b/dev-util/nvidia-cuda-toolkit/Manifest
index a21eb277344f..9337dd5d042d 100644
--- a/dev-util/nvidia-cuda-toolkit/Manifest
+++ b/dev-util/nvidia-cuda-toolkit/Manifest
@@ -1,15 +1,4 @@
DIST cuda_11.8.0_520.61.05_linux.run 4336730777 BLAKE2B cfdb4a51c49ee504e56a4a95de4e477ef207b678527cbb633c1e83e667f1a62c0f67038befd0b10f7ae24cda9c8bc5c54293d06a05b2e45be6cf677e40f71f17 SHA512 e96e1389abed34b5093b3a1d4e6ae9f3d4f8406621b1475f378efae65868657efce22da03b5b4e0a548d9635e406b8690b18b17b186d03ecb3ca0703c5d5787a
-DIST cuda_12.3.2_545.23.08_linux.run 4368514070 BLAKE2B bfb6239b7669636e2ef424921f5a1dd99409a0351ea7d3453fcec3d484e714d87639e733cfae913b0f222d7af8acb7bebae340ea8af53fb7ab320805abb7b230 SHA512 dce569e42955fc351a6b52b2876948029d5183bb000754f0cdcba754673a280acfd4c9e4d8cf61d572ed045de006e0bbb0e8ff32012e6cc336be9c05fd529340
-DIST cuda_12.4.1_550.54.15_linux.run 4454730420 BLAKE2B 643513a673e72aeab2e0268c4f91b504132aee378e5e483c46803ed9b1b109274e23bce0cd1022de1220e81dbfb0442c9d84370ad9c6a17e14fe2aaff23ccf13 SHA512 340fab9aad2f3e03fb773c2ec1d4f2c3b1428b350c2072b02263f68f3c521b7ec42086ae7b5e66594a0b91862cc165d8519e4c92e428268bc1e98adcfe106d42
-DIST cuda_12.5.1_555.42.06_linux.run 4311634770 BLAKE2B 3546faeb24687dd11ad0a61a4f02cfbd97119d9e3cd3e24ea294b81ed488de7dfef03607c69d7b5a8087db10cf794205936add7cfa8ccda207e3aca315be48df SHA512 604843e09717c2af0873b2d5a2e242ff1b99122d515b6a7a29e70c55ab605524744359781f5b642059550b4def57877597111914965efe7d3a1a1387c9dbb1a0
-DIST cuda_12.6.3_560.35.05_linux.run 4446722669 BLAKE2B 9ff67a3fca58af6fcb259a5b114b3babd842290d0ba5d7761ea30d8c7b33d293f86d32f19c252d12bb49e0ff10da9bf62f3c34cc87f0589bab0e134575852bba SHA512 a93d9d812d3a3f5823622e2274d1d6dbe17a298b33463fdf9f6d211d38766eab76608f9d545e312b2be2b86b3c59fcd92c37c54b38b0e8206191563d00546d62
-DIST cuda_12.6.3_560.35.05_linux_sbsa.run 3760696924 BLAKE2B 06d2ce57911fd73dd64db8bb864b85f0f52a1f21382ac79e681cf4e55302ae57b700cf7a0943fee9924ff6024f056021acec50e3d90c9ee853c0d61121686603 SHA512 ad20647c8dd72937ba74c31c6e04b75d717c16a851972ba2da78cfe11453586702b28a1383f589e4c67825588c29924f87abae9cde964c41a59cf5fe43e7c632
-DIST cuda_12.8.1_570.124.06_linux.run 5382238770 BLAKE2B 6dff4eb32e97f960bdb2bd57d0dbf0920a9f85c19c26199adcac64eb9d30d7b6f6e2691c7a7a0b5b8249c7860cc685931080a3775c804f6e4e3294c43380e94f SHA512 2ac14ba054bf01924e1953053850f679ebdbc2b9150715398365464eae9d686cde2b82abb8f385b74e4eafa8d68421a9ea216c7647c08956ccba8b2299b50a6e
-DIST cuda_12.8.1_570.124.06_linux_sbsa.run 4606631442 BLAKE2B 142c3a231f2a621c4d6a74059b72125baca83d2653ba95c726e3e3c12cf8a0a6b75ced7c0bdaa98450c3d2c2224e88886598191b594ac69be52ba5765bb30592 SHA512 108a75e0ca098b0fd514b3380d42b4752669201dcd68c41f2c1ecf9f29c216ac5937fa33d60e11be06e8a2ad8ae73aa49e6685a363ea77af943e1a1b936b8349
-DIST cuda_12.8.2_570.211.01_linux.run 5396612289 BLAKE2B 3c503193d221ba49b819792aab45b3c819070e299917066fb2f6151dbc42ddaf66d6f0bdca67c096ce74e01d4ccba8b7e0211473402855f6075b0004701aebb9 SHA512 bec5d51c8d06f5714e89b8d3f0a43f342e48269d7b9eb1049e0ecd243556b2495ffd575353015bddb0d15b3f20c53df3616807386291194f3570e1051f0769b3
-DIST cuda_12.8.2_570.211.01_linux_sbsa.run 4621214881 BLAKE2B 5cd6284b81a5db201f0fdc67b9485bada62214cdabbcb239d3e72dfe0968f14eff7414bf6b76d9991f5b336cb8dcb74c8dce8d94294b439ab85b2961d1acc0d3 SHA512 c8b7805110ad82a3e7bff0dc84a3e8bcdbcfa53b2c57543c2e29b9beb49977bbe3362918a99fcfe3ba09f89bc1224938fc5d023bceef372c7f808ea25f79143a
-DIST cuda_12.9.1_575.57.08_linux.run 5860276058 BLAKE2B 482aee91731ca490956f3cf375e973b15ddcf69b295693d34488958e2592e5c55dabed589aa4f5f4ad59a50ae00b4523e5ebf760a613b634ca00164d363fb567 SHA512 fc29c5fc1121fb6634f1fe396abe7f34d351686454516269e9143e678ea178f906a35b916b8bb2d96ecfcfc705dda7d0f4547f7e7f00d36e392d981a766b6a56
-DIST cuda_12.9.1_575.57.08_linux_sbsa.run 5074335372 BLAKE2B 71782c3e7e39503aa914c8e02b7e5e44c856bd98bb9d1d46b90dfb7db4a2becb03ed1467fbca34c2ea1147202deb379198495007d69c7987320e138a63f2164e SHA512 91e3b457b6c36c8c3f07ae6fbd24f3f90b9ea22397059f91655ad68c32b96547e2c732af987a0c5ea63c37c43d48f199d97b9e84068c145633ebf67c34465ac6
DIST cuda_12.9.2_575.57.08_linux.run 5877673931 BLAKE2B 716c2d0eb161190fb53413f7ba5f20e5d41f08335160988f9ccbb9378959515c072c80521657c94f0b8466be9359da5a93ff6dde2c8fff597a7b7fee3d00e1b7 SHA512 89166ab4aa84e9575deed7ebbddc822e8fdac99e5977ac5e05ec70b1cb06b92275a63f825cbf26a8518b641e3b17ef5a8425a0b6972f5b142260a31ce9487fb9
DIST cuda_12.9.2_575.57.08_linux_sbsa.run 5091308573 BLAKE2B 20bef3cd2145ecd4793dbe1c2e049fda086ec753bbad0d28f92e79660addd8fb374dd6581555bc93b6b7bfa9e4d8a9aa9c9dca461db99b5adc766c8fa7a7fb8e SHA512 1f9191145954ae60dd549fb10d543ca2f20bc44576970a92c17a90f894a709296e54f8125f335463cb98eb1c8dcf75593e684b8b4e284e7a52b491e0a90b5785
DIST cuda_13.4.1_linux.run 4214651928 BLAKE2B 5155abc196b1a2bb4460ada008c16a54e586eb5c7e4aec57bc087c4e2a95586da999a8b9c91c7d3b4359bfb3d1e8d7359633aa527bccb2f6acb22fd5578d57b9 SHA512 7bb8c38c4403c2e8518a9ba6b1d128f0d5483288537987bb8d0d44e95373e82ce718d1abbe0dfc63ef50375433c600d6b9e183fca93d1439b47eadd24718b828
diff --git a/dev-util/nvidia-cuda-toolkit/files/nvidia-cuda-toolkit-glibc-2.41-r1.patch b/dev-util/nvidia-cuda-toolkit/files/nvidia-cuda-toolkit-glibc-2.41-r1.patch
deleted file mode 100644
index f9d2406366e7..000000000000
--- a/dev-util/nvidia-cuda-toolkit/files/nvidia-cuda-toolkit-glibc-2.41-r1.patch
+++ /dev/null
@@ -1,119 +0,0 @@
-From cae8ab12c9f981f110bb2e1318d9c5306e3a2d81 Mon Sep 17 00:00:00 2001
-From: Paul Zander <negril.nx@gmail.com>
-Date: Sat, 8 Feb 2025 16:34:42 +0100
-Subject: [PATCH] Updates headers for glibc-2.41
-
-Match the extern definitions in cuda-crt headers with the changes in glibc-2.41.
-
-/usr/include/bits/mathcalls.h(79): error: exception specification is
-incompatible with that of previous function "cospi" (declared at line 2601
-of
-/opt/cuda-12.8.0/bin/../targets/x86_64-linux/include/crt/math_functions.h)
-
- extern double cospi (double __x) noexcept (true); extern double __cospi (double __x) noexcept (true);
-
-/opt/cuda-12.8.1/bin/../targets/x86_64-linux/include/crt/math_functions.hpp:2982:17: error: 'sinpi' is missing exception specification 'throw()'
- 2982 | __func__(double sinpi(double a))
- | ^
- | throw()
-/opt/cuda-12.8.1/bin/../targets/x86_64-linux/include/crt/func_macro.h:37:16: note: expanded from macro '__func__'
- 37 | inline decl
- | ^
-/opt/cuda-12.8.1/bin/../targets/x86_64-linux/include/crt/math_functions.h:6006:17: note: previous declaration is here
- 6006 | __func__(double sinpi(double a));
-
-See-Also: https://sourceware.org/git/?p=glibc.git;a=commit;h=0ae0af68d8fa3bf6cbe1e4f1de5929ff71de67b3
-Signed-off-by: Paul Zander <negril.nx@gmail.com>
-
-diff --git a/builds/cuda_nvcc/targets/x86_64-linux/include/crt/math_functions.h b/builds/cuda_nvcc/targets/x86_64-linux/include/crt/math_functions.h
-index d8201f9..a9b19d4 100644
---- a/builds/cuda_nvcc/targets/x86_64-linux/include/crt/math_functions.h
-+++ b/builds/cuda_nvcc/targets/x86_64-linux/include/crt/math_functions.h
-@@ -2553,7 +2553,11 @@ extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float rcbrt
- *
- * \note_accuracy_double
- */
-+#if defined(__GLIBC__) && (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 41)
-+extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double sinpi(double x) noexcept (true);
-+#else
- extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double sinpi(double x);
-+#endif
- /**
- * \ingroup CUDA_MATH_SINGLE
- * \brief Calculate the sine of the input argument
-@@ -2576,7 +2580,11 @@ extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double sinpi
- *
- * \note_accuracy_single
- */
-+#if defined(__GLIBC__) && (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 41)
-+extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float sinpif(float x) noexcept (true);
-+#else
- extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float sinpif(float x);
-+#endif
- /**
- * \ingroup CUDA_MATH_DOUBLE
- * \brief Calculate the cosine of the input argument
-@@ -2598,7 +2606,11 @@ extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float sinpi
- *
- * \note_accuracy_double
- */
-+#if defined(__GLIBC__) && (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 41)
-+extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double cospi(double x) noexcept (true);
-+#else
- extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double cospi(double x);
-+#endif
- /**
- * \ingroup CUDA_MATH_SINGLE
- * \brief Calculate the cosine of the input argument
-@@ -2620,7 +2632,11 @@ extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double cospi
- *
- * \note_accuracy_single
- */
-+#if defined(__GLIBC__) && (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 41)
-+extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float cospif(float x) noexcept (true);
-+#else
- extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float cospif(float x);
-+#endif
- /**
- * \ingroup CUDA_MATH_DOUBLE
- * \brief Calculate the sine and cosine of the first input argument
-diff --git a/builds/cuda_nvcc/targets/x86_64-linux/include/crt/math_functions.hpp b/builds/cuda_nvcc/targets/x86_64-linux/include/crt/math_functions.hpp
-index cc09b91..11eec71 100644
---- a/builds/cuda_nvcc/targets/x86_64-linux/include/crt/math_functions.hpp
-+++ b/builds/cuda_nvcc/targets/x86_64-linux/include/crt/math_functions.hpp
-@@ -2979,7 +2979,7 @@ __func__(double rcbrt(const double a))
- return t;
- }
-
--__func__(double sinpi(double a))
-+__func__(double sinpi(double a)) throw()
- {
- int n;
-
-@@ -3009,7 +3009,7 @@ __func__(double sinpi(double a))
- return a;
- }
-
--__func__(double cospi(double a))
-+__func__(double cospi(double a)) throw()
- {
- int n;
-
-@@ -3340,12 +3340,12 @@ __func__(float rcbrtf(const float a))
- return static_cast<float>(rcbrt(static_cast<double>(a)));
- }
-
--__func__(float sinpif(const float a))
-+__func__(float sinpif(const float a)) throw()
- {
- return static_cast<float>(sinpi(static_cast<double>(a)));
- }
-
--__func__(float cospif(const float a))
-+__func__(float cospif(const float a)) throw()
- {
- return static_cast<float>(cospi(static_cast<double>(a)));
- }
---
-2.48.1
-
diff --git a/dev-util/nvidia-cuda-toolkit/files/nvidia-cuda-toolkit-glibc-2.42.patch b/dev-util/nvidia-cuda-toolkit/files/nvidia-cuda-toolkit-glibc-2.42.patch
deleted file mode 100644
index d292b425f07d..000000000000
--- a/dev-util/nvidia-cuda-toolkit/files/nvidia-cuda-toolkit-glibc-2.42.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 00713637a617aea1813ba7f09f0ba7de414415b9 Mon Sep 17 00:00:00 2001
-From: Paul Zander <negril.nx+gentoo@gmail.com>
-Date: Sun, 10 Aug 2025 12:31:03 +0200
-Subject: [PATCH] Updates headers for glibc-2.42
-
-Match the extern definitions in cuda-crt headers with the changes in glibc-2.42.
-
-/usr/include/bits/mathcalls.h(206): error: exception specification is
-incompatible with that of previous function "rsqrtf" (declared at line 657 of
-/opt/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h)
-
-extern float rsqrtf (float __x) noexcept (true); extern float __rsqrtf (float
-__x) noexcept (true);
-
-See-Also:
-https://sourceware.org/git/?p=glibc.git;a=commit;h=77261698b4e938020a1b2032709a54d942ba330f
-Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
-
-diff --git a/builds/cuda_crt/targets/x86_64-linux/include/crt/math_functions.h b/builds/cuda_crt/targets/x86_64-linux/include/crt/math_functions.h
-index 50a6646..d525a86 100644
---- a/builds/cuda_crt/targets/x86_64-linux/include/crt/math_functions.h
-+++ b/builds/cuda_crt/targets/x86_64-linux/include/crt/math_functions.h
-@@ -626,7 +626,11 @@ extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double __cdecl sqrt(
- *
- * \note_accuracy_double
- */
-+#if defined(__GLIBC__) && (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 42)
-+extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double rsqrt(double x) noexcept (true);
-+#else
- extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double rsqrt(double x);
-+#endif
-
- /**
- * \ingroup CUDA_MATH_SINGLE
-@@ -650,7 +654,11 @@ extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double rsqrt
- *
- * \note_accuracy_single
- */
-+#if defined(__GLIBC__) && (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 42)
-+extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float rsqrtf(float x) noexcept (true);
-+#else
- extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float rsqrtf(float x);
-+#endif
-
- #if defined(__QNX__) && !defined(_LIBCPP_VERSION)
- namespace std {
---
-2.50.1
-
diff --git a/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.3.2.ebuild b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.3.2.ebuild
deleted file mode 100644
index 3b928f95fae1..000000000000
--- a/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.3.2.ebuild
+++ /dev/null
@@ -1,324 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit check-reqs toolchain-funcs unpacker
-
-DRIVER_PV="545.23.08"
-
-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"
-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-13_pre[cxx]
- >=x11-drivers/nvidia-drivers-525.60.13
- examples? (
- media-libs/freeglut
- media-libs/glu
- )
- nsight? (
- dev-libs/libpfm
- dev-libs/wayland
- dev-qt/qtwayland:6
- || (
- dev-libs/openssl-compat:1.1.1
- dev-libs/openssl:0/1.1
- )
- media-libs/tiff-compat:4
- virtual/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"
-
- 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/{libarrow.so,libparquet.so.500.0.0} || die
- patchelf --set-rpath '$ORIGIN' "${ED}"/${cudadir}/${nsys_dir}/host-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-glibc_2_19_0-ppc64le || die
- 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
-
- 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/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.4.1.ebuild b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.4.1.ebuild
deleted file mode 100644
index dc6d630525e0..000000000000
--- a/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.4.1.ebuild
+++ /dev/null
@@ -1,326 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit check-reqs toolchain-funcs unpacker
-
-DRIVER_PV="550.54.15"
-
-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"
-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]
- >=x11-drivers/nvidia-drivers-525.60.13
- examples? (
- media-libs/freeglut
- media-libs/glu
- )
- nsight? (
- dev-libs/libpfm
- dev-libs/wayland
- dev-qt/qtwayland:6
- || (
- dev-libs/openssl-compat:1.1.1
- dev-libs/openssl:0/1.1
- )
- media-libs/tiff-compat:4
- virtual/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/{libarrow.so,libparquet.so.500.0.0} || die
- patchelf --set-rpath '$ORIGIN' \
- "${ED}"/${cudadir}/${nsys_dir}/host-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-glibc_2_19_0-ppc64le || die
- 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
-
- 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/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.5.1.ebuild b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.5.1.ebuild
deleted file mode 100644
index fd50f5c51abc..000000000000
--- a/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.5.1.ebuild
+++ /dev/null
@@ -1,328 +0,0 @@
-# Copyright 1999-2025 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"
-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
- virtual/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/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.6.3-r1.ebuild b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.6.3-r1.ebuild
deleted file mode 100644
index ef85590530a0..000000000000
--- a/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.6.3-r1.ebuild
+++ /dev/null
@@ -1,386 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# shellcheck disable=SC2317
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-inherit check-reqs edo toolchain-funcs
-inherit python-r1
-
-DRIVER_PV="560.35.05"
-GCC_MAX_VER="13"
-CLANG_MAX_VER="18"
-
-DESCRIPTION="NVIDIA CUDA Toolkit (compiler and friends)"
-HOMEPAGE="https://developer.nvidia.com/cuda-zone"
-SRC_URI="
- amd64? (
- https://developer.download.nvidia.com/compute/cuda/${PV}/local_installers/cuda_${PV}_${DRIVER_PV}_linux.run
- )
- arm64? (
- https://developer.download.nvidia.com/compute/cuda/${PV}/local_installers/cuda_${PV}_${DRIVER_PV}_linux_sbsa.run
- )
-"
-S="${WORKDIR}"
-
-LICENSE="NVIDIA-CUDA"
-
-SLOT="0/${PV}" # UNSLOTTED
-# SLOT="${PV}" # SLOTTED
-
-KEYWORDS="-* ~amd64 ~arm64"
-IUSE="clang debugger examples nsight profiler rdma sanitizer"
-RESTRICT="bindist mirror strip test"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-# since CUDA 11, the bundled toolkit driver (== ${DRIVER_PV}) and the
-# actual required minimum driver version are different.
-RDEPEND="
- !clang? (
- <sys-devel/gcc-$(( GCC_MAX_VER + 1 ))_pre[cxx]
- )
- clang? (
- <llvm-core/clang-$(( CLANG_MAX_VER + 1 ))_pre
- )
- sys-process/numactl
- debugger? (
- ${PYTHON_DEPS}
- )
- examples? (
- media-libs/freeglut
- media-libs/glu
- )
- nsight? (
- dev-util/nsight-compute
- dev-util/nsight-systems
- )
- rdma? (
- sys-cluster/rdma-core
- )
-"
-BDEPEND="
- $(python_gen_any_dep '
- dev-python/defusedxml[${PYTHON_USEDEP}]
- ')
-"
-
-# CUDA_PATH="/opt/cuda-${PV}" #950207
-CUDA_PATH="/opt/cuda"
-QA_PREBUILT="${CUDA_PATH#/}/*"
-
-python_check_deps() {
- python_has_version "dev-python/defusedxml[${PYTHON_USEDEP}]"
-}
-
-cuda-toolkit_check_reqs() {
- if use amd64; then
- export CHECKREQS_DISK_BUILD="4908M"
- elif use arm64; then
- export CHECKREQS_DISK_BUILD="4852M"
- fi
-
- "check-reqs_pkg_${EBUILD_PHASE}"
-}
-
-cuda_verify() {
- # only works with unpacked sources
- [[ "${EBUILD_PHASE}" != prepare ]] && return
-
- # run self checks
- local compiler_versions GCC_HAS_VER CLANG_HAS_VER
- compiler_versions="$(
- grep -oP "unsupported (GNU|clang) version.*(gcc versions later than|clang version must be less than) [0-9]*" \
- "${S}"/builds/cuda_nvcc/targets/*/include/crt/host_config.h
- )"
-
- GCC_HAS_VER="$( echo "${compiler_versions}" | grep gcc | grep -oP "(?<=than )[0-9]*")"
- if [[ "${GCC_MAX_VER}" -ne "${GCC_HAS_VER}" ]]; then
- eqawarn "check GCC_MAX_VER is ${GCC_MAX_VER} and should be ${GCC_HAS_VER}"
- fi
-
- CLANG_HAS_VER="$(( $(echo "${compiler_versions}" | grep clang | grep -oP "(?<=than )[0-9]*") - 1 ))"
- if [[ "${CLANG_MAX_VER}" -ne "${CLANG_HAS_VER}" ]]; then
- eqawarn "check CLANG_MAX_VER is ${CLANG_MAX_VER} and should be ${CLANG_HAS_VER}"
- fi
-}
-
-pkg_pretend() {
- cuda-toolkit_check_reqs
-}
-
-pkg_setup() {
- cuda-toolkit_check_reqs
-
- if [[ "${MERGE_TYPE}" == binary ]]; then
- return
- fi
-
- # we need python for manifest parsing and to determine the supported python versions for cuda-gdb
- python_setup
-
- if use amd64; then
- narch=x86_64
- elif use arm64; then
- narch=sbsa
- else
- die "unknown arch ${ARCH}"
- fi
-
- export narch
-}
-
-src_unpack() {
- cuda_verify
-
- local exclude=(
- "cuda-installer"
- "*-uninstaller"
- "NVIDIA-Linux-${narch}-${DRIVER_PV}.run"
- "builds/cuda_documentation"
- "builds/cuda_nsight"
- "builds/cuda_nvvp"
- "builds/nsight_compute"
- "builds/nsight_systems"
- "builds/nvidia_fs"
- )
-
- edob -m "Extracting ${A}" \
- bash "${DISTDIR}/${A}" --tar xf -X <(printf "%s\n" "${exclude[@]}")
-}
-
-src_prepare() {
- pushd "builds/cuda_nvcc/targets/${narch}-linux" >/dev/null || die
- eapply -p5 "${FILESDIR}/nvidia-cuda-toolkit-glibc-2.41-r1.patch"
- popd >/dev/null || die
-
- default
-}
-
-src_configure() {
- :
-}
-
-src_compile() {
- :
-}
-
-src_install() {
- local -x SKIP_COMPONENTS=(
- "Kernel_Objects"
- "Visual_Tools"
- "Documentation" # obsolete
- "cuda-gdb-src" # not used
- )
-
- ! use debugger && SKIP_COMPONENTS+=( "cuda-gdb" )
- ! use examples && SKIP_COMPONENTS+=( "Demo_Suite" )
- ! use profiler && SKIP_COMPONENTS+=( "cuda-cupti" "cuda-profiler-api" "nvprof" )
- ! use sanitizer && SKIP_COMPONENTS+=( "compute-sanitizer" )
-
- dodir "${CUDA_PATH}"
- into "${CUDA_PATH}"
-
- dofile() {
- debug-print-function "${FUNCNAME[0]}" "$@"
-
- if [[ $# -ne 1 ]] && [[ $# -ne 2 ]]; then
- die "${FUNCNAME[0]} must receive one or two arguments"
- fi
-
- local _DESTDIR
- _DESTDIR="$(dirname "${CUDA_PATH}/${1%/}")${2:+/${2%/}}"
- mkdir -p "${ED}${_DESTDIR}" || die "mkdir ${_DESTDIR} failed"
-
- local dir
- dir="$(dirname "${1}")"
-
- if test -z "$(find "${dir}" -maxdepth 1 -name "$(basename "$1")" -print -quit)"; then
- if [[ -e "${ED}${_DESTDIR}/$(basename "${1}")" ]]; then
- return
- fi
- if [[ "$1" == "targets/x86_64-linux/lib/stubs/libcusolverMg*" ]] ||
- [[ "$1" == "targets/x86_64-linux/lib/libcusparse.so.*" ]]; then
- return
- fi
- return
- fi
-
- if [[ -e "${ED}${_DESTDIR}/$(basename "${1}")" ]]; then
- # skip noisy warnings
- if [[ "$(basename "${1}")" == "include" ]] ||
- [[ "$(basename "${1}")" == "lib64" ]]; then
- return
- fi
- eqawarn "${ED}${_DESTDIR}/$(basename "${1}") exists"
- return
- fi
-
- eval mv -i "${1}" "${ED}${_DESTDIR}" || die "mv failed ${PWD} / ${1} -> ${ED} ${_DESTDIR}"
- }
-
- dopcfile() {
- [[ $# -eq 0 ]] && return
-
- dodir "${CUDA_PATH}/pkgconfig"
- cat > "${ED}${CUDA_PATH}/pkgconfig/${1}.pc" <<-EOF || die "dopcfile"
- cudaroot=${EPREFIX}${CUDA_PATH}
- libdir=\${cudaroot}/targets/${narch}-linux/lib${4}
- includedir=\${cudaroot}/targets/${narch}-linux/include
-
- Name: ${1}
- Description: ${3}
- Version: ${2}
- Libs: -L\${libdir} -l${1}
- Cflags: -I\${includedir}
- EOF
- }
-
- pushd builds >/dev/null || die
- fix_executable_bit=(
- cuda_cupti/extras/CUPTI/samples/pc_sampling_utility/pc_sampling_utility_helper.h
- cuda_cupti/extras/CUPTI/samples/pc_sampling_continuous/libpc_sampling_continuous.pl
-
- libcufile/gds/tools/run_gdsio.cfg
- )
-
- if use amd64; then
- fix_executable_bit+=(
- cuda_opencl/targets/*/include/CL/cl.hpp
-
- libcufile/targets/*/lib/libcufile_rdma_static.a
- libcufile/targets/*/lib/libcufile_static.a
- )
- fi
- chmod -x "${fix_executable_bit[@]}" || die "failed chmod"
- popd >/dev/null || die
-
- ebegin "parsing manifest" "${S}/manifests/cuda_"*.xml # {{{
-
- "${EPYTHON}" "${FILESDIR}/parse_manifest.py" "${S}/manifests/cuda_"*".xml" &> "${T}/install.sh" \
- || die "failed to parse manifest"
- # shellcheck disable=SC1091
- source "${T}/install.sh" || die "failed to source install script"
-
- eend $? # }}}
-
- if use debugger; then
- if [[ -d "${ED}/${CUDA_PATH}/extras/Debugger/lib64" ]]; then
- rmdir "${ED}/${CUDA_PATH}/extras/Debugger/lib64" || die "remove debugger lib64"
- fi
-
- find "${ED}/${CUDA_PATH}/bin" -maxdepth 1 -name "cuda-gdb-*-tui" -print0 | while read -rd $'\0' tui_name; do
- impl="$(basename "${tui_name}" | cut -d '-' -f 3 | tr '.' '_')"
-
- if ! has "${impl}" "${PYTHON_COMPAT[@]}" || ! use "python_targets_${impl}"; then
- rm "${tui_name}" || die "tui-name rm ${tui_name}"
- sed -e "/$(basename "${tui_name}")\"/d" -i "${ED}/${CUDA_PATH}/bin/cuda-gdb" || die "tui_name sed"
- fi
- done
- fi
-
- # remove rdma libs (unless USE=rdma)
- if ! use rdma; then
- rm "${ED}/${CUDA_PATH}/targets/${narch}-linux/lib/libcufile_rdma"* || die "failed to remove rdma files"
- fi
-
- # Add include and lib symlinks
- dosym -r "${CUDA_PATH}/targets/${narch}-linux/include" "${CUDA_PATH}/include"
- dosym -r "${CUDA_PATH}/targets/${narch}-linux/lib" "${CUDA_PATH}/$(get_libdir)"
-
- find "${ED}/${CUDA_PATH}" -empty -delete || die
-
- local ldpathextradirs pathextradirs
-
- use debugger && ldpathextradirs+=":${EPREFIX}${CUDA_PATH}/extras/Debugger/lib64"
- use profiler && ldpathextradirs+=":${EPREFIX}${CUDA_PATH}/extras/CUPTI/lib64"
-
- local revord=$(( 999999 - $(printf "%02d%02d%02d" "$(ver_cut 1)" "$(ver_cut 2)" "$(ver_cut 3)") ))
- newenvd - "99cuda${revord}" <<-EOF
- PATH=${EPREFIX}${CUDA_PATH}/bin${pathextradirs}
- PKG_CONFIG_PATH=${EPREFIX}${CUDA_PATH}/pkgconfig
- LDPATH=${EPREFIX}${CUDA_PATH}/$(get_libdir):${EPREFIX}${CUDA_PATH}/nvvm/lib64${ldpathextradirs}
- EOF
-
- # CUDA prepackages libraries, don't revdep-build on them
- insinto /etc/revdep-rebuild
- newins - "80${PN}${revord}" <<-EOF
- SEARCH_DIRS_MASK="${EPREFIX}${CUDA_PATH}"
- EOF
-
- # https://bugs.gentoo.org/926116
- insinto /etc/sandbox.d
- newins - "80${PN}" <<-EOF
- SANDBOX_PREDICT="/proc/self/task"
- EOF
-
- # TODO drop and replace with runtime detection similar to what python does {{{
- # 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 "${GCC_MAX_VER}" )
-
- sed \
- -e "s:CUDA_SUPPORTED_GCC:${cuda_supported_gcc[*]}:g" \
- "${FILESDIR}"/cuda-config.in > "${ED}/${CUDA_PATH}/bin/cuda-config" || die
- fperms +x "${CUDA_PATH}/bin/cuda-config"
- # }}}
-
- # skip til cudnn has been changed #950207
- # if [[ "${SLOT}" != "${PV}" ]]; then
- # dosym -r "${CUDA_PATH}" "${CUDA_PATH%"-${PV}"}"
- # fi
-
- fowners -R root:root "${CUDA_PATH}"
-}
-
-pkg_postinst_check() {
- # Due to requiring specific compiler versions here, we check more then we have to, for the sake of clarity.
- # tc-getCC defaults to gcc, so clang-major-version is checked using gcc and fails on gcc-profiles. # 959420
- # We therefore force gcc and clang for the check.
-
- if tc-is-gcc || ! use clang; then
- if ver_test "$(CC=gcc gcc-major-version)" -gt "${GCC_MAX_VER}"; then
- ewarn
- ewarn "gcc > ${GCC_MAX_VER} will not work with CUDA"
- ewarn
- ewarn "Append --ccbin= pointing to a gcc bindir to the nvcc compiler flags (NVCCFLAGS)"
- ewarn "or set NVCC_CCBIN to the same bindir."
- ewarn " NVCCFLAGS=\"--ccbin=$(eval echo "${EPREFIX}/usr/*-linux-gnu/gcc-bin/${GCC_MAX_VER}")\""
- ewarn " NVCC_CCBIN=$(eval echo "${EPREFIX}/usr/*-linux-gnu/gcc-bin/${GCC_MAX_VER}")"
- ewarn
- fi
- fi
-
- if tc-is-clang || use clang; then
- if ver_test "$(CC=clang clang-major-version)" -gt "${CLANG_MAX_VER}"; then
- ewarn
- ewarn "clang > ${CLANG_MAX_VER} will not work with CUDA"
- ewarn
- ewarn "Append --ccbin= pointing to a clang bindir to the nvcc compiler flags (NVCCFLAGS)"
- ewarn "or set NVCC_CCBIN to the same bindir."
- ewarn " NVCCFLAGS=\"--ccbin=$(eval echo "${EPREFIX}/usr/lib/llvm/${CLANG_MAX_VER}/bin")\""
- ewarn " NVCC_CCBIN=$(eval echo "${EPREFIX}/usr/lib/llvm/${CLANG_MAX_VER}/bin")"
- ewarn
- fi
- fi
-}
-
-pkg_postinst() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- pkg_postinst_check
- fi
-
- if use profiler; then
- einfo
- einfo "nvidia-drivers restricts access to performance counters."
- einfo "You'll need to run profiling tools (nvprof) "
- 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/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.8.1-r1.ebuild b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.8.1-r1.ebuild
deleted file mode 100644
index 67683324df93..000000000000
--- a/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.8.1-r1.ebuild
+++ /dev/null
@@ -1,386 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# shellcheck disable=SC2317
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-inherit check-reqs edo toolchain-funcs
-inherit python-r1
-
-DRIVER_PV="570.124.06"
-GCC_MAX_VER="14"
-CLANG_MAX_VER="19"
-
-DESCRIPTION="NVIDIA CUDA Toolkit (compiler and friends)"
-HOMEPAGE="https://developer.nvidia.com/cuda-zone"
-SRC_URI="
- amd64? (
- https://developer.download.nvidia.com/compute/cuda/${PV}/local_installers/cuda_${PV}_${DRIVER_PV}_linux.run
- )
- arm64? (
- https://developer.download.nvidia.com/compute/cuda/${PV}/local_installers/cuda_${PV}_${DRIVER_PV}_linux_sbsa.run
- )
-"
-S="${WORKDIR}"
-
-LICENSE="NVIDIA-CUDA"
-
-SLOT="0/${PV}" # UNSLOTTED
-# SLOT="${PV}" # SLOTTED
-
-KEYWORDS="-* ~amd64 ~arm64"
-IUSE="clang debugger examples nsight profiler rdma sanitizer"
-RESTRICT="bindist mirror strip test"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-# since CUDA 11, the bundled toolkit driver (== ${DRIVER_PV}) and the
-# actual required minimum driver version are different.
-RDEPEND="
- !clang? (
- <sys-devel/gcc-$(( GCC_MAX_VER + 1 ))_pre[cxx]
- )
- clang? (
- <llvm-core/clang-$(( CLANG_MAX_VER + 1 ))_pre
- )
- sys-process/numactl
- debugger? (
- ${PYTHON_DEPS}
- )
- examples? (
- media-libs/freeglut
- media-libs/glu
- )
- nsight? (
- dev-util/nsight-compute
- dev-util/nsight-systems
- )
- rdma? (
- sys-cluster/rdma-core
- )
-"
-BDEPEND="
- $(python_gen_any_dep '
- dev-python/defusedxml[${PYTHON_USEDEP}]
- ')
-"
-
-# CUDA_PATH="/opt/cuda-${PV}" #950207
-CUDA_PATH="/opt/cuda"
-QA_PREBUILT="${CUDA_PATH#/}/*"
-
-python_check_deps() {
- python_has_version "dev-python/defusedxml[${PYTHON_USEDEP}]"
-}
-
-cuda-toolkit_check_reqs() {
- if use amd64; then
- export CHECKREQS_DISK_BUILD="6608M"
- elif use arm64; then
- export CHECKREQS_DISK_BUILD="6354M"
- fi
-
- "check-reqs_pkg_${EBUILD_PHASE}"
-}
-
-cuda_verify() {
- # only works with unpacked sources
- [[ "${EBUILD_PHASE}" != prepare ]] && return
-
- # run self checks
- local compiler_versions GCC_HAS_VER CLANG_HAS_VER
- compiler_versions="$(
- grep -oP "unsupported (GNU|clang) version.*(gcc versions later than|clang version must be less than) [0-9]*" \
- "${S}"/builds/cuda_nvcc/targets/*/include/crt/host_config.h
- )"
-
- GCC_HAS_VER="$( echo "${compiler_versions}" | grep gcc | grep -oP "(?<=than )[0-9]*")"
- if [[ "${GCC_MAX_VER}" -ne "${GCC_HAS_VER}" ]]; then
- eqawarn "check GCC_MAX_VER is ${GCC_MAX_VER} and should be ${GCC_HAS_VER}"
- fi
-
- CLANG_HAS_VER="$(( $(echo "${compiler_versions}" | grep clang | grep -oP "(?<=than )[0-9]*") - 1 ))"
- if [[ "${CLANG_MAX_VER}" -ne "${CLANG_HAS_VER}" ]]; then
- eqawarn "check CLANG_MAX_VER is ${CLANG_MAX_VER} and should be ${CLANG_HAS_VER}"
- fi
-}
-
-pkg_pretend() {
- cuda-toolkit_check_reqs
-}
-
-pkg_setup() {
- cuda-toolkit_check_reqs
-
- if [[ "${MERGE_TYPE}" == binary ]]; then
- return
- fi
-
- # we need python for manifest parsing and to determine the supported python versions for cuda-gdb
- python_setup
-
- if use amd64; then
- narch=x86_64
- elif use arm64; then
- narch=sbsa
- else
- die "unknown arch ${ARCH}"
- fi
-
- export narch
-}
-
-src_unpack() {
- cuda_verify
-
- local exclude=(
- "cuda-installer"
- "*-uninstaller"
- "NVIDIA-Linux-${narch}-${DRIVER_PV}.run"
- "builds/cuda_documentation"
- "builds/cuda_nsight"
- "builds/cuda_nvvp"
- "builds/nsight_compute"
- "builds/nsight_systems"
- "builds/nvidia_fs"
- )
-
- edob -m "Extracting ${A}" \
- bash "${DISTDIR}/${A}" --tar xf -X <(printf "%s\n" "${exclude[@]}")
-}
-
-src_prepare() {
- pushd "builds/cuda_nvcc/targets/${narch}-linux" >/dev/null || die
- eapply -p5 "${FILESDIR}/nvidia-cuda-toolkit-glibc-2.41-r1.patch"
- popd >/dev/null || die
-
- default
-}
-
-src_configure() {
- :
-}
-
-src_compile() {
- :
-}
-
-src_install() {
- local -x SKIP_COMPONENTS=(
- "Kernel_Objects"
- "Visual_Tools"
- "Documentation" # obsolete
- "cuda-gdb-src" # not used
- )
-
- ! use debugger && SKIP_COMPONENTS+=( "cuda-gdb" )
- ! use examples && SKIP_COMPONENTS+=( "Demo_Suite" )
- ! use profiler && SKIP_COMPONENTS+=( "cuda-cupti" "cuda-profiler-api" "nvprof" )
- ! use sanitizer && SKIP_COMPONENTS+=( "compute-sanitizer" )
-
- dodir "${CUDA_PATH}"
- into "${CUDA_PATH}"
-
- dofile() {
- debug-print-function "${FUNCNAME[0]}" "$@"
-
- if [[ $# -ne 1 ]] && [[ $# -ne 2 ]]; then
- die "${FUNCNAME[0]} must receive one or two arguments"
- fi
-
- local _DESTDIR
- _DESTDIR="$(dirname "${CUDA_PATH}/${1%/}")${2:+/${2%/}}"
- mkdir -p "${ED}${_DESTDIR}" || die "mkdir ${_DESTDIR} failed"
-
- local dir
- dir="$(dirname "${1}")"
-
- if test -z "$(find "${dir}" -maxdepth 1 -name "$(basename "$1")" -print -quit)"; then
- if [[ -e "${ED}${_DESTDIR}/$(basename "${1}")" ]]; then
- return
- fi
- if [[ "$1" == "targets/x86_64-linux/lib/stubs/libcusolverMg*" ]] ||
- [[ "$1" == "targets/x86_64-linux/lib/libcusparse.so.*" ]]; then
- return
- fi
- return
- fi
-
- if [[ -e "${ED}${_DESTDIR}/$(basename "${1}")" ]]; then
- # skip noisy warnings
- if [[ "$(basename "${1}")" == "include" ]] ||
- [[ "$(basename "${1}")" == "lib64" ]]; then
- return
- fi
- eqawarn "${ED}${_DESTDIR}/$(basename "${1}") exists"
- return
- fi
-
- eval mv -i "${1}" "${ED}${_DESTDIR}" || die "mv failed ${PWD} / ${1} -> ${ED} ${_DESTDIR}"
- }
-
- dopcfile() {
- [[ $# -eq 0 ]] && return
-
- dodir "${CUDA_PATH}/pkgconfig"
- cat > "${ED}${CUDA_PATH}/pkgconfig/${1}.pc" <<-EOF || die "dopcfile"
- cudaroot=${EPREFIX}${CUDA_PATH}
- libdir=\${cudaroot}/targets/${narch}-linux/lib${4}
- includedir=\${cudaroot}/targets/${narch}-linux/include
-
- Name: ${1}
- Description: ${3}
- Version: ${2}
- Libs: -L\${libdir} -l${1}
- Cflags: -I\${includedir}
- EOF
- }
-
- pushd builds >/dev/null || die
- fix_executable_bit=(
- cuda_cupti/extras/CUPTI/samples/pc_sampling_utility/pc_sampling_utility_helper.h
- cuda_cupti/extras/CUPTI/samples/pc_sampling_continuous/libpc_sampling_continuous.pl
-
- libcufile/gds/tools/run_gdsio.cfg
- )
-
- if use amd64; then
- fix_executable_bit+=(
- cuda_opencl/targets/*/include/CL/cl.hpp
-
- libcufile/targets/*/lib/libcufile_rdma_static.a
- libcufile/targets/*/lib/libcufile_static.a
- )
- fi
- chmod -x "${fix_executable_bit[@]}" || die "failed chmod"
- popd >/dev/null || die
-
- ebegin "parsing manifest" "${S}/manifests/cuda_"*.xml # {{{
-
- "${EPYTHON}" "${FILESDIR}/parse_manifest.py" "${S}/manifests/cuda_"*".xml" &> "${T}/install.sh" \
- || die "failed to parse manifest"
- # shellcheck disable=SC1091
- source "${T}/install.sh" || die "failed to source install script"
-
- eend $? # }}}
-
- if use debugger; then
- if [[ -d "${ED}/${CUDA_PATH}/extras/Debugger/lib64" ]]; then
- rmdir "${ED}/${CUDA_PATH}/extras/Debugger/lib64" || die "remove debugger lib64"
- fi
-
- find "${ED}/${CUDA_PATH}/bin" -maxdepth 1 -name "cuda-gdb-*-tui" -print0 | while read -rd $'\0' tui_name; do
- impl="$(basename "${tui_name}" | cut -d '-' -f 3 | tr '.' '_')"
-
- if ! has "${impl}" "${PYTHON_COMPAT[@]}" || ! use "python_targets_${impl}"; then
- rm "${tui_name}" || die "tui-name rm ${tui_name}"
- sed -e "/$(basename "${tui_name}")\"/d" -i "${ED}/${CUDA_PATH}/bin/cuda-gdb" || die "tui_name sed"
- fi
- done
- fi
-
- # remove rdma libs (unless USE=rdma)
- if ! use rdma; then
- rm "${ED}/${CUDA_PATH}/targets/${narch}-linux/lib/libcufile_rdma"* || die "failed to remove rdma files"
- fi
-
- # Add include and lib symlinks
- dosym -r "${CUDA_PATH}/targets/${narch}-linux/include" "${CUDA_PATH}/include"
- dosym -r "${CUDA_PATH}/targets/${narch}-linux/lib" "${CUDA_PATH}/$(get_libdir)"
-
- find "${ED}/${CUDA_PATH}" -empty -delete || die
-
- local ldpathextradirs pathextradirs
-
- use debugger && ldpathextradirs+=":${EPREFIX}${CUDA_PATH}/extras/Debugger/lib64"
- use profiler && ldpathextradirs+=":${EPREFIX}${CUDA_PATH}/extras/CUPTI/lib64"
-
- local revord=$(( 999999 - $(printf "%02d%02d%02d" "$(ver_cut 1)" "$(ver_cut 2)" "$(ver_cut 3)") ))
- newenvd - "99cuda${revord}" <<-EOF
- PATH=${EPREFIX}${CUDA_PATH}/bin${pathextradirs}
- PKG_CONFIG_PATH=${EPREFIX}${CUDA_PATH}/pkgconfig
- LDPATH=${EPREFIX}${CUDA_PATH}/$(get_libdir):${EPREFIX}${CUDA_PATH}/nvvm/lib64${ldpathextradirs}
- EOF
-
- # CUDA prepackages libraries, don't revdep-build on them
- insinto /etc/revdep-rebuild
- newins - "80${PN}${revord}" <<-EOF
- SEARCH_DIRS_MASK="${EPREFIX}${CUDA_PATH}"
- EOF
-
- # https://bugs.gentoo.org/926116
- insinto /etc/sandbox.d
- newins - "80${PN}" <<-EOF
- SANDBOX_PREDICT="/proc/self/task"
- EOF
-
- # TODO drop and replace with runtime detection similar to what python does {{{
- # 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 "${GCC_MAX_VER}" )
-
- sed \
- -e "s:CUDA_SUPPORTED_GCC:${cuda_supported_gcc[*]}:g" \
- "${FILESDIR}"/cuda-config.in > "${ED}/${CUDA_PATH}/bin/cuda-config" || die
- fperms +x "${CUDA_PATH}/bin/cuda-config"
- # }}}
-
- # skip til cudnn has been changed #950207
- # if [[ "${SLOT}" != "${PV}" ]]; then
- # dosym -r "${CUDA_PATH}" "${CUDA_PATH%"-${PV}"}"
- # fi
-
- fowners -R root:root "${CUDA_PATH}"
-}
-
-pkg_postinst_check() {
- # Due to requiring specific compiler versions here, we check more then we have to, for the sake of clarity.
- # tc-getCC defaults to gcc, so clang-major-version is checked using gcc and fails on gcc-profiles. # 959420
- # We therefore force gcc and clang for the check.
-
- if tc-is-gcc || ! use clang; then
- if ver_test "$(CC=gcc gcc-major-version)" -gt "${GCC_MAX_VER}"; then
- ewarn
- ewarn "gcc > ${GCC_MAX_VER} will not work with CUDA"
- ewarn
- ewarn "Append --ccbin= pointing to a gcc bindir to the nvcc compiler flags (NVCCFLAGS)"
- ewarn "or set NVCC_CCBIN to the same bindir."
- ewarn " NVCCFLAGS=\"--ccbin=$(eval echo "${EPREFIX}/usr/*-linux-gnu/gcc-bin/${GCC_MAX_VER}")\""
- ewarn " NVCC_CCBIN=$(eval echo "${EPREFIX}/usr/*-linux-gnu/gcc-bin/${GCC_MAX_VER}")"
- ewarn
- fi
- fi
-
- if tc-is-clang || use clang; then
- if ver_test "$(CC=clang clang-major-version)" -gt "${CLANG_MAX_VER}"; then
- ewarn
- ewarn "clang > ${CLANG_MAX_VER} will not work with CUDA"
- ewarn
- ewarn "Append --ccbin= pointing to a clang bindir to the nvcc compiler flags (NVCCFLAGS)"
- ewarn "or set NVCC_CCBIN to the same bindir."
- ewarn " NVCCFLAGS=\"--ccbin=$(eval echo "${EPREFIX}/usr/lib/llvm/${CLANG_MAX_VER}/bin")\""
- ewarn " NVCC_CCBIN=$(eval echo "${EPREFIX}/usr/lib/llvm/${CLANG_MAX_VER}/bin")"
- ewarn
- fi
- fi
-}
-
-pkg_postinst() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- pkg_postinst_check
- fi
-
- if use profiler; then
- einfo
- einfo "nvidia-drivers restricts access to performance counters."
- einfo "You'll need to run profiling tools (nvprof) "
- 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/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.8.2.ebuild b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.8.2.ebuild
deleted file mode 100644
index b1314156e105..000000000000
--- a/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.8.2.ebuild
+++ /dev/null
@@ -1,407 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# shellcheck disable=SC2153,SC2154,SC2317,SC2329
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-inherit check-reqs edo toolchain-funcs
-inherit python-r1
-
-DRIVER_PV="570.211.01"
-GCC_MAX_VER="14"
-CLANG_MAX_VER="19"
-
-DESCRIPTION="NVIDIA CUDA Toolkit (compiler and friends)"
-HOMEPAGE="https://developer.nvidia.com/cuda-zone"
-SRC_URI="
- amd64? (
- https://developer.download.nvidia.com/compute/cuda/${PV}/local_installers/cuda_${PV}_${DRIVER_PV}_linux.run
- )
- arm64? (
- https://developer.download.nvidia.com/compute/cuda/${PV}/local_installers/cuda_${PV}_${DRIVER_PV}_linux_sbsa.run
- )
-"
-S="${WORKDIR}"
-
-LICENSE="NVIDIA-CUDA"
-
-SLOT="0/${PV}" # UNSLOTTED
-# SLOT="${PV}" # SLOTTED
-
-KEYWORDS="-* ~amd64 ~arm64"
-IUSE="clang debugger examples nsight profiler rdma sanitizer"
-RESTRICT="bindist mirror strip test"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-# since CUDA 11, the bundled toolkit driver (== ${DRIVER_PV}) and the
-# actual required minimum driver version are different.
-RDEPEND="
- !clang? (
- <sys-devel/gcc-$(( GCC_MAX_VER + 1 ))_pre[cxx]
- )
- clang? (
- <llvm-core/clang-$(( CLANG_MAX_VER + 1 ))_pre
- )
- sys-process/numactl
- debugger? (
- ${PYTHON_DEPS}
- )
- examples? (
- media-libs/freeglut
- media-libs/glu
- )
- nsight? (
- dev-util/nsight-compute
- dev-util/nsight-systems
- )
- rdma? (
- sys-cluster/rdma-core
- )
-"
-BDEPEND="
- $(python_gen_any_dep '
- dev-python/defusedxml[${PYTHON_USEDEP}]
- ')
-"
-
-# CUDA_PATH="/opt/cuda-${PV}" #950207
-CUDA_PATH="/opt/cuda"
-QA_PREBUILT="${CUDA_PATH#/}/*"
-
-python_check_deps() {
- python_has_version "dev-python/defusedxml[${PYTHON_USEDEP}]"
-}
-
-cuda-toolkit_check_reqs() {
- if use amd64; then
- local CHECKREQS_DISK_BUILD="6608M"
- elif use arm64; then
- local CHECKREQS_DISK_BUILD="6355M"
- fi
-
- "check-reqs_pkg_${EBUILD_PHASE}"
-}
-
-cuda_verify() {
- # only works with unpacked sources
- [[ "${EBUILD_PHASE}" != prepare ]] && return
-
- # run self checks
- local compiler_versions GCC_HAS_VER CLANG_HAS_VER
- compiler_versions="$(
- grep -oP "unsupported (GNU|clang) version.*(gcc versions later than|clang version must be less than) [0-9]*" \
- "${S}"/builds/cuda_nvcc/targets/*/include/crt/host_config.h
- )"
-
- GCC_HAS_VER="$( echo "${compiler_versions}" | grep gcc | grep -oP "(?<=than )[0-9]*")"
- if [[ "${GCC_MAX_VER}" -ne "${GCC_HAS_VER}" ]]; then
- eqawarn "check GCC_MAX_VER is ${GCC_MAX_VER} and should be ${GCC_HAS_VER}"
- fi
-
- CLANG_HAS_VER="$(( $(echo "${compiler_versions}" | grep clang | grep -oP "(?<=than )[0-9]*") - 1 ))"
- if [[ "${CLANG_MAX_VER}" -ne "${CLANG_HAS_VER}" ]]; then
- eqawarn "check CLANG_MAX_VER is ${CLANG_MAX_VER} and should be ${CLANG_HAS_VER}"
- fi
-}
-
-pkg_pretend() {
- cuda-toolkit_check_reqs
-}
-
-pkg_setup() {
- cuda-toolkit_check_reqs
-
- if [[ "${MERGE_TYPE}" == binary ]]; then
- return
- fi
-
- # we need python for manifest parsing and to determine the supported python versions for cuda-gdb
- python_setup
-
- if use amd64; then
- narch="x86_64"
- elif use arm64; then
- narch="sbsa"
- else
- die "unknown arch ${ARCH}"
- fi
-
- export narch
-}
-
-src_unpack() {
- cuda_verify
-
- local exclude=(
- "cuda-installer"
- "*-uninstaller"
- "NVIDIA-Linux-${narch}-${DRIVER_PV}.run"
- "builds/cuda_documentation"
- "builds/cuda_nsight"
- "builds/cuda_nvvp"
- "builds/nsight_compute"
- "builds/nsight_systems"
- "builds/nvidia_fs"
- )
-
- edob -m "Extracting ${A}" \
- bash "${DISTDIR}/${A}" --tar xf -X <(printf "%s\n" "${exclude[@]}")
-}
-
-src_prepare() {
- pushd "builds/cuda_nvcc/targets/${narch}-linux" >/dev/null || die
- eapply -p5 "${FILESDIR}/nvidia-cuda-toolkit-glibc-2.41-r1.patch"
- popd >/dev/null || die
-
- default
-}
-
-src_configure() {
- :
-}
-
-src_compile() {
- :
-}
-
-src_install() {
- local -x SKIP_COMPONENTS=(
- "Kernel_Objects"
- "Visual_Tools"
- "Documentation" # obsolete
- "cuda-gdb-src" # not used
- )
-
- ! use debugger && SKIP_COMPONENTS+=( "cuda-gdb" )
- ! use examples && SKIP_COMPONENTS+=( "Demo_Suite" )
- ! use profiler && SKIP_COMPONENTS+=( "cuda-cupti" "cuda-profiler-api" "nvprof" )
- ! use sanitizer && SKIP_COMPONENTS+=( "compute-sanitizer" )
-
- dodir "${CUDA_PATH}"
- into "${CUDA_PATH}"
-
- # Add include and lib symlinks
- dosym -r "${CUDA_PATH}/targets/${narch}-linux/include" "${CUDA_PATH}/include"
- dosym -r "${CUDA_PATH}/targets/${narch}-linux/lib" "${CUDA_PATH}/$(get_libdir)"
-
- dofile() {
- debug-print-function "${FUNCNAME[0]}" "$@"
-
- if [[ $# -ne 1 ]] && [[ $# -ne 2 ]]; then
- die "${FUNCNAME[0]} must receive one or two arguments"
- fi
-
- local _DESTDIR
- _DESTDIR="$(dirname "${CUDA_PATH}/${1%/}")${2:+/${2%/}}"
- mkdir -p "${ED}${_DESTDIR}" || die "mkdir ${_DESTDIR} failed"
-
- local dir
- dir="$(dirname "${1}")"
-
- if test -z "$(find "${dir}" -maxdepth 1 -name "$(basename "$1")" -print -quit)"; then
- if [[ -e "${ED}${_DESTDIR}/$(basename "${1}")" ]]; then
- return
- fi
- if [[ "$1" == "targets/${narch}-linux/lib/stubs/libcusolverMg*" ]] ||
- [[ "$1" == "targets/${narch}-linux/lib/libcusparse.so.*" ]]; then
- return
- fi
- return
- fi
-
- if [[ -e "${ED}${_DESTDIR}/$(basename "${1}")" ]]; then
- # skip noisy warnings
- if [[ "$(basename "${1}")" == "include" ]] ||
- [[ "$(basename "${1}")" == "lib64" ]]; then
- return
- fi
- eqawarn "${ED}${_DESTDIR}/$(basename "${1}") exists"
- return
- fi
-
- eval mv -i "${1}" "${ED}${_DESTDIR}" || die "mv failed ${PWD} / ${1} -> ${ED} ${_DESTDIR}"
- }
-
- dopcfile() {
- [[ $# -eq 0 ]] && return
-
- dodir "${CUDA_PATH}/pkgconfig"
- cat > "${ED}${CUDA_PATH}/pkgconfig/${1}.pc" <<-EOF || die "dopcfile"
- cudaroot=${EPREFIX}${CUDA_PATH}
- libdir=\${cudaroot}/targets/${narch}-linux/lib${4}
- includedir=\${cudaroot}/targets/${narch}-linux/include
-
- Name: ${1}
- Description: ${3}
- Version: ${2}
- Libs: -L\${libdir} -l${1}
- Cflags: -I\${includedir}
- EOF
- }
-
- pushd builds >/dev/null || die
- fix_executable_bit=(
- cuda_cupti/extras/CUPTI/samples/pc_sampling_utility/pc_sampling_utility_helper.h
- cuda_cupti/extras/CUPTI/samples/pc_sampling_continuous/libpc_sampling_continuous.pl
-
- libcufile/gds/tools/run_gdsio.cfg
- )
-
- if use amd64; then
- fix_executable_bit+=(
- cuda_opencl/targets/*/include/CL/cl.hpp
-
- libcufile/targets/*/lib/libcufile_rdma_static.a
- libcufile/targets/*/lib/libcufile_static.a
- )
- fi
- chmod -x "${fix_executable_bit[@]}" || die "failed chmod"
- popd >/dev/null || die
-
- ebegin "parsing manifest" "${S}/manifests/cuda_"*.xml # {{{
-
- "${EPYTHON}" "${FILESDIR}/parse_manifest.py" "${S}/manifests/cuda_"*".xml" &> "${T}/install.sh" \
- || die "failed to parse manifest"
- # shellcheck disable=SC1091
- source "${T}/install.sh" || die "failed to source install script"
-
- eend $? # }}}
-
- if use debugger; then
- if [[ -d "${ED}/${CUDA_PATH}/extras/Debugger/lib64" ]]; then
- rmdir "${ED}/${CUDA_PATH}/extras/Debugger/lib64" || die "remove debugger lib64"
- fi
-
- find "${ED}/${CUDA_PATH}/bin" -maxdepth 1 -name "cuda-gdb-*-tui" -print0 | while read -rd $'\0' tui_name; do
- impl="$(basename "${tui_name}" | cut -d '-' -f 3 | tr '.' '_')"
-
- if ! has "${impl}" "${PYTHON_COMPAT[@]}" || ! use "python_targets_${impl}"; then
- rm "${tui_name}" || die "tui-name rm ${tui_name}"
- sed -e "/$(basename "${tui_name}")\"/d" -i "${ED}/${CUDA_PATH}/bin/cuda-gdb" || die "tui_name sed"
- fi
- done
- fi
-
- # remove rdma libs (unless USE=rdma)
- if ! use rdma; then
- # intentionally -f to support SKIP_COMPONENTS
- rm -f "${ED}/${CUDA_PATH}/targets/${narch}-linux/lib/libcufile_rdma"* || die "failed to remove rdma files"
- fi
-
- find "${ED}/${CUDA_PATH}" -empty -delete || die
-
- local ldpathextradirs pathextradirs
-
- use debugger && ldpathextradirs+=":${EPREFIX}${CUDA_PATH}/extras/Debugger/lib64"
- use profiler && ldpathextradirs+=":${EPREFIX}${CUDA_PATH}/extras/CUPTI/lib64"
-
- local revord=$(( 999999 - $(printf "%02d%02d%02d" "$(ver_cut 1)" "$(ver_cut 2)" "$(ver_cut 3)") ))
- newenvd - "99cuda${revord}" <<-EOF
- PATH=${EPREFIX}${CUDA_PATH}/bin${pathextradirs}
- PKG_CONFIG_PATH=${EPREFIX}${CUDA_PATH}/pkgconfig
- LDPATH=${EPREFIX}${CUDA_PATH}/$(get_libdir):${EPREFIX}${CUDA_PATH}/nvvm/lib64${ldpathextradirs}
- EOF
-
- # CUDA prepackages libraries, don't revdep-build on them
- insinto /etc/revdep-rebuild
- newins - "80${PN}${revord}" <<-EOF
- SEARCH_DIRS_MASK="${EPREFIX}${CUDA_PATH}"
- EOF
-
- # https://bugs.gentoo.org/926116
- insinto /etc/sandbox.d
- newins - "80${PN}" <<-EOF
- SANDBOX_PREDICT="/proc/self/task"
- EOF
-
- # TODO drop and replace with runtime detection similar to what python does {{{
- # 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 "${GCC_MAX_VER}" )
-
- mkdir -p "${ED}/${CUDA_PATH}/bin" || die
- sed \
- -e "s:CUDA_SUPPORTED_GCC:${cuda_supported_gcc[*]}:g" \
- "${FILESDIR}"/cuda-config.in > "${ED}/${CUDA_PATH}/bin/cuda-config" || die
- fperms +x "${CUDA_PATH}/bin/cuda-config"
- # }}}
-
- # skip til cudnn has been changed #950207
- # if [[ "${SLOT}" != "${PV}" ]]; then
- # dosym -r "${CUDA_PATH}" "${CUDA_PATH%"-${PV}"}"
- # fi
-
- fowners -R root:root "${CUDA_PATH}"
-}
-
-pkg_postinst_check() {
- # Due to requiring specific compiler versions here, we check more then we have to, for the sake of clarity.
- # tc-getCC defaults to gcc, so clang-major-version is checked using gcc and fails on gcc-profiles. # 959420
- # We therefore force gcc and clang for the check.
-
- if tc-is-gcc || ! use clang; then
- if ver_test "$(CC=gcc gcc-major-version)" -gt "${GCC_MAX_VER}"; then
- ewarn
- ewarn "gcc > ${GCC_MAX_VER} will not work with CUDA"
- ewarn
- ewarn "Append --ccbin= pointing to a gcc bindir to the nvcc compiler flags (NVCCFLAGS)"
- ewarn "or set NVCC_CCBIN to the same bindir."
- ewarn " NVCCFLAGS=\"--ccbin=$(eval echo "${EPREFIX}/usr/*-linux-gnu/gcc-bin/${GCC_MAX_VER}")\""
- ewarn " NVCC_CCBIN=$(eval echo "${EPREFIX}/usr/*-linux-gnu/gcc-bin/${GCC_MAX_VER}")"
- ewarn
- fi
- fi
-
- if tc-is-clang || use clang; then
- if ver_test "$(CC=clang clang-major-version)" -gt "${CLANG_MAX_VER}"; then
- ewarn
- ewarn "clang > ${CLANG_MAX_VER} will not work with CUDA"
- ewarn
- ewarn "Append --ccbin= pointing to a clang bindir to the nvcc compiler flags (NVCCFLAGS)"
- ewarn "or set NVCC_CCBIN to the same bindir."
- ewarn " NVCCFLAGS=\"--ccbin=$(eval echo "${EPREFIX}/usr/lib/llvm/${CLANG_MAX_VER}/bin")\""
- ewarn " NVCC_CCBIN=$(eval echo "${EPREFIX}/usr/lib/llvm/${CLANG_MAX_VER}/bin")"
- ewarn
- fi
- fi
-}
-
-pkg_postinst() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- pkg_postinst_check
- fi
-
- if use profiler; then
- einfo
- einfo "nvidia-drivers restricts access to performance counters."
- einfo "You'll need to run profiling tools (nvprof) "
- 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
-}
-
-pkg_info () {
- debugvar () {
- for i in "$@"; do
- [[ -v "${i}" ]] && echo "${i}=\"${!i}\""
- done
- }
- debugvar \
- CUDACXX \
- CUDAHOSTCXX \
- CUDAHOSTLD \
- CUDAARCHS \
- CUDAFLAGS \
- CUDA_PATH \
- CUDA_VERBOSE \
- NVCCFLAGS \
- NVCC_PREPEND_FLAGS \
- NVCC_APPPEND_FLAGS
-}
diff --git a/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.9.1-r1.ebuild b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.9.1-r1.ebuild
deleted file mode 100644
index 7cbecdefb768..000000000000
--- a/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.9.1-r1.ebuild
+++ /dev/null
@@ -1,389 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# shellcheck disable=SC2317
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-inherit check-reqs edo toolchain-funcs
-inherit python-r1
-
-DRIVER_PV="575.57.08"
-GCC_MAX_VER="14"
-CLANG_MAX_VER="19"
-
-DESCRIPTION="NVIDIA CUDA Toolkit (compiler and friends)"
-HOMEPAGE="https://developer.nvidia.com/cuda-zone"
-SRC_URI="
- amd64? (
- https://developer.download.nvidia.com/compute/cuda/${PV}/local_installers/cuda_${PV}_${DRIVER_PV}_linux.run
- )
- arm64? (
- https://developer.download.nvidia.com/compute/cuda/${PV}/local_installers/cuda_${PV}_${DRIVER_PV}_linux_sbsa.run
- )
-"
-S="${WORKDIR}"
-
-LICENSE="NVIDIA-CUDA"
-
-SLOT="0/${PV}" # UNSLOTTED
-# SLOT="${PV}" # SLOTTED
-
-KEYWORDS="-* ~amd64 ~arm64"
-IUSE="clang debugger examples nsight profiler rdma sanitizer"
-RESTRICT="bindist mirror strip test"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-# since CUDA 11, the bundled toolkit driver (== ${DRIVER_PV}) and the
-# actual required minimum driver version are different.
-RDEPEND="
- !clang? (
- <sys-devel/gcc-$(( GCC_MAX_VER + 1 ))_pre[cxx]
- )
- clang? (
- <llvm-core/clang-$(( CLANG_MAX_VER + 1 ))_pre
- )
- sys-process/numactl
- debugger? (
- ${PYTHON_DEPS}
- )
- examples? (
- media-libs/freeglut
- media-libs/glu
- )
- nsight? (
- dev-util/nsight-compute
- dev-util/nsight-systems
- )
- rdma? (
- sys-cluster/rdma-core
- )
-"
-BDEPEND="
- $(python_gen_any_dep '
- dev-python/defusedxml[${PYTHON_USEDEP}]
- ')
-"
-
-# CUDA_PATH="/opt/cuda-${PV}" #950207
-CUDA_PATH="/opt/cuda"
-QA_PREBUILT="${CUDA_PATH#/}/*"
-
-python_check_deps() {
- python_has_version "dev-python/defusedxml[${PYTHON_USEDEP}]"
-}
-
-cuda-toolkit_check_reqs() {
- if use amd64; then
- export CHECKREQS_DISK_BUILD="7228M"
- elif use arm64; then
- export CHECKREQS_DISK_BUILD="6998M"
- fi
-
- "check-reqs_pkg_${EBUILD_PHASE}"
-}
-
-cuda_verify() {
- # only works with unpacked sources
- [[ "${EBUILD_PHASE}" != prepare ]] && return
-
- # run self checks
- local compiler_versions GCC_HAS_VER CLANG_HAS_VER
- compiler_versions="$(
- grep -oP "unsupported (GNU|clang) version.*(gcc versions later than|clang version must be less than) [0-9]*" \
- "${S}"/builds/cuda_nvcc/targets/*/include/crt/host_config.h
- )"
-
- GCC_HAS_VER="$( echo "${compiler_versions}" | grep gcc | grep -oP "(?<=than )[0-9]*")"
- if [[ "${GCC_MAX_VER}" -ne "${GCC_HAS_VER}" ]]; then
- eqawarn "check GCC_MAX_VER is ${GCC_MAX_VER} and should be ${GCC_HAS_VER}"
- fi
-
- CLANG_HAS_VER="$(( $(echo "${compiler_versions}" | grep clang | grep -oP "(?<=than )[0-9]*") - 1 ))"
- if [[ "${CLANG_MAX_VER}" -ne "${CLANG_HAS_VER}" ]]; then
- eqawarn "check CLANG_MAX_VER is ${CLANG_MAX_VER} and should be ${CLANG_HAS_VER}"
- fi
-}
-
-pkg_pretend() {
- cuda-toolkit_check_reqs
-}
-
-pkg_setup() {
- cuda-toolkit_check_reqs
-
- if [[ "${MERGE_TYPE}" == binary ]]; then
- return
- fi
-
- # we need python for manifest parsing and to determine the supported python versions for cuda-gdb
- python_setup
-
- if use amd64; then
- narch=x86_64
- elif use arm64; then
- narch=sbsa
- else
- die "unknown arch ${ARCH}"
- fi
-
- export narch
-}
-
-src_unpack() {
- cuda_verify
-
- local exclude=(
- "cuda-installer"
- "*-uninstaller"
- "NVIDIA-Linux-${narch}-${DRIVER_PV}.run"
- "builds/cuda_documentation"
- "builds/cuda_nsight"
- "builds/cuda_nvvp"
- "builds/nsight_compute"
- "builds/nsight_systems"
- "builds/nvidia_fs"
- )
-
- edob -m "Extracting ${A}" \
- bash "${DISTDIR}/${A}" --tar xf -X <(printf "%s\n" "${exclude[@]}")
-}
-
-src_prepare() {
- pushd "builds/cuda_nvcc/targets/${narch}-linux" >/dev/null || die
- eapply -p5 "${FILESDIR}/nvidia-cuda-toolkit-glibc-2.41-r1.patch"
- popd >/dev/null || die
- pushd "builds/cuda_nvcc/targets/${narch}-linux" >/dev/null || die
- eapply -p5 "${FILESDIR}/nvidia-cuda-toolkit-glibc-2.42.patch"
- popd >/dev/null || die
-
- default
-}
-
-src_configure() {
- :
-}
-
-src_compile() {
- :
-}
-
-src_install() {
- local -x SKIP_COMPONENTS=(
- "Kernel_Objects"
- "Visual_Tools"
- "Documentation" # obsolete
- "cuda-gdb-src" # not used
- )
-
- ! use debugger && SKIP_COMPONENTS+=( "cuda-gdb" )
- ! use examples && SKIP_COMPONENTS+=( "Demo_Suite" )
- ! use profiler && SKIP_COMPONENTS+=( "cuda-cupti" "cuda-profiler-api" "nvprof" )
- ! use sanitizer && SKIP_COMPONENTS+=( "compute-sanitizer" )
-
- dodir "${CUDA_PATH}"
- into "${CUDA_PATH}"
-
- dofile() {
- debug-print-function "${FUNCNAME[0]}" "$@"
-
- if [[ $# -ne 1 ]] && [[ $# -ne 2 ]]; then
- die "${FUNCNAME[0]} must receive one or two arguments"
- fi
-
- local _DESTDIR
- _DESTDIR="$(dirname "${CUDA_PATH}/${1%/}")${2:+/${2%/}}"
- mkdir -p "${ED}${_DESTDIR}" || die "mkdir ${_DESTDIR} failed"
-
- local dir
- dir="$(dirname "${1}")"
-
- if test -z "$(find "${dir}" -maxdepth 1 -name "$(basename "$1")" -print -quit)"; then
- if [[ -e "${ED}${_DESTDIR}/$(basename "${1}")" ]]; then
- return
- fi
- if [[ "$1" == "targets/x86_64-linux/lib/stubs/libcusolverMg*" ]] ||
- [[ "$1" == "targets/x86_64-linux/lib/libcusparse.so.*" ]]; then
- return
- fi
- return
- fi
-
- if [[ -e "${ED}${_DESTDIR}/$(basename "${1}")" ]]; then
- # skip noisy warnings
- if [[ "$(basename "${1}")" == "include" ]] ||
- [[ "$(basename "${1}")" == "lib64" ]]; then
- return
- fi
- eqawarn "${ED}${_DESTDIR}/$(basename "${1}") exists"
- return
- fi
-
- eval mv -i "${1}" "${ED}${_DESTDIR}" || die "mv failed ${PWD} / ${1} -> ${ED} ${_DESTDIR}"
- }
-
- dopcfile() {
- [[ $# -eq 0 ]] && return
-
- dodir "${CUDA_PATH}/pkgconfig"
- cat > "${ED}${CUDA_PATH}/pkgconfig/${1}.pc" <<-EOF || die "dopcfile"
- cudaroot=${EPREFIX}${CUDA_PATH}
- libdir=\${cudaroot}/targets/${narch}-linux/lib${4}
- includedir=\${cudaroot}/targets/${narch}-linux/include
-
- Name: ${1}
- Description: ${3}
- Version: ${2}
- Libs: -L\${libdir} -l${1}
- Cflags: -I\${includedir}
- EOF
- }
-
- pushd builds >/dev/null || die
- fix_executable_bit=(
- cuda_cupti/extras/CUPTI/samples/pc_sampling_utility/pc_sampling_utility_helper.h
- cuda_cupti/extras/CUPTI/samples/pc_sampling_continuous/libpc_sampling_continuous.pl
-
- libcufile/gds/tools/run_gdsio.cfg
- )
-
- if use amd64; then
- fix_executable_bit+=(
- cuda_opencl/targets/*/include/CL/cl.hpp
-
- libcufile/targets/*/lib/libcufile_rdma_static.a
- libcufile/targets/*/lib/libcufile_static.a
- )
- fi
- chmod -x "${fix_executable_bit[@]}" || die "failed chmod"
- popd >/dev/null || die
-
- ebegin "parsing manifest" "${S}/manifests/cuda_"*.xml # {{{
-
- "${EPYTHON}" "${FILESDIR}/parse_manifest.py" "${S}/manifests/cuda_"*".xml" &> "${T}/install.sh" \
- || die "failed to parse manifest"
- # shellcheck disable=SC1091
- source "${T}/install.sh" || die "failed to source install script"
-
- eend $? # }}}
-
- if use debugger; then
- if [[ -d "${ED}/${CUDA_PATH}/extras/Debugger/lib64" ]]; then
- rmdir "${ED}/${CUDA_PATH}/extras/Debugger/lib64" || die "remove debugger lib64"
- fi
-
- find "${ED}/${CUDA_PATH}/bin" -maxdepth 1 -name "cuda-gdb-*-tui" -print0 | while read -rd $'\0' tui_name; do
- impl="$(basename "${tui_name}" | cut -d '-' -f 3 | tr '.' '_')"
-
- if ! has "${impl}" "${PYTHON_COMPAT[@]}" || ! use "python_targets_${impl}"; then
- rm "${tui_name}" || die "tui-name rm ${tui_name}"
- sed -e "/$(basename "${tui_name}")\"/d" -i "${ED}/${CUDA_PATH}/bin/cuda-gdb" || die "tui_name sed"
- fi
- done
- fi
-
- # remove rdma libs (unless USE=rdma)
- if ! use rdma; then
- rm "${ED}/${CUDA_PATH}/targets/${narch}-linux/lib/libcufile_rdma"* || die "failed to remove rdma files"
- fi
-
- # Add include and lib symlinks
- dosym -r "${CUDA_PATH}/targets/${narch}-linux/include" "${CUDA_PATH}/include"
- dosym -r "${CUDA_PATH}/targets/${narch}-linux/lib" "${CUDA_PATH}/$(get_libdir)"
-
- find "${ED}/${CUDA_PATH}" -empty -delete || die
-
- local ldpathextradirs pathextradirs
-
- use debugger && ldpathextradirs+=":${EPREFIX}${CUDA_PATH}/extras/Debugger/lib64"
- use profiler && ldpathextradirs+=":${EPREFIX}${CUDA_PATH}/extras/CUPTI/lib64"
-
- local revord=$(( 999999 - $(printf "%02d%02d%02d" "$(ver_cut 1)" "$(ver_cut 2)" "$(ver_cut 3)") ))
- newenvd - "99cuda${revord}" <<-EOF
- PATH=${EPREFIX}${CUDA_PATH}/bin${pathextradirs}
- PKG_CONFIG_PATH=${EPREFIX}${CUDA_PATH}/pkgconfig
- LDPATH=${EPREFIX}${CUDA_PATH}/$(get_libdir):${EPREFIX}${CUDA_PATH}/nvvm/lib64${ldpathextradirs}
- EOF
-
- # CUDA prepackages libraries, don't revdep-build on them
- insinto /etc/revdep-rebuild
- newins - "80${PN}${revord}" <<-EOF
- SEARCH_DIRS_MASK="${EPREFIX}${CUDA_PATH}"
- EOF
-
- # https://bugs.gentoo.org/926116
- insinto /etc/sandbox.d
- newins - "80${PN}" <<-EOF
- SANDBOX_PREDICT="/proc/self/task"
- EOF
-
- # TODO drop and replace with runtime detection similar to what python does {{{
- # 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 "${GCC_MAX_VER}" )
-
- sed \
- -e "s:CUDA_SUPPORTED_GCC:${cuda_supported_gcc[*]}:g" \
- "${FILESDIR}"/cuda-config.in > "${ED}/${CUDA_PATH}/bin/cuda-config" || die
- fperms +x "${CUDA_PATH}/bin/cuda-config"
- # }}}
-
- # skip til cudnn has been changed #950207
- # if [[ "${SLOT}" != "${PV}" ]]; then
- # dosym -r "${CUDA_PATH}" "${CUDA_PATH%"-${PV}"}"
- # fi
-
- fowners -R root:root "${CUDA_PATH}"
-}
-
-pkg_postinst_check() {
- # Due to requiring specific compiler versions here, we check more then we have to, for the sake of clarity.
- # tc-getCC defaults to gcc, so clang-major-version is checked using gcc and fails on gcc-profiles. # 959420
- # We therefore force gcc and clang for the check.
-
- if tc-is-gcc || ! use clang; then
- if ver_test "$(CC=gcc gcc-major-version)" -gt "${GCC_MAX_VER}"; then
- ewarn
- ewarn "gcc > ${GCC_MAX_VER} will not work with CUDA"
- ewarn
- ewarn "Append --ccbin= pointing to a gcc bindir to the nvcc compiler flags (NVCCFLAGS)"
- ewarn "or set NVCC_CCBIN to the same bindir."
- ewarn " NVCCFLAGS=\"--ccbin=$(eval echo "${EPREFIX}/usr/*-linux-gnu/gcc-bin/${GCC_MAX_VER}")\""
- ewarn " NVCC_CCBIN=$(eval echo "${EPREFIX}/usr/*-linux-gnu/gcc-bin/${GCC_MAX_VER}")"
- ewarn
- fi
- fi
-
- if tc-is-clang || use clang; then
- if ver_test "$(CC=clang clang-major-version)" -gt "${CLANG_MAX_VER}"; then
- ewarn
- ewarn "clang > ${CLANG_MAX_VER} will not work with CUDA"
- ewarn
- ewarn "Append --ccbin= pointing to a clang bindir to the nvcc compiler flags (NVCCFLAGS)"
- ewarn "or set NVCC_CCBIN to the same bindir."
- ewarn " NVCCFLAGS=\"--ccbin=$(eval echo "${EPREFIX}/usr/lib/llvm/${CLANG_MAX_VER}/bin")\""
- ewarn " NVCC_CCBIN=$(eval echo "${EPREFIX}/usr/lib/llvm/${CLANG_MAX_VER}/bin")"
- ewarn
- fi
- fi
-}
-
-pkg_postinst() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- pkg_postinst_check
- fi
-
- if use profiler; then
- einfo
- einfo "nvidia-drivers restricts access to performance counters."
- einfo "You'll need to run profiling tools (nvprof) "
- 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/opencode-bin/Manifest b/dev-util/opencode-bin/Manifest
index c2a3483e3322..1da0abcbfba8 100644
--- a/dev-util/opencode-bin/Manifest
+++ b/dev-util/opencode-bin/Manifest
@@ -1,8 +1,8 @@
-DIST opencode-bin-1.19.0-amd64.tar.gz 60685698 BLAKE2B 6fcd6017814e2fc3069d2988f049605f233c215fc0e7f92d54cb651b5317fbe1b3e29b4585498101b5feb74b0c0956857a596575392f9ba0ebf7c80a4f62a04a SHA512 8015de5f903475354042554245ea33786b38946fdc4472859014456d9fdc65f778e56663d1c88ffb3d3b9e30dfa0758d1719608b9e36091675c9023debdb23aa
-DIST opencode-bin-1.19.0-arm64.tar.gz 60493623 BLAKE2B c020b2440bfe3371f0e5440e80c9d51718459722cd67e871f971ef2faec7d41f8c6527649b7bc6a5202412ab61864ac95cd05ae3354469b16eae3f7e30a9c71c SHA512 33634f327ae66602e8ebbd8a877acf1dab7e29c8751420b01aba1fef49c2f798a9bbf0595a8d837c5cb0d594dd22b8f056017725f7e659dc17e2ee090ccbbe32
DIST opencode-bin-1.19.1-amd64.tar.gz 60707458 BLAKE2B 96902f60dcd3d053fc489097269a6e2b1d4f1063162b2124d4dec3e11887942d24ba176d0242cfe4b0d17d4c3dafc30dc6dc4562f4c151df8baacb530caed945 SHA512 8efeea654be0d23654aee07a5f9f583e227a71022eac4937f3349da8a3c8e9cdfed749f75bbfa4856c8be89f8bf0ad0b81b9a1555cdbf5b842b362e81c96838b
DIST opencode-bin-1.19.1-arm64.tar.gz 60526393 BLAKE2B fce22f02afd4c3d3b407880e10ef7532a06aa9c8d24d6e23794d72fb038a4df2a648bd31192cef4a13b1e26231c03881e4ed6d4953ef029722f36d8ca2b0a556 SHA512 c5001b78d44e29fb7287bce4451ead88e13a89eea97c5f28c82564ea8228db204508e6cbe67ffb3fc956d3fe88ac2e28b86ad29b7fd8ecfa17f0719343bd0422
-DIST opencode-bin-2.0.29-amd64.tar.gz 98038640 BLAKE2B 32c21e3c62f66c21b655dbc1a353ecc730ebf6a9c4e149f16d86392fe6a31628b791639148bb95f71319ea977e4ab5c2460dc26530b1f362966c1be1c17405fb SHA512 62f0ca81d45567306879d2f6db3350c8eac8dfc9fd6c497074236a62267508b7c4ec24ba362e13ba51a2dd166065ef8ac097e1a22123c0db99d04e79ada16a18
-DIST opencode-bin-2.0.29-arm64.tar.gz 96807431 BLAKE2B 3a5388a436a5533993d44d0984f828981049ecd13b9cf7025d922ff017d8e9821cf882abcec21ede2f938dd6f3ff2ec1b54bbc018713e43f8fdda1b87a1383ee SHA512 12c0a7be9e6530935e9b462840933d3e45d8d0aae48ae80be7933d27626522643329d42767808abadacf0173a7b1af3cf6a1e1639b634690270ff65817386444
+DIST opencode-bin-1.19.3-amd64.tar.gz 60716380 BLAKE2B 8b9ef9adecd2ef830eed8e001ad32831cf5b56d1bcd803a8d7366a71690ab8bac6146ee4f8dc5a3ff8f66bbf954c97cf51afa86de9993c9870eda38b73ebdc15 SHA512 5812db282bdad3af08de6239697f97c12b23fb510d04b16cb1ea38d08725b94462d7d9092d135ddd86277b092e1b6886818ce02949ae9b63781570dd5df9bc30
+DIST opencode-bin-1.19.3-arm64.tar.gz 60519745 BLAKE2B d4e52d4210da36cb1ae6e900ab9ab2b20b3818af00d8daba6a59f08c58e788a444f070d298d17a38f4c64be2cda4c21c5ab0d26d3e0e6cf883554eb455587d07 SHA512 ee932a4a9fed80b68cea7d4e25ea99c35c7ada78afca7db8a19d4698416a98d4ed06bc71178f1e81e0d60ad293f7348433cd199b46784cfe2dd67e062a77d7ee
DIST opencode-bin-2.0.30-amd64.tar.gz 98083095 BLAKE2B e7fa03d46fcedc5fe1acf4b56d6865e2746d1fcf94b83c323f5be682629684c50914bb4a13faa446e979fc537ae9e5f48a591a114d02e242b54b3631d54b115c SHA512 4cba20534b55100ca84655eea904aebe8781e9d54ccbbbb449b336195f01d237eee04ad0b9b4f1b998e7e735625f755458ca11c2ded7cec89f3b4b32b129c1c4
DIST opencode-bin-2.0.30-arm64.tar.gz 96850168 BLAKE2B 5173ac8ee5928519ecbc7eb7848522c91ed3b009c82e26a74b1d1b0f17288bd45c9ddb5f8c29f7935547e40a1822290c48ca26d925186fc9be97180cf5c6b809 SHA512 110cd5038d235a46d831019da82df2ec8ec33949f0e736213cfc026b6bc56ff30afc1b8190766a3dcb030010fcd8409a355189a38de4cfcb340a4a1d6fc100e3
+DIST opencode-bin-2.0.32-amd64.tar.gz 98152394 BLAKE2B 6fae2877ee0cce3323a04fb16cb27ba6785d13b9656e9092f8bd846bbf9807fb77f94e7bda3ee758c4492bacedb5c49d74bfbaaa7948a078b337d9ffd69849d3 SHA512 36b0788a09496fbbc665627a074a951f510c1e1581678003b001bd5b4c4b6a7ce0c49e9e2c412c181bf1457d1c9bf28f6a0e44fcdd32646b03543658727cff39
+DIST opencode-bin-2.0.32-arm64.tar.gz 96915721 BLAKE2B 87db86d27f4b71ff0fce298aca77e9ed05f37efa70f3ff0708d02ac363c4a5c2197301779f917c70705723fd2f2f947f30bbef6f1214c472fafb2c76ef6dffbc SHA512 611e4ed378abbe6a2dfc6d1ff16e3d7a1be19f9baa085377bdff494ec0a1bdfe3b5ba95d8ca08dbec6824974b648fdba74f394310067ed6a9b2a7c87ceb351e7
diff --git a/dev-util/opencode-bin/opencode-bin-1.19.1.ebuild b/dev-util/opencode-bin/opencode-bin-1.19.1.ebuild
index 8b1fe8eee975..1886daf3137e 100644
--- a/dev-util/opencode-bin/opencode-bin-1.19.1.ebuild
+++ b/dev-util/opencode-bin/opencode-bin-1.19.1.ebuild
@@ -18,7 +18,7 @@ SRC_URI="
S="${WORKDIR}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="-* ~amd64 ~arm64"
RESTRICT="mirror strip"
QA_PREBUILT="usr/bin/opencode"
diff --git a/dev-util/opencode-bin/opencode-bin-1.19.0.ebuild b/dev-util/opencode-bin/opencode-bin-1.19.3.ebuild
index 8b1fe8eee975..1886daf3137e 100644
--- a/dev-util/opencode-bin/opencode-bin-1.19.0.ebuild
+++ b/dev-util/opencode-bin/opencode-bin-1.19.3.ebuild
@@ -18,7 +18,7 @@ SRC_URI="
S="${WORKDIR}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="-* ~amd64 ~arm64"
RESTRICT="mirror strip"
QA_PREBUILT="usr/bin/opencode"
diff --git a/dev-util/opencode-bin/opencode-bin-2.0.30.ebuild b/dev-util/opencode-bin/opencode-bin-2.0.30.ebuild
index 84b5fcf3db05..b0dfeaecfd1c 100644
--- a/dev-util/opencode-bin/opencode-bin-2.0.30.ebuild
+++ b/dev-util/opencode-bin/opencode-bin-2.0.30.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
S="${WORKDIR}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="-* ~amd64 ~arm64"
RESTRICT="mirror strip"
QA_PREBUILT="usr/bin/opencode"
diff --git a/dev-util/opencode-bin/opencode-bin-2.0.29.ebuild b/dev-util/opencode-bin/opencode-bin-2.0.32.ebuild
index 84b5fcf3db05..b0dfeaecfd1c 100644
--- a/dev-util/opencode-bin/opencode-bin-2.0.29.ebuild
+++ b/dev-util/opencode-bin/opencode-bin-2.0.32.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
S="${WORKDIR}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="-* ~amd64 ~arm64"
RESTRICT="mirror strip"
QA_PREBUILT="usr/bin/opencode"
diff --git a/dev-util/playwright/Manifest b/dev-util/playwright/Manifest
new file mode 100644
index 000000000000..48a0ccab4ade
--- /dev/null
+++ b/dev-util/playwright/Manifest
@@ -0,0 +1,2 @@
+DIST playwright-1.64.1-deps.tar.xz 67299252 BLAKE2B 80caf9b6d1dfcc052180f1f19b7145b11d74cbc363c90779fbc90650cc7e97d5d9976e418f18c4987a6daa1a966f5f5051983d87274f03db88f18eecefe82646 SHA512 3344e3d9efad9d8e9f2c1f147a90f7fbc8535be62e2f5f16e7316d16967fc1a868f0f8e69ce91ef9d678af0daced4d01371175ed337bd1546d32bdf1e2c30197
+DIST playwright-1.64.1.tar.gz 40641125 BLAKE2B f1ac56828a4166f44f1d9f49c8e49a9c19e76d25dbd1a2372103768e06b06bcd00d7b131b4344467a9442123a076f2476866b7290e881d279f5a50f1782e63dd SHA512 65334e82b5a624844511de8e09f0d3bef535f4b840215249434da756d4bbc3cdb73133513d860c2a72623084106c2f92a684a70342da098fdce9733c4ccca8cb
diff --git a/dev-util/playwright/files/playwright-1.64.1-dont-update-the-test-runner-during-the-build.patch b/dev-util/playwright/files/playwright-1.64.1-dont-update-the-test-runner-during-the-build.patch
new file mode 100644
index 000000000000..bfd5fa961401
--- /dev/null
+++ b/dev-util/playwright/files/playwright-1.64.1-dont-update-the-test-runner-during-the-build.patch
@@ -0,0 +1,25 @@
+From: Pavel Sobolev <contact@paveloom.dev>
+Subject: [PATCH] Don't update the test runner during the build
+
+Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
+
+--- a/utils/build/build.js
++++ b/utils/build/build.js
+@@ -295,17 +295,6 @@ class GroupStep extends Step {
+
+ /** @type {Step[]} */
+ const updateSteps = [];
+-
+-// Update test runner.
+-updateSteps.push(new ProgramStep({
+- command: 'npm',
+- args: ['ci', '--save=false', '--fund=false', '--audit=false'],
+- shell: true,
+- cwd: path.join(__dirname, '..', '..', 'tests', 'playwright-test', 'stable-test-runner'),
+- concurrent: true,
+-}));
+-
+-
+ steps.push(new GroupStep(updateSteps));
+
+ // Build injected icons.
diff --git a/dev-util/playwright/metadata.xml b/dev-util/playwright/metadata.xml
new file mode 100644
index 000000000000..6f2e779f6158
--- /dev/null
+++ b/dev-util/playwright/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <name>Pavel Sobolev</name>
+ <email>contact@paveloom.dev</email>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/microsoft/playwright/issues</bugs-to>
+ </upstream>
+ <origin>srcux</origin>
+</pkgmetadata>
diff --git a/dev-util/playwright/playwright-1.64.1.ebuild b/dev-util/playwright/playwright-1.64.1.ebuild
new file mode 100644
index 000000000000..36550a208cac
--- /dev/null
+++ b/dev-util/playwright/playwright-1.64.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A framework for Web Testing and Automation"
+HOMEPAGE="https://github.com/microsoft/playwright"
+SRC_URI="
+ https://github.com/microsoft/playwright/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ https://gitlab.com/api/v4/projects/69517529/packages/generic/${PN}/${PV}/${P}-deps.tar.xz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ net-libs/nodejs
+"
+BDEPEND="
+ net-libs/nodejs[npm]
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.64.1-dont-update-the-test-runner-during-the-build.patch"
+)
+
+src_compile() {
+ npm run build || die
+}
+
+src_install() {
+ insinto "/usr/$(get_libdir)/node_modules/${PN}"
+ dosym -r "$_/cli.js" /usr/bin/playwright
+ doins -r packages/playwright-core/*
+ fperms +x /usr/bin/playwright
+}
diff --git a/dev-util/premake/metadata.xml b/dev-util/premake/metadata.xml
index 7855d60d3eb8..5e86222e415f 100644
--- a/dev-util/premake/metadata.xml
+++ b/dev-util/premake/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>titanofold@gentoo.org</email>
- <name>Aaron W. Swenson</name>
- </maintainer>
<longdescription lang="en">
Describe your software project just once, using Premake's simple and
easy to read syntax, and build it everywhere. Generate project files
diff --git a/dev-util/rocminfo/Manifest b/dev-util/rocminfo/Manifest
index 4b18274170a7..be8ff524065f 100644
--- a/dev-util/rocminfo/Manifest
+++ b/dev-util/rocminfo/Manifest
@@ -1,3 +1,4 @@
+DIST rocminfo-10.1.0.tar.gz 33027 BLAKE2B f4b417aa31f715581279a34c4d7662532d06ed54e431b8a355a620e5c2fda8b5cb5459bfb0399f3f65cae99030859627923bb26d36a76f82b09fac7629325d61 SHA512 d108e4d5397987e3bc03bbda254ae44414c08a784886cf6ea71405ae69aaf41891c3b56ed1f333d23c879ef0148f69839c0dbc64542b9a0c30118dc77c0c668e
DIST rocminfo-6.3.3.tar.gz 27221 BLAKE2B bcdb16a7087cdb321044bea6baca013b8592eb99a7a91ffdae3f7150d21c1ff804cb6620eadf6ec9ee2fd5d3d0c9205d731c36fc671f10582b79a0b7bca307e9 SHA512 29c05366833f93ca43b7bf661205c3c427c33425bfbea972648e011eca316fb8fb60c2fdc80e44959ef845a9ff04ed658225c88d83c1440c750f2967d79ca5c7
DIST rocminfo-6.4.3.tar.gz 27947 BLAKE2B 8010179996b3b625dcdbb7441eeb85253ae3f72eaefb3ec507704ed8b131a7dc2ddcff5d162da0c73d23ba062fa9c776695ebf3cada880df5a287a69de2b5415 SHA512 2e7a7a4499614feeb0aaa3833662b6c391b7ea694db8887669408136d4dab66e546758b8ccdc8e8df6c4afc2fed0688716414d207208562ddac1731883304067
DIST rocminfo-7.0.2.tar.gz 28047 BLAKE2B 875429619cc48e2d917154136b521286fc713b7e98605f2ec129016b38bc3ebeea48d4f7406ac674dfe99c5476c92ee2db224cac2f4e1646c3826ec517f489ae SHA512 96223280451708e5b1d588ca5369cfd535e4b85166c286ed90c7dde0fe6be69cfbf846965f5f18fd79dbdbe94ff105f6e3d0c2ab6d95db0ed479419111e0c773
diff --git a/dev-util/rocminfo/rocminfo-10.1.0.ebuild b/dev-util/rocminfo/rocminfo-10.1.0.ebuild
new file mode 100644
index 000000000000..d1a63e76a0d4
--- /dev/null
+++ b/dev-util/rocminfo/rocminfo-10.1.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+inherit cmake python-r1
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/ROCm/rocminfo/"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/ROCm/rocm-systems/releases/download/therock-${PV%.0}/${PN}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/${PN}"
+fi
+
+DESCRIPTION="ROCm Application for Reporting System Info"
+HOMEPAGE="https://github.com/ROCm/rocm-systems/tree/develop/projects/rocminfo"
+LICENSE="UoI-NCSA"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND="dev-libs/rocr-runtime:${SLOT}
+ ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+src_prepare() {
+ sed -e "/CPACK_RESOURCE_FILE_LICENSE/d" -i CMakeLists.txt || die
+ sed -e "/num_change_since_prev_pkg(/cset(NUM_COMMITS 0)" \
+ -i cmake_modules/utils.cmake || die # Fix QA issue on "git not found"
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=( -DROCRTST_BLD_TYPE=Release )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ rm "${ED}/usr/bin/rocm_agent_enumerator" || die
+ python_foreach_impl python_doexe rocm_agent_enumerator "${BUILD_DIR}"/rocm_agent_enumerator
+}
diff --git a/dev-util/roctracer/Manifest b/dev-util/roctracer/Manifest
index 67cae0030eeb..6b66936c7754 100644
--- a/dev-util/roctracer/Manifest
+++ b/dev-util/roctracer/Manifest
@@ -1,3 +1,4 @@
+DIST roctracer-10.1.0.tar.gz 380796 BLAKE2B f7a08d5a97d343d52a90c63718dc87c83a890da9e9846f11188b72959baa4b9c4bd2b0e18aaf772138e23d9401d165021859dc205afa2dbc4fcd1b7c546ee800 SHA512 d8505783dae5b9b57b05a840b8215bb3512671ff4020fc2b98972b2e94a92a2f6625a9f83e7d3eaf6a0f4da6a82c5485282f6a13cad13c68160be19603194848
DIST roctracer-6.3.3.tar.gz 397370 BLAKE2B dff4c796b7284c2107ef0d308ee16d640aab6e9ce49c769a84352837f3e29e24e09e71d5a1d1fe19d22d218e607e85f7fbe6b43ff1a0a1f6e04aa859baefd054 SHA512 50ee107b7c8676dd5d41d2b9433fce701807b954b3d6624c25c32d057bd3a50ad2c7f853cb287c7bb5dd1f5fe2c3b0ec4a7cb082d5ef545c17f2ae2644c1df7c
DIST roctracer-6.4.3.tar.gz 398024 BLAKE2B bde34efb9640af84ae044a6fd507cdb1722e2f2f0610a7c1db176184c431af29f371a5d049eaa7cff5bb80e2f5db85430257d83527c11f5fde86f5f6b9442251 SHA512 c929786e2fbc34082d6d99c1f68e2ffd0eef1f9be31a6ccb385e50ec5059069b9d364f7a90301f184c966c01f9dfbd6cc6c1a4e8f5065c25d5f4d7673e42aad0
DIST roctracer-7.0.2.tar.gz 396833 BLAKE2B 96160adad5c472b3f581fd3ce58893473f2e98a27748101902351702337e2be5ce79172939a8039af286a164350fe6fad3eb92c9615fa4b39ec6187601d008dc SHA512 1ce20c747c26068a855122dabdfbfc401bb3137939459268b1dfe866adf7c6403439ef8f051586cb85655b49ebb09541c90ce8626c5d10f0b654c1c001266477
diff --git a/dev-util/roctracer/files/roctracer-10.1.0-libcxx.patch b/dev-util/roctracer/files/roctracer-10.1.0-libcxx.patch
new file mode 100644
index 000000000000..5d3d2637c5f3
--- /dev/null
+++ b/dev-util/roctracer/files/roctracer-10.1.0-libcxx.patch
@@ -0,0 +1,33 @@
+Fix build with libc++
+
+libc++ does not include <functional> and <stdlib.h> transitively.
+--- a/src/roctracer/memory_pool.h
++++ b/src/roctracer/memory_pool.h
+@@ -28,6 +28,7 @@
+ #include <cstdlib>
+ #include <cstddef>
+ #include <cstring>
++#include <functional>
+ #include <future>
+ #include <mutex>
+ #include <type_traits>
+--- a/src/roctracer/roctracer.cpp
++++ b/src/roctracer/roctracer.cpp
+@@ -32,6 +32,7 @@
+ #include <unistd.h>
+
+ #include <atomic>
++#include <functional>
+ #include <mutex>
+ #include <stack>
+ #include <type_traits>
+--- a/test/hsa/copy.cpp
++++ b/test/hsa/copy.cpp
+@@ -24,6 +24,7 @@
+
+ #include <fcntl.h>
+ #include <assert.h>
++#include <stdlib.h>
+ #include <stdio.h>
+ #include <string.h>
+ #include <unistd.h>
diff --git a/dev-util/roctracer/files/roctracer-10.1.0-test-skip-npu.patch b/dev-util/roctracer/files/roctracer-10.1.0-test-skip-npu.patch
new file mode 100644
index 000000000000..f4d1ba6914d3
--- /dev/null
+++ b/dev-util/roctracer/files/roctracer-10.1.0-test-skip-npu.patch
@@ -0,0 +1,14 @@
+Only use CPU and GPU agents in the HSA copy test
+
+AIE (NPU) agents are listed by HSA on Strix systems with amdxdna;
+hsa_amd_agents_allow_access fails for them.
+--- a/test/hsa/copy.cpp
++++ b/test/hsa/copy.cpp
+@@ -154,6 +154,7 @@ bool DeviceDiscovery() {
+ hsa_device_type_t type;
+ err = hsa_agent_get_info(agent, HSA_AGENT_INFO_DEVICE, &type);
+ CHECK(err);
++ if (type != HSA_DEVICE_TYPE_CPU && type != HSA_DEVICE_TYPE_GPU) return HSA_STATUS_SUCCESS;
+
+ err = hsa_amd_agent_iterate_memory_pools(
+ agent,
diff --git a/dev-util/roctracer/roctracer-10.1.0.ebuild b/dev-util/roctracer/roctracer-10.1.0.ebuild
new file mode 100644
index 000000000000..b9a25c4f2ffa
--- /dev/null
+++ b/dev-util/roctracer/roctracer-10.1.0.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+ROCM_VERSION=${PV}
+
+inherit cmake flag-o-matic prefix python-any-r1 rocm toolchain-funcs
+
+DESCRIPTION="Callback/Activity Library for Performance tracing AMD GPU's"
+HOMEPAGE="https://github.com/ROCm/rocm-systems/tree/develop/projects/roctracer"
+SRC_URI="https://github.com/ROCm/rocm-systems/releases/download/therock-${PV%.0}/${PN}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/rocr-runtime:${SLOT}
+ dev-libs/rocm-comgr:${SLOT}
+"
+DEPEND="
+ ${RDEPEND}
+ dev-util/hip:${SLOT}
+"
+BDEPEND="
+ $(python_gen_any_dep "
+ dev-python/cppheaderparser[\${PYTHON_USEDEP}]
+ dev-python/ply[\${PYTHON_USEDEP}]
+ ")
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.7.1-with-tests.patch"
+ "${FILESDIR}/${PN}-7.0.1-fix-matrixtranspose-test.patch"
+ "${FILESDIR}/${PN}-10.1.0-test-skip-npu.patch"
+ "${FILESDIR}/${PN}-10.1.0-libcxx.patch"
+)
+
+python_check_deps() {
+ python_has_version "dev-python/cppheaderparser[${PYTHON_USEDEP}]" \
+ "dev-python/ply[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ hprefixify script/*.py
+
+ # Install libs directly into /usr/lib64
+ sed -e "s:\${CMAKE_INSTALL_LIBDIR}/\${PROJECT_NAME}:\${CMAKE_INSTALL_LIBDIR}:g" \
+ -i src/CMakeLists.txt plugin/file/CMakeLists.txt || die
+
+ # Remove all install commands for tests
+ sed -E '/^ *install\(.+/d' -i test/CMakeLists.txt || die
+
+ # Test fails: https://github.com/ROCm/roctracer/issues/109
+ sed '/load_unload_reload_test/d' -i test/run.sh || die
+
+ # Fix search path for HIP cmake
+ sed -e "s,\${ROCM_PATH}/lib/cmake,/usr/$(get_libdir)/cmake,g" -i test/CMakeLists.txt || die
+
+ # bug #892732
+ sed -e 's/-Werror//' -i CMakeLists.txt || die
+
+ # libc++ has no experimental/filesystem
+ sed -e 's|experimental/||' -e 's|experimental::||' \
+ -i plugin/file/file.cpp src/hip_stats/hip_stats.cpp \
+ src/roctracer/loader.h src/tracer_tool/tracer_tool.cpp || die
+
+ # Use clang set by rocm_use_clang instead of any clang
+ sed -e "s/COMMAND clang/COMMAND \${CMAKE_CXX_COMPILER}/" \
+ -e "s/DEPENDS \${INPUT_FILE} clang/DEPENDS \${INPUT_FILE}/" \
+ -i test/CMakeLists.txt || die
+
+ sed -e "s/COMPONENT asan/COMPONENT asan EXCLUDE_FROM_ALL/" \
+ -i CMakeLists.txt src/CMakeLists.txt plugin/file/CMakeLists.txt || die
+}
+
+src_configure() {
+ rocm_use_clang
+
+ # upstream release builds have assertions disabled; Finalize() asserts on
+ # hsa_amd_profiling_async_copy_enable, which fails during HSA shutdown
+ append-cppflags -DNDEBUG
+
+ if [[ $(tc-get-cxx-stdlib) == "libc++" ]] ; then
+ # https://releases.llvm.org/9.0.0/projects/libcxx/docs/UsingLibcxx.html#using-filesystem
+ append-libs "-lc++fs"
+ fi
+
+ local mycmakeargs=(
+ -DCMAKE_MODULE_PATH="${EPREFIX}/usr/$(get_libdir)/cmake/hip"
+ -DWITH_TESTS=$(usex test)
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+ use test && mycmakeargs+=(
+ -DHIP_ROOT_DIR="${EPREFIX}/usr"
+ -DGPU_TARGETS="$(get_amdgpu_flags)"
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ cd "${BUILD_DIR}" || die
+ # if LD_LIBRARY_PATH not set, dlopen cannot find correct lib
+ LD_LIBRARY_PATH="${EPREFIX}/usr/$(get_libdir):${LD_LIBRARY_PATH}" bash run.sh || die
+}
diff --git a/dev-util/spirv-llvm-translator/files/spirv-llvm-translator-21.1.3-fix-DecorateUniformId.spvasm.patch b/dev-util/spirv-llvm-translator/files/spirv-llvm-translator-21.1.3-fix-DecorateUniformId.spvasm.patch
deleted file mode 100644
index 2bfa38fc31d8..000000000000
--- a/dev-util/spirv-llvm-translator/files/spirv-llvm-translator-21.1.3-fix-DecorateUniformId.spvasm.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From fc5873ee760c333738c9e8e8d8c2eb906f0c40f5 Mon Sep 17 00:00:00 2001
-From: Ben Ashbaugh <ben.ashbaugh@intel.com>
-Date: Fri, 8 Aug 2025 08:56:05 -0700
-Subject: [PATCH] fixes a new validation failure in a UniformId test (#3301)
-
-A recent spirv-val change requires that OpDecorateId IDs are
-well-ordered, which means that the decoration operand ID cannot be the
-same as the decoration target ID. See:
-https://github.com/KhronosGroup/SPIRV-Tools/pull/6227
-
-This leads to the failure:
-
-```
-error: line 6: Parameter <ID> '2[%uint_0]' must appear earlier in the binary than the target
- OpDecorateId %uint_0 UniformId %uint_0
-```
-
-The fix is to use a different ID for the decoration operand and the
-decoration target.
----
- test/DecorateUniformId.spvasm | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git ./test/DecorateUniformId.spvasm ./test/DecorateUniformId.spvasm
-index b50c6b50..d22bf6bd 100644
---- ./test/DecorateUniformId.spvasm
-+++ ./test/DecorateUniformId.spvasm
-@@ -15,9 +15,10 @@
- OpCapability UniformDecoration
- OpMemoryModel Physical64 OpenCL
- OpEntryPoint Kernel %2 "test"
-- OpDecorateId %uint_0 UniformId %uint_0
-+ OpDecorateId %tgt_uint_0 UniformId %op_uint_0
- %uint = OpTypeInt 32 0
-- %uint_0 = OpConstant %uint 0
-+ %op_uint_0 = OpConstant %uint 0
-+ %tgt_uint_0 = OpConstant %uint 0
- %void = OpTypeVoid
- %1 = OpTypeFunction %void
- %2 = OpFunction %void None %1
---
-2.51.2
-
diff --git a/dev-util/tinyxxd/Manifest b/dev-util/tinyxxd/Manifest
index 5792ec3b8907..824e5e4f5011 100644
--- a/dev-util/tinyxxd/Manifest
+++ b/dev-util/tinyxxd/Manifest
@@ -1 +1,2 @@
DIST tinyxxd-1.3.16.tar.gz 47760 BLAKE2B 2e70bcc6d788ebbb499ce8ccaf5ae6666d89ebfb14369c7ea0cf1c8979db37a4f1ba995cc274276a10a0e7828a073d5ebf173fff4f3e5089ef0db5fa2d349c53 SHA512 61d14723914c0190311c3217deda99e734e5d4707e3170ac181f2ef05a24385cd933bd2e2a4117e06cf49a0a126839d7a138efad8f361a7a525c269b62c7350f
+DIST tinyxxd-1.3.17.tar.gz 49197 BLAKE2B 897619a5ac9f5771684d17f4101a18bbd6574a4f37ab46e12e112cd6c3d7e25f4adf94705504a3a35b762ea409bba07129997011d3b286efda29362ed9f69de6 SHA512 8b1b7265d4333e17f4216076b858c5b010495061a1bd615146f99d1c1363ca8674020756220c0cb9ebad503b878a1d34e562b7ba96697b34385d8af8cb7ae518
diff --git a/dev-util/tinyxxd/files/tinyxxd-1.3.17-default-fixes.patch b/dev-util/tinyxxd/files/tinyxxd-1.3.17-default-fixes.patch
new file mode 100644
index 000000000000..c6cbac6b6f35
--- /dev/null
+++ b/dev-util/tinyxxd/files/tinyxxd-1.3.17-default-fixes.patch
@@ -0,0 +1,113 @@
+commit 17c86fd5c241892ad514e5f291e1716e42109c19
+Author: ingenarel (NeoJesus) <ingenarel_neojesus@disroot.org>
+Date: Mon Oct 19 07:55:22 2026 +0600
+
+ DEFAULT PATCHES
+
+ Signed-off-by: ingenarel (NeoJesus) <ingenarel_neojesus@disroot.org>
+
+diff --git a/Makefile b/Makefile
+index 8ba7bd0..7ca4879 100644
+--- a/Makefile
++++ b/Makefile
+@@ -2,16 +2,7 @@
+
+ OPTFLAGS ?= -O2 -finline-functions
+ WARNFLAGS ?= -Wall -Wextra -Wpedantic -Wshadow -Werror -Wfatal-errors -Wconversion -Wsign-conversion -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations
+-CFLAGS ?= -std=c99 -pipe -fPIC $(OPTFLAGS) $(WARNFLAGS)
+-
+-UNAME_S := $(shell uname -s)
+-ifeq ($(UNAME_S),Darwin)
+- CFLAGS += -fstack-protector-strong -D_GNU_SOURCE
+-else ifeq ($(OS),Windows_NT)
+- CFLAGS += -D_WIN32 -s
+-else
+- CFLAGS += -fstack-protector-strong -D_GNU_SOURCE -fno-plt -Wl,-z,now -D_FORTIFY_SOURCE=3
+-endif
++CFLAGS += -std=c11 -D_GNU_SOURCE -D_FORTIFY_SOURCE=3
+
+ PREFIX ?= /usr
+ BINDIR ?= $(PREFIX)/bin
+@@ -23,13 +14,10 @@ RELEASE_TARBALL := $(RELEASE_DIR).tar.gz
+ RELEASE_FILES := main.c Makefile COPYING README.md
+
+ tinyxxd: main.c
+- $(CC) $(CFLAGS) -o $@ $<
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $<
+
+ tinyxxd_debug: main.c
+- $(CC) $(CFLAGS) -g -o $@ $<
+-
+-tinyxxd_asan: main.c
+- $(CC) $(CFLAGS) -g -fsanitize=address,undefined -o $@ $<
++ $(CC) $(CFLAGS) $(LDFLAGS) -g -o $@ $<
+
+ profile: tinyxxd_debug
+ dd if=/dev/random of=sample.bin bs=1M count=1
+@@ -48,7 +36,7 @@ benchfull:
+ fmt: main.c
+ clang-format -style=WebKit -i main.c
+
+-test: xxd tinyxxd_asan
++test:
+ @echo 'Preparing tests...'
+ @echo -n 'This is a test file' > sample.bin
+ @printf '\x00\x09\x0a\x0d\x20\x41\x7e\x7f\x80\xff' > colorbytes.bin
+@@ -92,8 +80,8 @@ test: xxd tinyxxd_asan
+
+ run_test:
+ @echo "Running test: $(DESC)"
+- @./tinyxxd_asan $(CMD) > tinyxxd_output.txt
+- @./xxd $(CMD) > xxd_output.txt
++ @./tinyxxd $(CMD) > tinyxxd_output.txt
++ @xxd $(CMD) > xxd_output.txt
+ @if diff -q tinyxxd_output.txt xxd_output.txt > /dev/null; then \
+ echo 'Test passed'; \
+ else \
+@@ -103,8 +91,8 @@ run_test:
+
+ verify_conversion_test:
+ @echo "Running conversion and verification test..."
+- @./tinyxxd_asan sample.bin > sample_tinyxxd.bin
+- @./tinyxxd_asan -r sample_tinyxxd.bin > sample_restored.bin
++ @./tinyxxd sample.bin > sample_tinyxxd.bin
++ @./tinyxxd -r sample_tinyxxd.bin > sample_restored.bin
+ @if diff -q sample.bin sample_restored.bin > /dev/null; then \
+ echo -e "\033[0;32mConversion and verification test passed\033[0m"; \
+ else \
+@@ -116,7 +104,7 @@ verify_conversion_test:
+ test_revert_crlf:
+ @echo "Running test: Revert hex dump with CRLF line endings"
+ @printf "00000000: 3132 3334\r\n00000004: 3536 3738\r\n" > repro_crlf.hex
+- @./tinyxxd_asan -r repro_crlf.hex > repro_crlf.bin
++ @./tinyxxd -r repro_crlf.hex > repro_crlf.bin
+ @printf "12345678" > expected_crlf.bin
+ @if diff -q repro_crlf.bin expected_crlf.bin > /dev/null; then \
+ echo 'Test passed'; \
+@@ -129,7 +117,7 @@ test_revert_crlf:
+ test_le_padding:
+ @echo "Running test: Little-endian hex dump with padding"
+ @printf "ABCDEFG" > 7.bin
+- @./tinyxxd_asan -e -c 8 7.bin > le_padding_output.txt
++ @./tinyxxd -e -c 8 7.bin > le_padding_output.txt
+ @printf "00000000: 44434241 474645 ABCDEFG\n" > le_padding_expected.txt
+ @if diff -q le_padding_output.txt le_padding_expected.txt > /dev/null; then \
+ echo 'Test passed'; \
+@@ -142,7 +130,7 @@ test_le_padding:
+
+ test_help_stdout:
+ @echo "Running test: -h outputs to stdout"
+- @if ./tinyxxd_asan -h 2>/dev/null | grep -q 'Usage'; then \
++ @if ./tinyxxd -h 2>/dev/null | grep -q 'Usage'; then \
+ echo 'Test passed'; \
+ else \
+ echo 'Test failed: -h should write to stdout'; \
+@@ -151,7 +139,7 @@ test_help_stdout:
+
+ test_error_stderr:
+ @echo "Running test: bad option outputs to stderr"
+- @if ./tinyxxd_asan -Z 2>&1 >/dev/null | grep -q 'Usage'; then \
++ @if ./tinyxxd -Z 2>&1 >/dev/null | grep -q 'Usage'; then \
+ echo 'Test passed'; \
+ else \
+ echo 'Test failed: bad option should write to stderr'; \
diff --git a/dev-util/tinyxxd/files/tinyxxd-da64dbf542cc27ba614e45fcaf82955fa4643d16-default-fixes.patch b/dev-util/tinyxxd/files/tinyxxd-da64dbf542cc27ba614e45fcaf82955fa4643d16-default-fixes.patch
new file mode 100644
index 000000000000..0362e94369d5
--- /dev/null
+++ b/dev-util/tinyxxd/files/tinyxxd-da64dbf542cc27ba614e45fcaf82955fa4643d16-default-fixes.patch
@@ -0,0 +1,113 @@
+commit db24ab85688e37a00ed4edfd60b8a606d1f4cd98
+Author: ingenarel (NeoJesus) <ingenarel_neojesus@disroot.org>
+Date: Mon Oct 19 08:56:24 2026 +0600
+
+ DEFAULT PATCHES
+
+ Signed-off-by: ingenarel (NeoJesus) <ingenarel_neojesus@disroot.org>
+
+diff --git a/Makefile b/Makefile
+index 29759f0..0b2f1f3 100644
+--- a/Makefile
++++ b/Makefile
+@@ -2,16 +2,7 @@
+
+ OPTFLAGS ?= -O2 -finline-functions
+ WARNFLAGS ?= -Wall -Wextra -Wpedantic -Wshadow -Werror -Wfatal-errors -Wconversion -Wsign-conversion -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wno-c11-extensions
+-CFLAGS ?= -std=c99 -pipe -fPIC $(OPTFLAGS) $(WARNFLAGS)
+-
+-UNAME_S := $(shell uname -s)
+-ifeq ($(UNAME_S),Darwin)
+- CFLAGS += -fstack-protector-strong -D_GNU_SOURCE
+-else ifeq ($(OS),Windows_NT)
+- CFLAGS += -D_WIN32 -s
+-else
+- CFLAGS += -fstack-protector-strong -D_GNU_SOURCE -fno-plt -Wl,-z,now -D_FORTIFY_SOURCE=3
+-endif
++CFLAGS += -std=c11 -D_GNU_SOURCE -D_FORTIFY_SOURCE=3
+
+ PREFIX ?= /usr
+ BINDIR ?= $(PREFIX)/bin
+@@ -26,13 +17,10 @@ ZIG ?= zig
+ CROSS_CFLAGS := -std=c99 $(OPTFLAGS) $(WARNFLAGS) -fstack-protector-strong
+
+ tinyxxd: main.c
+- $(CC) $(CFLAGS) -o $@ $<
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $<
+
+ tinyxxd_debug: main.c
+- $(CC) $(CFLAGS) -g -o $@ $<
+-
+-tinyxxd_asan: main.c
+- $(CC) $(CFLAGS) -g -fsanitize=address,undefined -o $@ $<
++ $(CC) $(CFLAGS) $(LDFLAGS) -g -o $@ $<
+
+ win64: main.c
+ $(ZIG) cc -target x86_64-windows-gnu $(CROSS_CFLAGS) -D_WIN32 -o tinyxxd.exe $<
+@@ -57,7 +45,7 @@ benchfull:
+ fmt: main.c
+ clang-format -style=WebKit -i main.c
+
+-test: xxd tinyxxd_asan
++test:
+ @echo 'Preparing tests...'
+ @echo -n 'This is a test file' > sample.bin
+ @printf '\x00\x09\x0a\x0d\x20\x41\x7e\x7f\x80\xff' > colorbytes.bin
+@@ -101,8 +89,8 @@ test: xxd tinyxxd_asan
+
+ run_test:
+ @echo "Running test: $(DESC)"
+- @./tinyxxd_asan $(CMD) > tinyxxd_output.txt
+- @./xxd $(CMD) > xxd_output.txt
++ @./tinyxxd $(CMD) > tinyxxd_output.txt
++ @xxd $(CMD) > xxd_output.txt
+ @if diff -q tinyxxd_output.txt xxd_output.txt > /dev/null; then \
+ echo 'Test passed'; \
+ else \
+@@ -112,8 +100,8 @@ run_test:
+
+ verify_conversion_test:
+ @echo "Running conversion and verification test..."
+- @./tinyxxd_asan sample.bin > sample_tinyxxd.bin
+- @./tinyxxd_asan -r sample_tinyxxd.bin > sample_restored.bin
++ @./tinyxxd sample.bin > sample_tinyxxd.bin
++ @./tinyxxd -r sample_tinyxxd.bin > sample_restored.bin
+ @if diff -q sample.bin sample_restored.bin > /dev/null; then \
+ echo -e "\033[0;32mConversion and verification test passed\033[0m"; \
+ else \
+@@ -125,7 +113,7 @@ verify_conversion_test:
+ test_revert_crlf:
+ @echo "Running test: Revert hex dump with CRLF line endings"
+ @printf "00000000: 3132 3334\r\n00000004: 3536 3738\r\n" > repro_crlf.hex
+- @./tinyxxd_asan -r repro_crlf.hex > repro_crlf.bin
++ @./tinyxxd -r repro_crlf.hex > repro_crlf.bin
+ @printf "12345678" > expected_crlf.bin
+ @if diff -q repro_crlf.bin expected_crlf.bin > /dev/null; then \
+ echo 'Test passed'; \
+@@ -138,7 +126,7 @@ test_revert_crlf:
+ test_le_padding:
+ @echo "Running test: Little-endian hex dump with padding"
+ @printf "ABCDEFG" > 7.bin
+- @./tinyxxd_asan -e -c 8 7.bin > le_padding_output.txt
++ @./tinyxxd -e -c 8 7.bin > le_padding_output.txt
+ @printf "00000000: 44434241 474645 ABCDEFG\n" > le_padding_expected.txt
+ @if diff -q le_padding_output.txt le_padding_expected.txt > /dev/null; then \
+ echo 'Test passed'; \
+@@ -151,7 +139,7 @@ test_le_padding:
+
+ test_help_stdout:
+ @echo "Running test: -h outputs to stdout"
+- @if ./tinyxxd_asan -h 2>/dev/null | grep -q 'Usage'; then \
++ @if ./tinyxxd -h 2>/dev/null | grep -q 'Usage'; then \
+ echo 'Test passed'; \
+ else \
+ echo 'Test failed: -h should write to stdout'; \
+@@ -160,7 +148,7 @@ test_help_stdout:
+
+ test_error_stderr:
+ @echo "Running test: bad option outputs to stderr"
+- @if ./tinyxxd_asan -Z 2>&1 >/dev/null | grep -q 'Usage'; then \
++ @if ./tinyxxd -Z 2>&1 >/dev/null | grep -q 'Usage'; then \
+ echo 'Test passed'; \
+ else \
+ echo 'Test failed: bad option should write to stderr'; \
diff --git a/dev-util/tinyxxd/tinyxxd-1.3.17.ebuild b/dev-util/tinyxxd/tinyxxd-1.3.17.ebuild
new file mode 100644
index 000000000000..31394ca8dc1c
--- /dev/null
+++ b/dev-util/tinyxxd/tinyxxd-1.3.17.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=9
+
+inherit toolchain-funcs
+
+DESCRIPTION="Drop-in replacement and standalone version of xxd"
+HOMEPAGE="https://github.com/xyproto/tinyxxd"
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/xyproto/tinyxxd.git"
+else
+ SRC_URI="https://github.com/xyproto/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="|| ( GPL-2 MIT )"
+
+SLOT="0"
+
+IUSE="xxd test"
+REQUIRED_USE="test? ( !xxd )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ xxd? (
+ !dev-util/xxd
+ )
+ test? ( dev-util/xxd )
+"
+
+PATCHES=( "${FILESDIR}/${PN}-1.3.17-default-fixes.patch" )
+
+# until https://codeberg.org/gentoo/gentoo/pulls/435 or something that updates xxd on ::gentoo
+PATCHES+=( "${FILESDIR}/${PN}-123a24e1-until-gentoo-codeberg-435.patch" )
+
+src_compile() {
+ export CFLAGS LDFLAGS
+ tc-export CC
+ emake
+}
+
+src_install(){
+ emake DESTDIR="${D}" PREFIX="${EPREFIX}"/usr install
+ if use xxd; then
+ dosym -r /usr/bin/tinyxxd /usr/bin/xxd
+ fi
+}
diff --git a/dev-util/tinyxxd/tinyxxd-9999.ebuild b/dev-util/tinyxxd/tinyxxd-9999.ebuild
index 43c1eb1ca793..969822cff7d1 100644
--- a/dev-util/tinyxxd/tinyxxd-9999.ebuild
+++ b/dev-util/tinyxxd/tinyxxd-9999.ebuild
@@ -30,7 +30,7 @@ RDEPEND="
test? ( dev-util/xxd )
"
-PATCHES=( "${FILESDIR}/${PN}-123a24e1-default-fixes.patch" )
+PATCHES=( "${FILESDIR}/${PN}-da64dbf542cc27ba614e45fcaf82955fa4643d16-default-fixes.patch" )
# until https://codeberg.org/gentoo/gentoo/pulls/435 or something that updates xxd on ::gentoo
PATCHES+=( "${FILESDIR}/${PN}-123a24e1-until-gentoo-codeberg-435.patch" )
diff --git a/dev-util/tokei/Manifest b/dev-util/tokei/Manifest
index 7df953394d63..52e5c9f8ce4a 100644
--- a/dev-util/tokei/Manifest
+++ b/dev-util/tokei/Manifest
@@ -113,6 +113,7 @@ DIST grep-searcher-0.1.7.crate 44320 BLAKE2B 1876e0523c99c6ed7c85f3291af76063677
DIST half-1.6.0.crate 36740 BLAKE2B 712af6d7dacca729e3063c5aa56211f5539f47deb61de466969a4ebfbc4c2eb8e179ca29c4d466e9188c877a3415a25dd70719b2e65106e4d8f56c3422e647f5 SHA512 52a459a793c43d66dbc79eb517b1cb63313b009aa8ce64c0ba09c4e49d4abe51ab1085f1f28421dfb78d3f83eecce7113dd50b6bac8a58259fbda4a5529b2ec2
DIST half-1.8.3.crate 41624 BLAKE2B 101550482bacf9762d850234daa49917510e0061cc8b729c0da434d5530bca88d694850ad5865cbdf47434383ad5d68abfa768610a50878deff9ac84ab0d28ba SHA512 9ba1341edc6aa1c2edebd77ac76cc95851d3387e189a8d5a66dfc0974e79ba8610af8463c2bcee38d4dc96f82316ed7041ca31ccda8863de5a90b4f85f3a529a
DIST hashbrown-0.14.5.crate 141498 BLAKE2B 7d7f31b6377c901de12f78f0004a347e3e3b948b1336a54b6abd8dd2210db0ac415efcdded421a00723f16563a7b833b5d1db3cad5c12cac916e273bf3e588b3 SHA512 215ea860bd3de80e2dd2d4647c9dd31c0ac895ea7c08b87256dc11d36407e412ffefaebc6cdbec024057dd4f24b3762b4fe427be307e15d1e68ccfde89a99742
+DIST hashbrown-0.17.0.crate 154597 BLAKE2B 1fd03ebd3df85e88abbc498ae8166d3d15f3196c52ce17cd29751be5aaca18d62629b96c1a4fd431e8b38c313e4aefbf78dedbf65bc202d9e4e69dbc1b03f780 SHA512 248f5333b23cb83fd8e439a17df85d0f5bea6dadb0e7cf2cd2d3bd0049494c125ea4fdf74ce2623884d2a3884d444689a0a7cfc9b52ad3d8de40f7498c56ef06
DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
DIST hermit-abi-0.1.14.crate 9556 BLAKE2B 03b27536c3a8ce98d26321439ea6d0b14785fa4dc1666f2bfc6142f4f79d003393aae4fa0e351f6eb3cee6719bdf14e32fc6e07f5aa6f75916cdd20d3c1f5be4 SHA512 a3b5eb8462f47d9a0d7342d45ded3c22578cc19bca05ea0856daf04f263d88b0ca1a4f4c1daec14708282dbc39efcc11e100a3a7fc2bdfa73522ce5575ee7b8d
DIST hex-0.4.2.crate 13385 BLAKE2B fb185e0888736515b8c1c4c00f831f1a4a7b2a04bc0262c80bb2425563b3ca8059fadeff8660ad738bcbb522d432dde98ed6b14aa1fb8c03cdcfec6ae282a55b SHA512 b37504fa6e41caa77c924b24893a7b505330aa8c39501b3ac283fbdffa9af2b89ccb9ae004ff415af1c813fb3da222dba62f17bb3b6210a259661e2312d099a5
@@ -128,6 +129,7 @@ DIST idna-0.2.0.crate 257203 BLAKE2B d26117124891f90b5e36af291c9038e2f4d46402c41
DIST idna-0.5.0.crate 271940 BLAKE2B 0b781c2e9bf717af429efb53bdfd18244f2b8c58e5111c3bd3bee50c8a01cc747513fe20db75c38b6b771d5845647bf6c1849ae6667766c9623e018c1f399a9b SHA512 bee6cfbfc99859b113aa8c7b487429a836dabc4e317980f132d28ff8333336f33480bf9f8b186a07115eff33024cd855bc85d346fce85e17c4132e886769c54c
DIST ignore-0.4.17.crate 53056 BLAKE2B 734e74210f13e5ad08864cc8b143fb780383cd36048e78da04a0475eaa760867dd4a385b37fdfaff0c5aca946d4aab19c4901df0833271a3ba05887ea5dec9c5 SHA512 52380126bb46478875093eb39972949625e1d9ada6fac7148faeccc22807d8e2a1e41c34549e7d9f884fd3cd6dc3d42b47a88b5b6de1089d7e3ee8014b3aea35
DIST ignore-0.4.22.crate 55462 BLAKE2B a9a29e5286c9a9c132f2fa319226bfa85c9555150afd18e34bd3b37915250842c46f6079208dce75674fef448450dfd23242858ee2e4e2bdb7eb65f89d689d0c SHA512 9647a4887258dd970c87798dee32a16c1cda75ce3e352829f78d97e1b786d67f74d89b2fd76d48a607fe795213965c04c9dfb47713f8fa80561f87ac465956d9
+DIST indexmap-2.14.0.crate 104085 BLAKE2B 828d8eede906c2908baecac840757ca8795587a552cc9dbcccde89a3b81444d99395670fd71404c33033aa5a1b905ed0621fc39236024c8b8b385e5d29ca6b5e SHA512 fa6bcaaf1b9bacabc72ae9d0569065325a6741b9ba5dff168ada6ece460175be47741d906d9326b48d30f6c55805d33fb64bfb497490482b4e412ac15a8ea55f
DIST indexmap-2.4.0.crate 83544 BLAKE2B f4b3e1b877c9355a491e33d10e3ef730f943b54bb14f33ed476120e2a8f0cd3550f6aeee1a56e1868881e1853b3d41283ab803faf5afbf32c86b36e08e7f2026 SHA512 9c7f2b495f0568ce56e2fa8d3355948783b490b23b46a83acade2864e41eb31a50cf372d818b2a1d3d24327282a9866e690348134a20ee481d748bdc581145ec
DIST instant-0.1.5.crate 5082 BLAKE2B e9ba4bc013d31981ca5bfde941aec33c1cfa419c924dacdaac14838e70339f57564ffd43b54572037a62424522b9086f47a0fb9c7872d64132981a0a60ed9514 SHA512 cfa85c4f59d4cfb8c2cb4826bebd916db393f5c788836ed1e031fa80e2a7909f707423014e2c235177971e3fc8a9110ed679ed09a9c0b5e5236cbb8233aa17c0
DIST is_terminal_polyfill-1.70.1.crate 7492 BLAKE2B fa663f858ab8e5fd56202d731b572bfdd4ab0e8262100424e27360a9ffd2820182bc57d6718a305ef82d04c3798111841c0d9f9dcfe219765c0f63edb560dc1e SHA512 4730fa09401cb4e69c92b38b2b43afd74699c61f5bd7b37605efbc0c08ca7a1318d43e4a844e46e0f84f83f42432f01e33771be2b18eb5977702ab9f894837e1
@@ -236,13 +238,17 @@ DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017a
DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
DIST serde-1.0.118.crate 74248 BLAKE2B 0d78d29a9d97da401dba93cd6e118dfa48c73351e32ee48bdc2a649ad60f1b198574b78a5261564d466e8097f8b635e810f4c8a52592e3f39550910e250971e8 SHA512 d3b316e721ce395fad656a598fed7e83b248a3dbd98a9eced98fdc337c8fd40f415356a0af6a0e5a104a592ad10e1265d47d94b10b343ce9475797b3a74306e4
DIST serde-1.0.208.crate 78232 BLAKE2B 238de7207416756fd241568e47866716da33a6d4d0a72f47362e8d878fd87ec6a237c58ec3a79e7e87a64f2dd59a18970334c8f2db85fb841d16802e8ea9c695 SHA512 13468e827875d3ee8c8848ea3e71dc2e1087f9f434ce947d344208b112f4acb853eeee132a0da61166fd040a423fc8996c58c919ea795c23a09a4ed5e3ced288
+DIST serde-1.0.228.crate 83652 BLAKE2B d1909d671ea6d5c2eb4ce34ee4493ecaf665d416111b4cac754b5d33b85f916296110bae7aa961efd987a2ceb4a31ba645752ce99dd28dedb9f1eecdd4d7b1b2 SHA512 9b645d6214203533b303fc5e88ad4f7686c22df084878d18a0209a92304a340fcb62fdde88a7080cf7a7348d47b9b363885c4e1da90dba08cc99ff620f375e97
DIST serde_cbor-0.11.1.crate 43947 BLAKE2B 4c1dc444089276b4bfb1b1237eeaefbb6954fa8b613e539fa6eabe01ddda990be50c5e5ce72e5f765835224e9de4fb0fdb26d2fada2b18d6b03f77665e2c41cc SHA512 165192ed999cfdbe162abd3aff92f86f4300ffa9347e57fda2ef3c32c69a18183d468db059d9dd80218bf01de15fec6fde7cf6dbb8cc2a6158785484353f2192
DIST serde_cbor-0.11.2.crate 44570 BLAKE2B facc8d16886dde89125b7d69e9e77ff586c61993c3493fe4089ff03c53e6c0808c6da45a83337d3be7414dd82f3d6a7f3d43167473e49e586a7e817d47ef3014 SHA512 12ddcbd5de0d85f2da6e078e3ccfdf2115125084d57eb93d7e9b45bca6a86daf79dcc79c8e54260c56240c3b5e814b1481ac28c3aa1d1b4b982ef5956b5cc3cd
+DIST serde_core-1.0.228.crate 63111 BLAKE2B 8a64e4627ad21a3d16dd37d53fb809d11171bf337ec16bb1223075cbf81b6b85cd1c8d19abadf42460d0fbea323e2f351eeb6ef823389d519121b74e68edb215 SHA512 43897e3a7ebdc85d81d1cb30cda8f0a11610f6f551529c8a21462c24fb83110652b462846aa3e1bed5fbf8b5d7927018845a524ee9e079e2c8acf2c687efd6c4
DIST serde_derive-1.0.118.crate 50589 BLAKE2B b1328a3c7fb0fd6321f0d020969f1b7e32150488410d574cf9e75ca06bebef3d753dacfac4e45cbc0eb9626246734a1dd5b766b96a1a98b53f3f17897dcfb349 SHA512 f0909822f73e900c8a0b791a30fc5cf5be0a79e6c455766a90d6cc314408b95f2b9d7e3ef99363860d615620968e217da304457d2d6e00f60da8ab8fd2db7115
DIST serde_derive-1.0.208.crate 56019 BLAKE2B 68812664bf69f8a65e2be984257975b765f183bdd07b2fd376a7a400e083f610b600855c93703e53a2d334e77e9064b52018c74eddcc953ad0aa9555cf1350c3 SHA512 4f7f1da39ca952ec8b40efe6bdf69bb7a7620f7ab7b344ada26e304622aee5c13fda301c89a6b360c2c1f9284c87918e340edd47186a7e1ed54ba8b2fa0f294b
+DIST serde_derive-1.0.228.crate 59605 BLAKE2B 166ee2f9ff9f7a0928d0a65a72db3d9226c377bca2a1771956e8ecd9c7faf0544673c9c21be2a5553e621b55c74c7b958052592a1cf6eb6427a2d4f3e3dc6bb8 SHA512 8bfdfeee10ee7ef0670972aa963ef63b13e8eb2c8a09b9e0b717f92551aa89b3dd2a0dcbae6ccf20a1caece07e6adb18f0db56fdac020e4e0281b0d24e376003
DIST serde_json-1.0.125.crate 148919 BLAKE2B 551b29a79dd35e20e7432b434a163b62ffcadcb40a7755946e25ea29f59a39c55a85d589f6b90d449847023d0021b6ab189e41b52922468df5c46ed663a012fd SHA512 45cc034bed4ad15a6698ed2b723b3540db255c7ba8014c103d3b7782f10a3a8e2f6d5fe5d0dc47b54286f01f20c21818a5dda670a942182a07dcd1d71bea67a1
DIST serde_json-1.0.61.crate 114887 BLAKE2B a06e2b3572b01b57d39a7df4d4c333408594cfe80b6b6a810f8c36479550f56f085cbd7e693d3c27f307bf0b49eefd34f55bef1872a4a0318797e4b9585cce9e SHA512 ff626602b547fa8e48c37251d2f6c91633fd45b49ed8211e66a3174f52f9aafe8778238466e7deb5d5477ed23eea0091596d78894e0967d6978f6737ae115891
DIST serde_spanned-0.6.7.crate 9164 BLAKE2B 559a62c0ac00a1559947224bd268842f35c52f65d0d52102c98b5e683dfe4c36acb015edf97c5f79ff818dc575b3ae43c3f100d18eb7afc3ab9c96e348ba6794 SHA512 d0ef413867a705080fa68f84a059b4d04b604bec59323329ded7ae03e0caec49c89fc53640c1e58c27bb23b5c9f260ed176ac52f3a93d25d8d7643252dba037f
+DIST serde_spanned-1.1.1.crate 11025 BLAKE2B 24329285e068484b2480d603a6ab7f041f111e03eaaed6db00ac94e36e608c810b7f19040265c51e9d881e65a107cdfde98068b5f1f56dbb8e1fe6677683ac58 SHA512 ed6f0cd52d97985458d530a1ff973aabef8b611a17e739d5011aa50293e4cc994af24992e07ac55e0d2a8fa8d0577ebdba4b42b920cde505e05dadf05382e545
DIST serde_yaml-0.8.15.crate 37877 BLAKE2B 31cf453a3b04332f9ef3ecc7366c1a6e4017029767ff2484846955d8dca8ba1100d8cd5eac6c2367bdab8efebde987345ab0b7802629b8bf96effa3933646052 SHA512 8697f445ff13a93aa584afe1b91829c6dde86239751ab71f6b3b088b0506249268eda3e1cf507095a4ffda5ad78d589f92ab908117050a0bd70311867e0d031b
DIST serde_yaml-0.9.34+deprecated.crate 65290 BLAKE2B 1c1f8c7dd1a7952948596d8c727fb6fd36426c7b80ddaba2e6065db7551757e6fb170c77373ba9784f6b32de9f8aec94f90e1c85df98b9ac1f75a7cc8e5da174 SHA512 64329436d18bc3b1a0737afff7c8727f7e04c71b2bf6022f597a45f0860fa3a678eac688f61f0bf7a7846f98809f427c9907625e1d00c8691c383043c1cffaca
DIST sha-1-0.8.2.crate 12338 BLAKE2B 90702eff48c15b49195b547d797976837b0fc9028f76da626e094b80d5d630bedee637053dc57274c27d68b8b6f3c443f1aef37c06b7aad895630bd9d73039b2 SHA512 65ddb7bd8f0157d134e70f7c6d6abf7aea198cb97da17b418a265642c5930b8cbd9c8e0b97b557102787cc842cddc93213d669345c2aaac6a1e7146765b2d5cd
@@ -256,9 +262,12 @@ DIST smallvec-1.4.0.crate 24645 BLAKE2B ff5102e2b3a03bf5a8e3e2325f93ffc96dccaf2a
DIST strsim-0.11.1.crate 14266 BLAKE2B 252a9ede4241b165525486aa8855dece37af77f5b28e0e1858c4a5d2047db9fa958328db10989234aad69463ab51b2303785ec056c63ea8c95bf95e111ddabf2 SHA512 0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c
DIST strsim-0.8.0.crate 9309 BLAKE2B 40a8be506c43ee1ffe006ddc7dee98c3d418bdd205d57b78f5d1e4c9312feb57e1eaf952e02d92d4e0932db240c6fba45beb06ea8c4fc6de1cf1faa8b6a3a939 SHA512 1d55a8d946cd55f5f37d06aea536549ded95739fa58c0f2da285a0041154c181f663682bdcac643aa198b3e762d694a04f058db985c62ebe22b5c16327ba6d34
DIST strum-0.26.3.crate 7237 BLAKE2B bdc348c718c39609c00b9fa7d47b7090b1467022b7a8a28cc7c8a72a0aef20569c6ab22a8a8d26c2d9272f18d000e4ce94858a6647194f0a7b86d812d52b05a9 SHA512 62f116d5bbc6167a6ac68b049f8045bc660901f1ce1252f8bdcd91cb28bef821aad8098905369db6c2fe74c134a5d549e55ddd28e383d7d78f7175258924b268
+DIST strum-0.28.0.crate 8550 BLAKE2B a43ac86204ffe8889e5ec8009bc742c9d13bb04001b92cf7e79faf84bbc4bfec2df3b0170faeede1de11f2c7826d8739fea29460a2c6918ed972ca747b4bffd5 SHA512 673d6aec90d89b1a31ec114723009748b2469c9c07b5e17e86fcd1655e745dfcda4dce7bc4423679903a4650a6693284454aba634cffdaa4735c63b0a475185a
DIST strum_macros-0.26.4.crate 27531 BLAKE2B 7f7d57c957a1591054288fcae6590a5e669fba1b47d8f1a52371ce60fd84f91fdb430e48cc7edbb5fc72914be5ce12af29758b653680da3f4177339b31206750 SHA512 77a17ce47d5e8fe8a89cb6aa6c3ca5d5c2625aea0f93456f05a9994238cd3b08b3f7c6a45e9b3db21bca8fb5759f505f15cc111ac84acbbb34d59cdae8307b0b
+DIST strum_macros-0.28.0.crate 30964 BLAKE2B b79612a6632a2f1b828a70e5c759e0fcc5996312e5d15adf43295bc04f570f09b91307e0e17941a1528d6eeb2fd640786c40fc4471616f622c310b9cd9890184 SHA512 a50f96bc94c2bfad8d9fd499a4f3f3f3c2cad07c92800867307c808efaf8ba192ee177e4bf7e67f19a717c89439df7773c1749047a9e0c3b0d5bf1d54a040d40
DIST syn-1.0.33.crate 204845 BLAKE2B acde40a1eb59a78ef17afd46fbc5dd3710db4a1fab1d2ca6159bfb1ab3e3ee4182818284ed6a78f6babb539312dfd46eb43dc62842063db953cedc65cd307ba6 SHA512 82408aea39c376825b977d54ea339661cf54664358637e5caaf8efaa7d08e03385b160b3317060c27662a621ab5752bd761cbc416165d1c2cccf28985d73db51
DIST syn-2.0.74.crate 267998 BLAKE2B f47aa22011b42038a1db1486822335b7c2c2453de04ccd881ade8c17bab192667977b689925c36b3c579bf2086d516f2b26f48e81cdce22ed8798e2664195119 SHA512 c0b602d9ba5342aec609e67a3ecabfaf49cc81be86fb0cc8e576c1a882b36678de5b139fb41981f437fa49012c6493ab0f68a528910a10a3a86c98a22451aa93
+DIST syn-2.0.87.crate 278076 BLAKE2B 93385f64103fdb482bec34c7912474ae7a5935948715e6eb9a54907e0db5c39f089f6cd393bab33c935c59a1bbb0f4099431f206343811c1a450554d96a35756 SHA512 bcfff545d6dfefd81e09f8f30a86bdd85759b3a7d4093ef3365ed02718e10dbd604c52b94c9d7fa955d339fdc5b6c079940c6f345b5a48c52b5c8607794ca6f2
DIST table_formatter-0.6.1.crate 13646 BLAKE2B c7791f1d4f7c3de35997f3c0b54e62ea7061d05e7643ec2d74cc2bae68c6380133e72b0e3696a612a620b1e849a702e1ef809a4043b07e5a73e0e1f02134857d SHA512 09e2bdb2f2ec4e29e0cf4859cbe7fa2ca4324856b79c3e1dc9a547d614a0a807f3af4422c92e7ebd2e4c0506645b8501733ce4f3ea4675f0630b60ea8153f1b8
DIST tempfile-3.1.0.crate 25823 BLAKE2B a34721369923771d5f9a2fc64adaff2bff41da97a0ce79e01aaedb8d6670867220c671c0d23f7a8a9c71b09c0559efe4e7c9bab1f7f9d890866be1de1ce050a9 SHA512 a87ee51c36a81a8a8eb8f091eb57926682f38b707f7f641332d8752170e6c139a656ae49c6861f51e07c2fab5c86cc9b2ac158f5d89c6bff15d18934dd4e7ba5
DIST tempfile-3.12.0.crate 34423 BLAKE2B a8b84f54a54be636f5b69791ca567e8b692d6a8485ef37e5a8340d26b32b1b0f9f8e9fcd9a2da90ec2fbd39c281d364dfc5723d06892832edb79ea5cf45d069c SHA512 1a27513548060984be894e6f8fc215831e4b2054b2244c6188bee76c477c001f294c762f2f4a14488c58c04e5d1473806d589c7bba1eaa2cc02d97656709be66
@@ -279,10 +288,15 @@ DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b3
DIST tokei-12.1.2.tar.gz 100604 BLAKE2B d3acf1bc1e8611f9dbf5dba1da3e8490d960d2f3fa6e32d8b3b037feb6c876a705173954a92514ae3099e3ea966ec9518b5315f3de58499ad17a9cfda87a68d9 SHA512 b8474cb3cad8cab8cb9c24b44a9b7bdaa436fde4e56ca25a8c6d9cbe342b27acf8041cda15da5e74b4fed5291b3eacd5b298f569e0c8041e9146f89847fe47ce
DIST tokei-13.0.0.tar.gz 164105 BLAKE2B 75612ca850c58af2210045932f4eaf8966b3324c6b7efeb7bfd3b677bdfec3c622abf97b6d521ba5aeb418e300dda95563e14e9a9f3b73782c7657068de9151f SHA512 0a841c81d5dc5f1c2e7053a30b2f0153adf9e5e774e2e6fe8ef03acb30af741df1cebd0dfc5b07a1c1ea3a4782063d5656a34bf4c4ce55da89b39b11a2510c52
DIST tokei-14.0.0.tar.gz 164314 BLAKE2B 6c5605bd1bc686462cba21bc8f0e65fd14048aa7869d34022648ee2c9b8a5149cfd52eb64022c390061fafb3a58459c18b06ddce9c1e9a4f9d4563fce8d6d122 SHA512 ed253bb2ec7bafdd4f02112c01e1d7eb089f84bc7985ebfa256a6557d446459c1cf41d8a3ec66589c2b25d10d35d15f60a50fec629e391271143d90f7e469953
+DIST tokei-15.0.0.tar.gz 165209 BLAKE2B f9882ac01d04d1600d7c5dce58d4badc1522766d20e2178b6dc8de31c232ba6ff66607301dbea8ce7a9a2ba9ff435309612f9256dfcf7df8bf41651991e10917 SHA512 cb7966192bcc6a0089af35c4ad0494a2588f8f7839b3966f04ff734393af92ed9997b804503a67c1e1ee1875fbd723150e38d99e19af7b0aad0d597a21afc53f
DIST toml-0.5.8.crate 54219 BLAKE2B b4f9f563e5ba4574d4f2dcbe244378a2e1e984bd9fbbbfa5a06bdd5f8b8d677394f0db9cb8696f6936c80a52caa86b1b3ebaf3885c53855af23f03d318785f19 SHA512 26b7901ee4b7cbb4cf8ea57d365a99ed05e0a76e73452e47d4bcb3b4eeb7bbd393c13eea9ea33dc13622942efcda39acdba9425b74b40c920c9f19673a1f2082
DIST toml-0.8.19.crate 50974 BLAKE2B f68987353837b74421256fd9a76134bfbfe93887cfb25145b65b7e6b31ad2c3a3384829a06f50c771a2a0be0c5467c856cc631af69f586ea056c4f15af9e3b7c SHA512 16fdc58d14516e81badbe8c9a4506db75b559b377c9c4fecee79e76007b31a4abfc8c8868bf9159f79c6f7c0218f93bdcfb92b669b0917db7da42b51ec155751
+DIST toml-0.9.12+spec-1.1.0.crate 56485 BLAKE2B 1552fd92ece75ebf9e8e4914bd60e981333d6f22f5b09baa489bb206369a654c4246d3f8832d7a8e03d2e4abe85cb6871b9ac9289af278b767e200807a4400ed SHA512 214cef1049e5f569ae448041bd0b6989626ab685c580fb77dbb47a4a8a16d879801f88ef5d298b711a82018788a4099a0a008de7d025c362c9fd989098be9b89
DIST toml_datetime-0.6.8.crate 12028 BLAKE2B 62113366771f22b437b2ed0d3bb2489ae9078cb589cfad2ad2e92c81ddbda48f689e5a573366eea4f54c2b3cbc6b37eaa8b442b6d935b631a992de4917268757 SHA512 d38b98db3b2d4eebd3001d88e2135b6fdbae63b200f7e900c6bb9c121dd3f170e557332bd26f237312c1cbef61666716b0cf550c2d730f86fa7cd9eb5f64a16f
+DIST toml_datetime-0.7.5+spec-1.1.0.crate 17975 BLAKE2B 78f3ba1af90ef25ba23491c1828e8c64d70ae9fdd4718e58c689c17848f9b74469d62471c7ba447dada7d749e1c63b153bc2850b9966cf1ac7ce87a6c7916861 SHA512 4db08a8865011ebec8351a5c42c7c9ce862956c04cf80d10644f68d727362699a4240db9e210cb6d558fecadb63da0fb41b356b5f0cd1142303069988a8642b0
DIST toml_edit-0.22.20.crate 106726 BLAKE2B c545e7460ffcff1404dcb77e577121f6ef332645cc0566b2e23af72743cd40e571a74660e8034ddfe75c4ae5b0bac8d9cf2915e8c62c283eb977ed3a43449410 SHA512 f1514cb1c89fd0d89bcf13a448cd8f0a0a31e05b9c483d9167e6890d70594175dab570c267cbc6596382c2300299c8d1677a5a331bc407e80832da5b7a580294
+DIST toml_parser-1.1.2+spec-1.1.0.crate 35485 BLAKE2B b45ff5281d25d002fb9807005f6593e218aed03573d99ec0837ae75e4e19c40cf21759b0813556904d5060e5c8c309bf406485766ba14e9b464771886deece15 SHA512 11d4a5489337f9e2eed3f47b04376b0d00f9962a8fe6fa59518a4b5f0c7886aa8416f4e34ba640102a3abc45fe7ce628d1fc5327a4453dd7866a7f16fb45cd9b
+DIST toml_writer-1.1.1+spec-1.1.0.crate 18841 BLAKE2B ff11963c7dd3469bbb9042d10c9f201aa78d4cec5b0aeb3943d17f2a632243f0bf0358989c618b0bb8cd067827f20e06dfbb1ba54a0d55e1ed1cf45f3c2c2567 SHA512 f8114a147e81c99b7cfff81c9c337b04d27199259cfa853ff1df4f56fd65d7a2d845d90e21ec51c36069b11f7e4b7a6fbcc69a9594954ec032c75998b2480697
DIST typenum-1.12.0.crate 36037 BLAKE2B b5aa97daf856e4c0ecf6f543ce75c1203ea2a27b493e4e62b1a0a22fbccf79217382061833e518a5de296a00a4a5f3c0c1cc736a7fa40a947712fcddf0735ea7 SHA512 b88dac076d4102f2b1d74501cc2bedd4eb923458e060ab77b826093e3146bc48005ad7d3471921c4f5e8765f3f93f8f7c48e0eb00e2623ad439bd60bcf64d6ea
DIST typenum-1.17.0.crate 42849 BLAKE2B a6d1162050679e2c4ab2467f3a77d301f6861882eb7c9749f31d047f383dd5bd2ed5846ad63eed99ccc04d6ac36cc697a305861e1d65880b4d2ef04ee0a79b94 SHA512 99773d5d9f850c0602db4bb67dd062b0ade6f086e155216f1bb2fb6569461ba7e1b7c2f2af81ea8833bc3bfcf3fe5033edecb7c438adae63f59d3e30cf63a508
DIST ucd-trie-0.1.3.crate 44615 BLAKE2B 491f604d63446dbccf5176333edd159ac56261a9aa76efecf57e9a11ae017a6cba975658a4ffdd310561704fb0831686fb7770b1142b4ac495f01e26de51b099 SHA512 54d43b3824669aa20b725c7747f4fb65bd24e620670c968c1bb0094a0503773acda921b50a0b200c1ea0f84e1e059883c1704bfa5a856d2e2ccda116fb8c3e2b
@@ -347,6 +361,8 @@ DIST windows_x86_64_gnullvm-0.52.6.crate 435707 BLAKE2B ab77dccd06328cdb00175f41
DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719 SHA512 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7
DIST winnow-0.6.18.crate 163357 BLAKE2B 7a43eba294c43b187211c6eabc449775081f44405045ec4786c5f10290639e18d002e872f9db14caa94e26fd99079c7ce2f99e70dcb20d842c0886ac203d8ca8 SHA512 3a146d9dc8fe3fcc855f7766852cd69c49a28f9048d553d3952d7722d49216cb44652d98b15ae1ddee99b2bbc3caefb107a9b85c309242dac943deeca65a81dc
+DIST winnow-0.7.15.crate 187092 BLAKE2B 2fa004d7d0a166202e27f9bdb57f7ba7d1a8d736a77518e8a49afc1c1574db93746a50d26f802f571c14e8c138857e1e13802c04308f9e06215517c012e9b275 SHA512 47c4abb8de7f024e2e85b1c0ed9ebe16b9de29ce82c536a133de9d64d99ac37191e4322221640785234a32b03a28bfa99ced738bad5088d39bfbbe2a64c99689
+DIST winnow-1.0.1.crate 187973 BLAKE2B ef46016b4ba1bcfb12910939e20a433d27713dd543e7a17939888fb3ad1935b8f5fa854cea7bbbf9492a2da7657ec14ffb46edaad99dbcb0dfdaf07348a87f51 SHA512 dcd91121c980b6245ba479632d9f7ff0482a78509c21724c80af95f75ee5a36f7898de6cca637362a32bc385db3432dfa27193b836e0a23acc60bd7d4ad65d6b
DIST yaml-rust-0.4.5.crate 47783 BLAKE2B 3e888c5cc7afb43eaf3aaab2b6f47b86df164a66eb54d4e166b965cc84b1e06cd17bd992a0d6ee175d9a73a76e2b44a13167246383ed054afcf3cc1710b309cb SHA512 7621dc8dfd5e7d4a7a8805b2a7e8319b63b852367655f2359d4e3e8fec6c4fad52d75c46ce1161e4c674eac0780b757ce9d34e664e304d8d2beec7afa0363ea0
DIST zerocopy-0.7.35.crate 152645 BLAKE2B 8f13123c9d9257ac5a5c6954d38c3510fa658624442f7e03cdcc6db5a0977d9f26bb4e277be172b7872ec365cf6e58ac742e5578636f7698f9f37093e9249d9a SHA512 17fcb31c029ae89c01e5bae5fb2bb46bd434120199a3dc2c7fe0012dbbcfe2a0bb38934c4a7d3a4920e3fe47c097403beee554fefa54b66cb390f8b1de638d3c
DIST zerocopy-derive-0.7.35.crate 37829 BLAKE2B badeb7fa5e0bfe93a6788d93fd297604ed31de526b121549300ead3c49d450f49265f499e2e7ce606dcce2b59dd01f7fa817b8fbb3f237475185c5b42f5299c4 SHA512 dbe23573b62a6267d7bc8c744320b75b2fbda03b908c1d175211f7394374fe182bce58021e25485c10671d726b2007f250565dfe53134d51c89293bb607e9feb
diff --git a/dev-util/tokei/tokei-15.0.0.ebuild b/dev-util/tokei/tokei-15.0.0.ebuild
new file mode 100644
index 000000000000..7fb47bfb1a8b
--- /dev/null
+++ b/dev-util/tokei/tokei-15.0.0.ebuild
@@ -0,0 +1,273 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Autogenerated by pycargoebuild 0.17.1
+
+EAPI=8
+
+# bug #975048: dependencies needs newer Rust than version specified by tokei.
+RUST_MIN_VER="1.86.0"
+
+CRATES="
+ aho-corasick@1.1.3
+ android-tzdata@0.1.1
+ android_system_properties@0.1.5
+ anstream@0.6.15
+ anstyle-parse@0.2.5
+ anstyle-query@1.1.1
+ anstyle-wincon@3.0.4
+ anstyle@1.0.13
+ arbitrary@1.3.2
+ arrayvec@0.7.6
+ autocfg@1.3.0
+ bit-set@0.5.3
+ bit-vec@0.6.3
+ bitflags@2.6.0
+ block-buffer@0.10.4
+ bstr@1.10.0
+ bumpalo@3.16.0
+ byteorder@1.5.0
+ cc@1.1.13
+ cfg-if@1.0.0
+ chrono-tz-build@0.3.0
+ chrono-tz@0.9.0
+ chrono@0.4.38
+ clap-cargo@0.18.3
+ clap@4.5.53
+ clap_builder@4.5.53
+ clap_derive@4.5.49
+ clap_lex@0.7.6
+ colorchoice@1.0.2
+ colored@2.1.0
+ core-foundation-sys@0.8.7
+ cpufeatures@0.2.13
+ crossbeam-channel@0.5.13
+ crossbeam-deque@0.8.5
+ crossbeam-epoch@0.9.18
+ crossbeam-utils@0.8.20
+ crypto-common@0.1.6
+ dashmap@6.0.1
+ derive_arbitrary@1.3.2
+ deunicode@1.6.0
+ digest@0.10.7
+ either@1.13.0
+ encoding_rs@0.8.34
+ encoding_rs_io@0.1.7
+ env_filter@0.1.2
+ env_logger@0.11.5
+ equivalent@1.0.1
+ errno@0.3.9
+ etcetera@0.8.0
+ fastrand@2.1.0
+ fnv@1.0.7
+ form_urlencoded@1.2.1
+ generic-array@0.14.7
+ getrandom@0.2.15
+ git2@0.19.0
+ globset@0.4.14
+ globwalk@0.9.1
+ grep-matcher@0.1.7
+ grep-searcher@0.1.13
+ half@1.8.3
+ hashbrown@0.14.5
+ hashbrown@0.17.0
+ heck@0.5.0
+ hex@0.4.3
+ home@0.5.9
+ humansize@2.1.3
+ humantime@2.1.0
+ iana-time-zone-haiku@0.1.2
+ iana-time-zone@0.1.60
+ idna@0.5.0
+ ignore@0.4.22
+ indexmap@2.14.0
+ is_terminal_polyfill@1.70.1
+ itertools@0.11.0
+ itoa@1.0.11
+ jobserver@0.1.32
+ js-sys@0.3.70
+ json5@0.4.1
+ lazy_static@1.5.0
+ libc@0.2.156
+ libgit2-sys@0.17.0+1.8.1
+ libm@0.2.8
+ libz-sys@1.1.19
+ linux-raw-sys@0.4.14
+ lock_api@0.4.12
+ log@0.4.22
+ memchr@2.7.4
+ memmap2@0.9.4
+ num-format@0.4.4
+ num-traits@0.2.19
+ once_cell@1.19.0
+ parking_lot@0.12.3
+ parking_lot_core@0.9.10
+ parse-zoneinfo@0.3.1
+ percent-encoding@2.3.1
+ pest@2.7.11
+ pest_derive@2.7.11
+ pest_generator@2.7.11
+ pest_meta@2.7.11
+ phf@0.11.2
+ phf_codegen@0.11.2
+ phf_generator@0.11.2
+ phf_shared@0.11.2
+ pkg-config@0.3.30
+ ppv-lite86@0.2.20
+ proc-macro2@1.0.86
+ proptest@1.5.0
+ quick-error@1.2.3
+ quote@1.0.36
+ rand@0.8.5
+ rand_chacha@0.3.1
+ rand_core@0.6.4
+ rand_xorshift@0.3.0
+ rayon-core@1.12.1
+ rayon@1.10.0
+ redox_syscall@0.5.3
+ regex-automata@0.4.7
+ regex-syntax@0.8.4
+ regex@1.10.6
+ rustix@0.38.34
+ rusty-fork@0.3.0
+ ryu@1.0.18
+ same-file@1.0.6
+ scopeguard@1.2.0
+ serde@1.0.228
+ serde_cbor@0.11.2
+ serde_core@1.0.228
+ serde_derive@1.0.228
+ serde_json@1.0.125
+ serde_spanned@1.1.1
+ serde_yaml@0.9.34+deprecated
+ sha2@0.10.8
+ shlex@1.3.0
+ siphasher@0.3.11
+ slug@0.1.6
+ smallvec@1.13.2
+ strsim@0.11.1
+ strum@0.28.0
+ strum_macros@0.28.0
+ syn@2.0.87
+ table_formatter@0.6.1
+ tempfile@3.12.0
+ tera@1.20.0
+ term_size@0.3.2
+ terminal_size@0.4.1
+ thiserror-impl@1.0.63
+ thiserror@1.0.63
+ tinyvec@1.8.0
+ tinyvec_macros@0.1.1
+ toml@0.9.12+spec-1.1.0
+ toml_datetime@0.7.5+spec-1.1.0
+ toml_parser@1.1.2+spec-1.1.0
+ toml_writer@1.1.1+spec-1.1.0
+ typenum@1.17.0
+ ucd-trie@0.1.6
+ unarray@0.1.4
+ unic-char-property@0.9.0
+ unic-char-range@0.9.0
+ unic-common@0.9.0
+ unic-segment@0.9.0
+ unic-ucd-segment@0.9.0
+ unic-ucd-version@0.9.0
+ unicode-bidi@0.3.15
+ unicode-ident@1.0.12
+ unicode-normalization@0.1.23
+ unsafe-libyaml@0.2.11
+ url@2.5.2
+ utf8parse@0.2.2
+ vcpkg@0.2.15
+ version_check@0.9.5
+ wait-timeout@0.2.0
+ walkdir@2.5.0
+ wasi@0.11.0+wasi-snapshot-preview1
+ wasm-bindgen-backend@0.2.93
+ wasm-bindgen-macro-support@0.2.93
+ wasm-bindgen-macro@0.2.93
+ wasm-bindgen-shared@0.2.93
+ wasm-bindgen@0.2.93
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.9
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-core@0.52.0
+ windows-sys@0.48.0
+ windows-sys@0.52.0
+ windows-sys@0.59.0
+ windows-targets@0.48.5
+ windows-targets@0.52.6
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_gnullvm@0.52.6
+ windows_aarch64_msvc@0.48.5
+ windows_aarch64_msvc@0.52.6
+ windows_i686_gnu@0.48.5
+ windows_i686_gnu@0.52.6
+ windows_i686_gnullvm@0.52.6
+ windows_i686_msvc@0.48.5
+ windows_i686_msvc@0.52.6
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnu@0.52.6
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_gnullvm@0.52.6
+ windows_x86_64_msvc@0.48.5
+ windows_x86_64_msvc@0.52.6
+ winnow@0.7.15
+ winnow@1.0.1
+ zerocopy-derive@0.7.35
+ zerocopy@0.7.35
+"
+
+inherit cargo
+
+DESCRIPTION="Count your code, quickly"
+HOMEPAGE="https://github.com/XAMPPRocky/tokei"
+
+if [[ "${PV}" == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/XAMPPRocky/tokei"
+else
+ SRC_URI="https://github.com/XAMPPRocky/tokei/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ SRC_URI+="
+ ${CARGO_CRATE_URIS}
+ "
+ KEYWORDS="~amd64"
+ RESTRICT="mirror"
+fi
+
+LICENSE="|| ( Apache-2.0 MIT )"
+# Dependent crate licenses
+LICENSE+="
+ BSD ISC MIT MPL-2.0 Unicode-DFS-2016
+ || ( Apache-2.0 Boost-1.0 )
+"
+SLOT="0"
+IUSE="test"
+RESTRICT="${RESTRICT} !test? ( test )"
+
+BDEPEND="
+ test? (
+ virtual/pkgconfig
+ >=dev-libs/libgit2-1.1.0
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/tokei"
+
+src_unpack() {
+ if [[ "$PV" == *9999* ]];then
+ git-r3_src_unpack
+ cargo_live_src_unpack
+ else
+ cargo_src_unpack
+ fi
+}
+
+src_configure() {
+ cargo_src_configure --features all
+}
+
+src_install() {
+ cargo_src_install
+ dodoc CHANGELOG.md README.md tokei.example.toml
+}