summaryrefslogtreecommitdiff
path: root/dev-util
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/codex/Manifest4
-rw-r--r--dev-util/codex/codex-0.125.0.ebuild (renamed from dev-util/codex/codex-0.124.0.ebuild)0
-rw-r--r--dev-util/gemini-cli/Manifest2
-rw-r--r--dev-util/gemini-cli/gemini-cli-0.39.1.ebuild (renamed from dev-util/gemini-cli/gemini-cli-0.39.0.ebuild)0
-rw-r--r--dev-util/kubetail-bin/Manifest2
-rw-r--r--dev-util/kubetail-bin/kubetail-bin-0.15.0.ebuild45
-rw-r--r--dev-util/kubetail/Manifest1
-rw-r--r--dev-util/kubetail/kubetail-0.15.0.ebuild45
-rw-r--r--dev-util/minify/Manifest4
-rw-r--r--dev-util/minify/minify-2.24.11.ebuild32
-rw-r--r--dev-util/minify/minify-2.24.13.ebuild48
-rw-r--r--dev-util/pahole/Manifest2
-rw-r--r--dev-util/pahole/files/pahole-1.31-dwarf_loader-llvm-20.patch57
-rw-r--r--dev-util/pahole/pahole-1.31.ebuild72
14 files changed, 277 insertions, 37 deletions
diff --git a/dev-util/codex/Manifest b/dev-util/codex/Manifest
index b680c22433c8..a800ca4a3c37 100644
--- a/dev-util/codex/Manifest
+++ b/dev-util/codex/Manifest
@@ -1,5 +1,5 @@
-DIST codex-0.124.0.tar.gz 6950376 BLAKE2B a316f783b52b8ce37764f8b4ecc9087478f430d087027d892adb47a8f05be0218fa74efa43fa3764362993e76700f6e53971be534a995e0ff0902fcb19d9fcc7 SHA512 3e46689c8e92c5ff6a82a3f37bd65558b35aaf0c896da9f4ff63714c9f2a94b72adb18a88411f08d4cf533635eb4223a98fd0c369ce1419e25408b8860973125
-DIST codex-rust-v0.124.0-crates.tar.xz 117096136 BLAKE2B 48949b346ecea25ad678a9e58e57847b4854143347e72a8acd3b8f1b165835238b02193eccf947a63fab0ae11d68dc33e42c519798bb65b15d054d77cfa3d52a SHA512 e5ccaca4f5faae1e732cf2b4ad236b86b8d2e730a18ac595f03c2670a7eb835094cba54d95ca078f573507b4ce82d40044e657fb6c632c81ad6940fddb5e901b
+DIST codex-0.125.0.tar.gz 7032117 BLAKE2B 21eff2bff01f1d05e0060302b8e84fa5a1e15844cf8a77707b702e768dd5d55523236ee54d2c1472b0aa25af327fcf00cb0039cc6afeb1689c977ce01fe8b648 SHA512 5d854067d0f5d30ffa08235ace97bb4c61b85d7dec20260842fbe7ed9d7468709c280b067d877c381fb4a3a3b04dfd02b23d655ba6b5a68dc23f3cb9067f9548
+DIST codex-rust-v0.125.0-crates.tar.xz 117096136 BLAKE2B 48949b346ecea25ad678a9e58e57847b4854143347e72a8acd3b8f1b165835238b02193eccf947a63fab0ae11d68dc33e42c519798bb65b15d054d77cfa3d52a SHA512 e5ccaca4f5faae1e732cf2b4ad236b86b8d2e730a18ac595f03c2670a7eb835094cba54d95ca078f573507b4ce82d40044e657fb6c632c81ad6940fddb5e901b
DIST crossterm-87db8bfa6dc99427fd3b071681b07fc31c6ce995.gh.tar.gz 129254 BLAKE2B 414dacc3a682c7a6dc5c9e43f185966255205d18f0522ee7eae73b5f113b4c3ea9b132e6dee81783d4ce160e4bf95aab784cf3601d666265bef4f889d5e46e68 SHA512 9dc7247d081a25d18776c9c0fd7fe3373f372950728b7fcf5ff43aaa6f7d69f11e1dbd91f92991cbe73007eb9e78c9a901b2388c27ddd6898553fdcef7fdaf44
DIST nucleo-4253de9faabb4e5c6d81d946a5e35a90f87347ee.gh.tar.gz 86782 BLAKE2B a812a2d2f08df818ac7b13b800f51c4229ea1f968668b1224fbc1fd82fb4e045f6b2c536ec6d2647a579097efbddaf041f4b7b356107679156aaa3ca5a9d4068 SHA512 354061278efce55defb30b9ee2ef5cdab745ab56d7d113f6f47a8ac174b4215ec6efe15c15bef0e3d907350182c0d189071e9d7d17d40e807d4db5361682f4e0
DIST ratatui-9b2ad1298408c45918ee9f8241a6f95498cdbed2.gh.tar.gz 566574 BLAKE2B 97f09fda6a798afb00067debab30b89d35aa00bfd284d2ef95fd6176aaa680121a8eee9b8dbe605e6230a6e72ead7b5d4e57ddf4892bcfe93f2fcbbafaba88d2 SHA512 b2ab8bcf19cfd649b8fbbc6752b628f69e79b09e8f8258ea9112ce4348dee512d9e718b5310fc73de65239b51b2b1b593942974f9698bd080616ab389093f4ef
diff --git a/dev-util/codex/codex-0.124.0.ebuild b/dev-util/codex/codex-0.125.0.ebuild
index 2683236460fe..2683236460fe 100644
--- a/dev-util/codex/codex-0.124.0.ebuild
+++ b/dev-util/codex/codex-0.125.0.ebuild
diff --git a/dev-util/gemini-cli/Manifest b/dev-util/gemini-cli/Manifest
index 044ba97ef1e2..8d097cc8375d 100644
--- a/dev-util/gemini-cli/Manifest
+++ b/dev-util/gemini-cli/Manifest
@@ -1 +1 @@
-DIST gemini-cli-0.39.0.zip 20122831 BLAKE2B 3d65193076034cae8dcdc50fab9d8b33afca80e71cfc2bcb571957c45ed527c6b89be7811121f58f0c9fc12cbdd7466bf91a280f46ec5ba537613dc3d22bddb4 SHA512 c7fa3196809d445e90c7cf511f9f6e20580486b2142f92f2e7fb1aeee5bcc126d3636d4b9a9b2ccadc5fc87f6e874765353baa7b3438db0fd53d538a54846775
+DIST gemini-cli-0.39.1.zip 23636615 BLAKE2B 4819185bf54251d31c1084fe6518c0163f684a8bead44a8ab190ed642aa866af7e00e6e4c341a851fd61fcf1f890fb796d309a53a8f1b4392202785ef8aac989 SHA512 eb0184135f00ecf70bf190018348c7d2b982ecb80b4f30cbab491a1e6c33adbc525b99546e505e0fac8c9fb403bd7cbdd5e84e4786f0f704d8cc5ec86ba3e75c
diff --git a/dev-util/gemini-cli/gemini-cli-0.39.0.ebuild b/dev-util/gemini-cli/gemini-cli-0.39.1.ebuild
index ffdf827492f3..ffdf827492f3 100644
--- a/dev-util/gemini-cli/gemini-cli-0.39.0.ebuild
+++ b/dev-util/gemini-cli/gemini-cli-0.39.1.ebuild
diff --git a/dev-util/kubetail-bin/Manifest b/dev-util/kubetail-bin/Manifest
index 465c385dce95..87579cd81ac2 100644
--- a/dev-util/kubetail-bin/Manifest
+++ b/dev-util/kubetail-bin/Manifest
@@ -22,3 +22,5 @@ DIST kubetail-bin-0.14.0-linux-amd64.tar.gz 24995278 BLAKE2B adab8febca8cfc78744
DIST kubetail-bin-0.14.0-linux-arm64.tar.gz 22344645 BLAKE2B 7998a35febde31811fb16ca3da9fc2f4f9a2da82450e8e85f66c65e45e49c61ab8489d476e9bc1562d0f99d7a5e498a04de6bbb4d876de542589e8af382a1405 SHA512 028d812cd0065643c6eb01d38c4d7c86bd7b52b40b43a6fa3b72bd561558703e86c5eb164fdfd991a3714d744ab3dbb1e4d7f0cef82066e4ba9325c6418c301b
DIST kubetail-bin-0.14.1-linux-amd64.tar.gz 24993505 BLAKE2B 7c2ca929faf9540f575927f948b8206757094ab2ee2c8c476f918f02b20cfb85774d6e3dd05a060c5a0e9e151976f39786dc2160446e7d7f4a52f009907b8e6c SHA512 63df92e9c9cafe2de8450ec8879559c109a2bddc46b728d3cab077e9503ab842f62f847c09301c6969345234889a69db5a723b62775a23c54a22865c9b0e3c17
DIST kubetail-bin-0.14.1-linux-arm64.tar.gz 22342652 BLAKE2B 46b6c70878773bcb71dbefdfd6b707d5df241d55139aaaf7bfbc26a8e366269e06a1483d34c9153caf5fa8495be453203151e042785e93b888c0a425fae47c71 SHA512 763d0b7d5f0a50459d1ff6fc59cec4dccb6e13817e08c49099c1bd2a2f938e11ee28c3bedfe2a93f1b2db941b60428fea7d52718486578bb7580c472a3047f63
+DIST kubetail-bin-0.15.0-linux-amd64.tar.gz 25049259 BLAKE2B 35c824cf1c699fe1874c0d42d69e64f2a024d381e266e8f8b74c2b09d42eb822e2df65408adfb6e81c55c7162a72b32d7c9126b0c04053c1f2fe4eec0ca4911f SHA512 7a99cfab87a6eda9c829892447cd093a293bc9469ef26c92d444a6c59acae56126aa60eaf9447d7327c43d25e9e329027e47b21fa0f8588daefd4ec0a6c47d01
+DIST kubetail-bin-0.15.0-linux-arm64.tar.gz 22391013 BLAKE2B 955e7ce4aaf78f2e20386f853d92ec1a9a99e6b5aea7c07d8c98bd625207832cfeec9e133d5894260c0d394ebe75f3499b16366d37b97887ec4b2a13e584d01a SHA512 d76d0eb337282cd7bf212210111f6a7e8c4318b3a189043f3e61b2c235104ca1c1934b81127487ca1e4405316289ab41d96974933f01da0c048800907bf54977
diff --git a/dev-util/kubetail-bin/kubetail-bin-0.15.0.ebuild b/dev-util/kubetail-bin/kubetail-bin-0.15.0.ebuild
new file mode 100644
index 000000000000..e2c32e1b6e6c
--- /dev/null
+++ b/dev-util/kubetail-bin/kubetail-bin-0.15.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2021-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="${PN%-bin}"
+
+inherit shell-completion
+
+DESCRIPTION="Real-time logging dashboard for Kubernetes"
+
+HOMEPAGE="https://github.com/kubetail-org/kubetail"
+
+SRC_URI="
+amd64? ( https://github.com/kubetail-org/kubetail/releases/download/cli%2Fv${PV}/kubetail-linux-amd64.tar.gz
+-> ${P}-linux-amd64.tar.gz )
+arm64? ( https://github.com/kubetail-org/kubetail/releases/download/cli%2Fv${PV}/kubetail-linux-arm64.tar.gz
+-> ${P}-linux-arm64.tar.gz )
+"
+
+S="${WORKDIR}"
+
+LICENSE="Apache-2.0"
+
+SLOT="0"
+
+KEYWORDS="~amd64 ~arm64"
+
+QA_PREBUILT="usr/bin/${MY_PN}"
+
+src_compile() {
+ chmod +x "${MY_PN}"
+
+ "./${MY_PN}" completion bash > "${MY_PN}.bash" || die
+ "./${MY_PN}" completion zsh > "${MY_PN}.zsh" || die
+ "./${MY_PN}" completion fish > "${MY_PN}.fish" || die
+}
+
+src_install() {
+ dobin "${MY_PN}"
+
+ newbashcomp "${MY_PN}.bash" "${MY_PN}"
+ newzshcomp "${MY_PN}.zsh" "_${MY_PN}"
+ dofishcomp "${MY_PN}.fish"
+}
diff --git a/dev-util/kubetail/Manifest b/dev-util/kubetail/Manifest
index 97f63f044f35..5bbc3c8717bf 100644
--- a/dev-util/kubetail/Manifest
+++ b/dev-util/kubetail/Manifest
@@ -10,3 +10,4 @@ DIST kubetail-0.12.2-vendored.tar.gz 20821389 BLAKE2B 67d229127a9319279671ed586f
DIST kubetail-0.13.0-vendored.tar.gz 20863240 BLAKE2B 3d626a25e2c6caf400cfddd225cf8f38df09be08c101b45b5ed80fc6c9a8636262f7c536f5b0b5ffdd7b7db9ed36a189e30e8c21a167e1da51dc6b0d59a5814c SHA512 d4447ede9886ae922fbaf13f8ff2a4fbb51a7bc28cfb93a3f16d02cc5ee47f870ee0ae17159fe2f630ff7aeb395d410f97ac176de97e747e299466ce0eae567e
DIST kubetail-0.14.0-vendored.tar.gz 20818707 BLAKE2B 189566a4f4bac80cd0def28ed6185a6adf2ec798d0d18a8a238b52087e84b252f09c6449800691737ef38699ccff23d9270172a832e0bf3bd688b5f0cdae411b SHA512 084f1f93fd9da50fab7a0019732426caa4f29cea2783d5e8e4a7fb9e6dbd4e8719f4bbc0743f32cca8133263b7601e3270085576cb0c695e39b1d91e71b01a4a
DIST kubetail-0.14.1-vendored.tar.gz 20817225 BLAKE2B e830bcb27067c006e6621a7ed6720d46ef6d5bbc267fe393a50553bdb37727f878356540b7f0eb4a67444ad046e64c5bf88b40ff8e3f920e931d185095f99641 SHA512 0f78d89da15a001850808d9eb55d17b34044253b0beba42f1ac15416d318d12f54661f231c36a8b0f314e67ed3fffb3f4beca9cd37b8d645083bd1c4488cc8f3
+DIST kubetail-0.15.0-vendored.tar.gz 20905816 BLAKE2B 9b28eb2c6414d2c273bbc3587952ea86f4bb21cc0e4aa32b61b8e1b0190d6885cf6f4195da91852b8f684c1ad935bbdbc629b386d3ce9fc19c6220cbb4a158cb SHA512 fc38896e9a3f9300317255566fc3a9ed27127e2e0d41380de29eb2175a57d69e89566e0ea7626fcc85ae364323ac0a0ed94f7b1e11a4b10c4aaedc3dcff8cfcc
diff --git a/dev-util/kubetail/kubetail-0.15.0.ebuild b/dev-util/kubetail/kubetail-0.15.0.ebuild
new file mode 100644
index 000000000000..406f5c416f18
--- /dev/null
+++ b/dev-util/kubetail/kubetail-0.15.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2021-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit go-module shell-completion
+
+DESCRIPTION="Real-time logging dashboard for Kubernetes"
+
+HOMEPAGE="https://github.com/kubetail-org/kubetail"
+
+SRC_URI="https://github.com/kubetail-org/kubetail/releases/download/cli%2Fv${PV}/kubetail-${PV}-vendored.tar.gz"
+
+S="${WORKDIR}/kubetail-${PV}/modules/cli"
+
+LICENSE="Apache-2.0"
+
+SLOT="0"
+
+KEYWORDS="~amd64 ~arm64"
+
+BDEPEND=">=dev-lang/go-1.25.0"
+
+src_compile() {
+ (
+ GOWORK=off \
+ ego build \
+ -mod=vendor \
+ -ldflags "-X github.com/kubetail-org/kubetail/modules/cli/cmd.version=${PV}" \
+ -o "${PN}" \
+ .
+ )
+
+ "./${PN}" completion bash > "${PN}.bash" || die
+ "./${PN}" completion zsh > "${PN}.zsh" || die
+ "./${PN}" completion fish > "${PN}.fish" || die
+}
+
+src_install() {
+ dobin "${PN}"
+
+ newbashcomp "${PN}.bash" "${PN}"
+ newzshcomp "${PN}.zsh" "_${PN}"
+ dofishcomp "${PN}.fish"
+}
diff --git a/dev-util/minify/Manifest b/dev-util/minify/Manifest
index 51d9586a7fb0..7160fd918c59 100644
--- a/dev-util/minify/Manifest
+++ b/dev-util/minify/Manifest
@@ -1,4 +1,4 @@
-DIST minify-2.24.11-deps.tar.xz 686588 BLAKE2B d8e8a5f9b9f818eec983e449f4ea2822f7111a599dac92111d01d7ac8d14ff86ba7c73b95949754a7ff66ed23c2fe1f3e91cb7e69c9381c240a12a319e3a15eb SHA512 0a92817442011f0e53f589bb20c683d7577c131434e21f0837424677cc26fa3380f5eb6a08e30d547a23db4489c0260a86d083109212ff23e518d4f339f70999
-DIST minify-2.24.11.tar.gz 7769853 BLAKE2B f2dcefc2d804f806c69d619f1ce5775235503317199396f14bf4346dd53a0048eef3e42c0cb6754e7c40dbe56adbee9a3a2259eb679bb6fe3954b6f58d4179f4 SHA512 9fc5bf7daf9f5ccd88c01af0312bf366a2dbd21136b43592a5cf32d0d91ff63a4a8a4152dd5ae3589183ac5091aea5db893806f8c00bdd6a19e6820b49979544
DIST minify-2.24.12-deps.tar.xz 3343168 BLAKE2B c9d3195437824133f91ea71f59618b3c57a074e53ea61a0f59691daa6c98fbadc5209f2816b86a04497bf54de56cedbb4d5538326a21ff91b92a5df6ce7e1656 SHA512 03b2f6db9f6e1c88483f3073fd385e9808d436bcdab6f7054b7efa87e318db8aaaca8342bca6382976edbb0837b225ee6a789326fbb3c735d24a176ec26b53c9
DIST minify-2.24.12.tar.gz 7769257 BLAKE2B edc90f7b93dc1156acc528695a7a0de55687f1737ada10054befa0179ab7fc208924d71f2d9dc8bb08d9ee6a44e2ceeef87bd3287ea4c77956c7ff91c62df486 SHA512 360c6125160a1b6f3b9a9f5a36300fef364e64008e663723470a7849e2c35ea8e067ddb1a4f3f6a3ae685e230fad9779cabd62057e4d0431b6b76a96e84bf7e6
+DIST minify-2.24.13-deps.tar.xz 3358816 BLAKE2B 4baf2ff1ea34a031b45a44a3f7d546f672763494a7159d3443277961533f802e87205746e52f2cbd6498f5df4027cd2c39e8598a3ddf739bf70f4ed86bb2bec9 SHA512 99432e15ce0621133b17351ecfe8ad243a3636441b06657693a9bcce8683ada233b48fd11517d55f3a8c6579c69c2480f3d9a08b9c532b69012d38fa5e8ef545
+DIST minify-2.24.13.tar.gz 7769769 BLAKE2B 7b85df3a94cb99d0e5e8ab0b07b8c892c3c41af6d5074718380dc3b79012ec095b754e78ed9c01ddfd6f313fd84eb904ebd1098b95974eca9231f0acd3ef4903 SHA512 21ca8ca43ec76af0b930d2ab3c11484311dec3ed2a440755a67da514621dce7fdf68ad2a45095b9dd40576cda3841bf0329772a2de4b2ab10f57a7ebb5414c47
diff --git a/dev-util/minify/minify-2.24.11.ebuild b/dev-util/minify/minify-2.24.11.ebuild
deleted file mode 100644
index f00f4ede8a9c..000000000000
--- a/dev-util/minify/minify-2.24.11.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit bash-completion-r1 go-module
-
-DESCRIPTION="Go minifier for web formats"
-HOMEPAGE="https://go.tacodewolff.nl/minify"
-SRC_URI="
- https://github.com/tdewolff/minify/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="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-src_compile() {
- ego build \
- -ldflags "-s -w -X 'main.Version=${PV}'" -trimpath \
- -o _minify ./cmd/minify
-}
-
-src_test() {
- ego test ./...
-}
-
-src_install() {
- newbin _minify minify
- dobashcomp cmd/minify/bash_completion
-}
diff --git a/dev-util/minify/minify-2.24.13.ebuild b/dev-util/minify/minify-2.24.13.ebuild
new file mode 100644
index 000000000000..d14e4f5ef056
--- /dev/null
+++ b/dev-util/minify/minify-2.24.13.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1 go-module
+
+DESCRIPTION="Go minifier for web formats"
+HOMEPAGE="https://go.tacodewolff.nl/minify"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/tdewolff/minify.git"
+else
+ SRC_URI="
+ https://github.com/tdewolff/minify/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/tdewolff/minify/releases/download/v${PV}/${PN}-deps.tar.xz -> ${P}-deps.tar.xz
+ "
+ KEYWORDS="~amd64"
+ RESTRICT="mirror"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+src_unpack() {
+ if [[ "${PV}" == 9999 ]] ; then
+ git-r3_src_unpack
+ go-module_live_vendor
+ else
+ default
+ fi
+}
+
+src_compile() {
+ ego build -trimpath -buildmode=pie -mod=readonly -modcacherw -ldflags \
+ "-s -w -linkmode external -extldflags \"${LDFLAGS}\" -X 'main.Version=${PV}'" \
+ -o _minify ./cmd/minify
+}
+
+src_test() {
+ ego test ./...
+}
+
+src_install() {
+ newbin _minify minify
+ newbashcomp cmd/minify/bash_completion minify
+}
diff --git a/dev-util/pahole/Manifest b/dev-util/pahole/Manifest
index 1c9439a3cbb2..e16a9eb21059 100644
--- a/dev-util/pahole/Manifest
+++ b/dev-util/pahole/Manifest
@@ -4,3 +4,5 @@ DIST dwarves-1.29.tar.sign 228 BLAKE2B ebf58feb5a3823263ef0bd2cd1fabfd4ed196a029
DIST dwarves-1.29.tar.xz 2341312 BLAKE2B a13738139445ed78243566d569e635600bbf9515c77bccde856ac41537541ad4f5c432913fd6becfa959b7a912a9d483b9d77d7aa597f7f5e96495bd70bfb7e2 SHA512 02f1922d8db46e60b4aedb4e37da34eaf28d6ee86d8c202c9eaaf31f8acc931dc2ec8c715fd62e1adef676022f366b45f3ac843d93e9b1e7865323bb0a92ca24
DIST dwarves-1.30.tar.sign 228 BLAKE2B 13de57292cf934ea41367227eb8468884c1b95714036b4b646a63d7bdbde57f378e54a053cbd42210a3001ed490ddda54b7b7c43fb3a360500a3c4f7314163ef SHA512 13862a60d331295492b85c52a70cf92a952c69a2a0c813cab0df9929a77f5f1e244d6f8a37f572f8d1a20f06e834aaa1b47123ac5f2fc9313b0cdd08dfc085d5
DIST dwarves-1.30.tar.xz 2345336 BLAKE2B c45da2970669baecbb2c12d962fa769b45f435d4ec5fd7fe0db587b1ee4ac072e431d626ab796193b967a4221a95072314a84c9009a431eff5b31ff324e896ee SHA512 222ad1f8e7bd4e079b4bf9059eaadebc23a0f4a95a77374b1162a1704acdceb794743e61bc14ec1cbda9a7c686f6972c243e784aeedf39cc15b6a8c6a4f1e2eb
+DIST dwarves-1.31.tar.sign 228 BLAKE2B 1553b8437938b114a7345f2dc71e02b478b7198d186c44dcb7644412aff392170dc3a02ec1b15d2e077f96b445f6b587b255968920c3adb4aa708c0e77c9de3f SHA512 2d847911c9e371788a70ed08a28ef0d08953fe31a3b47965061bf3c44b3ef751c84c8b3601c3fd2ca83504ca68f1bf443968c581c28fce6f4de5d66b747e06ad
+DIST dwarves-1.31.tar.xz 2350084 BLAKE2B b7206e6ba2caf687ab04f1e91db8370b6c5e35a2b9569464495716611376de8489f002c0eeba94e8b2b11e522641d34d31b957fb9814c3c4a837127ea63e8c90 SHA512 0761159c6e0400b32761c7497a2dde2f0ba1992a381480c2a20c33e3aceafeb3a1a7d58ecc3a8ae236a2dc5b4eca0ed38b5fc9b13a83cfc1e6b980ccf835214e
diff --git a/dev-util/pahole/files/pahole-1.31-dwarf_loader-llvm-20.patch b/dev-util/pahole/files/pahole-1.31-dwarf_loader-llvm-20.patch
new file mode 100644
index 000000000000..fd0f0ffe1f4a
--- /dev/null
+++ b/dev-util/pahole/files/pahole-1.31-dwarf_loader-llvm-20.patch
@@ -0,0 +1,57 @@
+https://git.kernel.org/pub/scm/devel/pahole/pahole.git/commit/?id=4783a4ddd4740d948fb987ed8a7cf2932d5ad5c4
+
+From 4783a4ddd4740d948fb987ed8a7cf2932d5ad5c4 Mon Sep 17 00:00:00 2001
+From: Yao Zi <me@ziyao.cc>
+Date: Sat, 13 Dec 2025 08:27:22 +0000
+Subject: dwarf_loader: Handle DW_AT_location attrs containing
+ DW_OP_plus_uconst
+
+LLVM has a GlobalMerge pass, which tries to group multiple global
+variables together and address them with through a single register with
+offsets coded in instructions, to reduce register pressure. Address of
+symbols transformed by the pass may be represented by an DWARF
+expression consisting of DW_OP_addrx and DW_OP_plus_uconst, which
+naturally matches the way a merged variable is addressed.
+
+However, our dwarf_loader currently ignores anything but the first in
+the location expression, including the DW_OP_plus_uconst atom, which
+appears the second operation in this case. This could result in broken
+BTF information produced by pahole, where several merged symbols are
+given the same offset, even though in fact they don't overlap.
+
+LLVM has enabled MergeGlobal pass for PowerPC[1] and RISC-V[2] by
+default since version 20, let's handle DW_OP_plus_uconst operations in
+DW_AT_location attributes correctly to ensure correct BTF could be
+produced for LLVM-built kernels.
+
+Fixes: a6ea527aab91 ("variable: Add ->addr member")
+Reported-by: q66 <me@q66.moe>
+Closes: https://github.com/ClangBuiltLinux/linux/issues/2089
+Link: https://github.com/llvm/llvm-project/commit/aaa37d6755e6 # [1]
+Link: https://github.com/llvm/llvm-project/commit/9d02264b03ea # [2]
+Link: https://lore.kernel.org/dwarves/20251213082721.51017-2-me@ziyao.cc/
+Signed-off-by: Yao Zi <me@ziyao.cc>
+Acked-by: Yonghong Song <yonghong.song@linux.dev>
+Signed-off-by: Alan Maguire <alan.maguire@oracle.com>
+---
+ dwarf_loader.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/dwarf_loader.c b/dwarf_loader.c
+index 79be3f5..77aab8a 100644
+--- a/dwarf_loader.c
++++ b/dwarf_loader.c
+@@ -708,6 +708,11 @@ static enum vscope dwarf__location(Dwarf_Die *die, uint64_t *addr, struct locati
+ case DW_OP_addrx:
+ scope = VSCOPE_GLOBAL;
+ *addr = expr[0].number;
++
++ if (location->exprlen == 2 &&
++ expr[1].atom == DW_OP_plus_uconst)
++ *addr += expr[1].number;
++
+ break;
+ case DW_OP_reg1 ... DW_OP_reg31:
+ case DW_OP_breg0 ... DW_OP_breg31:
+--
+cgit 1.3-korg
diff --git a/dev-util/pahole/pahole-1.31.ebuild b/dev-util/pahole/pahole-1.31.ebuild
new file mode 100644
index 000000000000..30f11b1cbbce
--- /dev/null
+++ b/dev-util/pahole/pahole-1.31.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..14} )
+inherit cmake python-single-r1
+
+MY_PN=dwarves
+MY_P=${MY_PN}-${PV%%_p*}
+
+DESCRIPTION="pahole (Poke-a-Hole) and other DWARF utilities"
+HOMEPAGE="https://git.kernel.org/cgit/devel/pahole/pahole.git/"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_BRANCH="next"
+ EGIT_REPO_URI="https://git.kernel.org/pub/scm/devel/pahole/pahole.git"
+ inherit git-r3
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/arnaldocarvalhodemelo.asc
+ inherit verify-sig
+ SRC_URI="http://fedorapeople.org/~acme/${MY_PN}/${MY_P}.tar.xz
+ verify-sig? ( http://fedorapeople.org/~acme/${MY_PN}/${MY_P}.tar.sign )"
+ if [[ ${PV} == *_p* ]] ; then
+ # Patch rollups from git format-patch. Sometimes there are important
+ # fixes in git which haven't been released (and no release in sight).
+ # Patch rollups are a bit better for understanding where changes have
+ # come from for users.
+ SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches.tar.xz"
+ fi
+ S="${WORKDIR}"/${MY_P}
+ BDEPEND="verify-sig? ( sec-keys/openpgp-keys-arnaldocarvalhodemelo )"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+LICENSE="GPL-2" # only
+SLOT="0"
+IUSE="debug"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ >=dev-libs/elfutils-0.178
+ virtual/zlib:="
+DEPEND="${RDEPEND}"
+
+DOCS=( README README.ctracer NEWS )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.10-python-import.patch"
+ "${FILESDIR}/${P}-dwarf_loader-llvm-20.patch"
+)
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ return
+ fi
+
+ if use verify-sig; then
+ verify-sig_uncompress_verify_unpack "${DISTDIR}"/${MY_P}.tar.xz \
+ "${DISTDIR}"/${MY_P}.tar.sign
+ else
+ default
+ fi
+}
+
+src_prepare() {
+ [[ -d "${WORKDIR}"/${P}-patches ]] && PATCHES+=( "${WORKDIR}"/${P}-patches )
+
+ cmake_src_prepare
+ python_fix_shebang ostra/ostra-cg ostra/python/ostra.py
+}