[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 5bdadcf36efa8d78293f7e109b1ce78e55a2d0b7
Author: sin-ack protonmail com>
AuthorDate: Tue Mar 10 00:10:40 2026 +
Commit: Sam James gentoo org>
CommitDate: Wed Mar 11 14:15:42 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5bdadcf3
zig.eclass: avoid redundant dependency renaming when basename matches
Otherwise pkgcheck complains with RedundantUriRename.
Signed-off-by: sin-ack protonmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/45908
Signed-off-by: Sam James gentoo.org>
eclass/zig.eclass | 8 ++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/eclass/zig.eclass b/eclass/zig.eclass
index 0b5a2426e732..06bbabc218a3 100644
--- a/eclass/zig.eclass
+++ b/eclass/zig.eclass
@@ -1,4 +1,4 @@
-# Copyright 2024-2025 Gentoo Authors
+# Copyright 2024-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: zig.eclass
@@ -144,8 +144,12 @@ _zig_set_zbs_uris() {
local dependency
for dependency in "${!ZBS_DEPENDENCIES[@]}"; do
local uri="${ZBS_DEPENDENCIES[${dependency}]}"
+ local basename="${uri##*/}"
if [[ -n "${uri}" ]]; then
- ZBS_DEPENDENCIES_SRC_URI+=" ${uri} -> ${dependency}"
+ ZBS_DEPENDENCIES_SRC_URI+=" ${uri}"
+ if [[ "${basename}" != "${dependency}" ]]; then
+ ZBS_DEPENDENCIES_SRC_URI+=" -> ${dependency}"
+ fi
fi
done
}
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: bff73543a755134fc4006815d35b523234273987
Author: Ionen Wolkens gentoo org>
AuthorDate: Wed Mar 11 11:44:18 2026 +
Commit: Ionen Wolkens gentoo org>
CommitDate: Wed Mar 11 11:55:04 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bff73543
wine.eclass: add C++ support
Not looked at what it is needed for, but upstream wine has added
support for using C++ in upcoming >=11.5 (incl. for cross) so add
support here too.
C++ was already used for dxvk so mingw64-toolchain should function
properly for this.
Hopefully not overlooked anything, but quite possible did. The
changed logic still seems to work for C at least.
Signed-off-by: Ionen Wolkens gentoo.org>
eclass/wine.eclass | 86 --
1 file changed, 64 insertions(+), 22 deletions(-)
diff --git a/eclass/wine.eclass b/eclass/wine.eclass
index 855b3e329295..40cad4c132b6 100644
--- a/eclass/wine.eclass
+++ b/eclass/wine.eclass
@@ -175,10 +175,11 @@ wine_src_prepare() {
# --with-mingw, and --with-wine64
#
# Can adjust cross toolchain using CROSSCC, CROSSCC_amd64/x86/arm64,
-# CROSS{C,LD}FLAGS, and CROSS{C,LD}FLAGS_amd64/x86/arm64 (variable
-# naming is mostly historical because wine itself used to recognize
-# CROSSCC). By default it attempts to use same {C,LD}FLAGS as the
-# main toolchain but will strip known unsupported flags.
+# CROSS{C,LD}FLAGS, CROSS{C,LD}FLAGS_amd64/x86/arm64, and likewise
+# for CROSSCXX (variable naming is mostly historical because wine
+# itself used to recognize CROSSCC). Be warned that changing FLAGS
+# is fragile and unsupported. If USE=custom-cflags, the native
+# toolchain's FLAGS will be used, otherwise the default is just -O2.
wine_src_configure() {
WINE_PREFIX=/usr/lib/${P}
WINE_DATADIR=/usr/share/${P}
@@ -195,7 +196,7 @@ wine_src_configure() {
if use !custom-cflags; then
# wine is generally fragile
strip-flags
- append-cflags $(test-flags-CC -fno-stack-protector)
#870136,#970983
+ append-flags $(test-flags-CC -fno-stack-protector)
#870136,#970983
fi
# longstanding failing to build with lto, filter unconditionally
@@ -218,7 +219,7 @@ wine_src_configure() {
# wcc_* variables are used by _wine_flags(), see that
# function if need to adjust *FLAGS only for cross
- local wcc_{amd64,x86,arm64}{,_testflags}
+ local w{cc,cxx}_{amd64,x86,arm64,arm64ec}{,_testflags}
# TODO?: llvm-mingw support if useful
if use mingw; then
conf+=( --with-mingw )
@@ -228,26 +229,49 @@ wine_src_configure() {
PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
wcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
+
wcxx_amd64=${CROSSCXX:-${CROSSCXX_amd64:-x86_64-w64-mingw32-g++}}
+
wcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
+ wcxx_x86=${CROSSCXX:-${CROSSCXX_x86:-i686-w64-mingw32-g++}}
+
# no mingw64-toolchain ~arm64, but "may" be usable with crossdev
# (aarch64- rather than arm64- given it is what Wine searches
for)
wcc_arm64=${CROSSCC:-${CROSSCC_arm64:-aarch64-w64-mingw32-gcc}}
+
wcxx_arm64=${CROSSCXX:-${CROSSCXX_arm64:-aarch64-w64-mingw32-g++}}
+
wcc_arm64ec=${CROSSCC:-${CROSSCC_arm64ec:-arm64ec-w64-mingw32-gcc}}
+
wcxx_arm64ec=${CROSSCXX:-${CROSSCXX_arm64ec:-arm64ec-w64-mingw32-g++}}
else
conf+=( --with-mingw=clang )
# not building for ${CHOST} so $(tc-getCC) is not quite right,
but
# *should* support -target *-windows regardless (testflags is
only
# used by _wine_flags(), wine handles -target by itself)
- tc-is-clang && local clang=$(tc-getCC) || local clang=clang
+ local clang=clang clangxx=clang++
+ if tc-is-clang; then
+ clang=$(tc-getCC)
+ clangxx=$(tc-getCXX)
+ fi
+
wcc_amd64=${CROSSCC:-${CROSSCC_amd64:-${clang}}}
wcc_amd64_testflags="-target x86_64-windows"
+ wcxx_amd64=${CROSSCXX:-${CROSSCXX_amd64:-${clangxx}}}
+ wcxx_amd64_testflags=${wcc_amd64_testflags}
+
wcc_x86=${CROSSCC:-${CROSSCC_x86:-${clang}}}
wcc_x86_testflags="-target i386-windows"
+ wcxx_x86=${CROSSCXX:-${CROSSCXX_x86:-${clangxx}}}
+ wcxx_x86_testflags=${wcc_x86_testflags}
+
wcc_arm64=${CROSSCC:-${CROSSCC_arm64:-${clang}}}
wcc_arm64_testflags="-target aarch64-windows"
+ wcxx_arm64=${CROSSCXX:-${CROSSCXX_arm64:-${clangxx}}}
+ wcxx_arm64_testflags=${wcc_arm64_testflags}
+
wcc_arm64ec=${CROSSCC:-${CROSSCC_arm64ec:-${clang}}}
wcc_a
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 0a12194b735dad261799acb3acc370a49ad44024
Author: Michał Górny gentoo org>
AuthorDate: Wed Mar 11 11:20:30 2026 +
Commit: Michał Górny gentoo org>
CommitDate: Wed Mar 11 11:20:30 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0a12194b
llvm.org.eclass: Clean up code for old versions
Signed-off-by: Michał Górny gentoo.org>
eclass/llvm.org.eclass | 45 -
1 file changed, 12 insertions(+), 33 deletions(-)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 81c74323e27a..99ebd5aef4f1 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -169,44 +169,26 @@ fi
# version. The value depends on ${PV}.
case ${LLVM_MAJOR} in
- 14)
- ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY M68k )
+ 1*)
+ ALL_LLVM_EXPERIMENTAL_TARGETS=(
+ ARC CSKY DirectX M68k SPIRV Xtensa
+ )
ALL_LLVM_PRODUCTION_TARGETS=(
- AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
NVPTX
- PowerPC RISCV Sparc SystemZ VE WebAssembly X86 XCore
+ AArch64 AMDGPU ARM AVR BPF Hexagon Lanai LoongArch Mips
+ MSP430 NVPTX PowerPC RISCV Sparc SystemZ VE WebAssembly
X86
+ XCore
)
;;
- 15)
+ *)
ALL_LLVM_EXPERIMENTAL_TARGETS=(
- ARC CSKY DirectX LoongArch M68k SPIRV
+ ARC CSKY DirectX M68k Xtensa
)
ALL_LLVM_PRODUCTION_TARGETS=(
- AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
NVPTX
- PowerPC RISCV Sparc SystemZ VE WebAssembly X86 XCore
+ AArch64 AMDGPU ARM AVR BPF Hexagon Lanai LoongArch Mips
+ MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE
+ WebAssembly X86 XCore
)
;;
- *)
- # TODO: limit to < 20 when we remove old snapshots
- if ver_test ${PV} -lt 20.0.0_pre20250122; then
- ALL_LLVM_EXPERIMENTAL_TARGETS=(
- ARC CSKY DirectX M68k SPIRV Xtensa
- )
- ALL_LLVM_PRODUCTION_TARGETS=(
- AArch64 AMDGPU ARM AVR BPF Hexagon Lanai
LoongArch Mips
- MSP430 NVPTX PowerPC RISCV Sparc SystemZ VE
WebAssembly X86
- XCore
- )
- else
- ALL_LLVM_EXPERIMENTAL_TARGETS=(
- ARC CSKY DirectX M68k Xtensa
- )
- ALL_LLVM_PRODUCTION_TARGETS=(
- AArch64 AMDGPU ARM AVR BPF Hexagon Lanai
LoongArch Mips
- MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ
VE
- WebAssembly X86 XCore
- )
- fi
- ;;
esac
ALL_LLVM_TARGET_FLAGS=(
@@ -298,9 +280,6 @@ llvm.org_set_globals() {
LLVM_MANPAGE_DIST=
if [[ ${_LLVM_SOURCE_TYPE} == tar && ${PV} != *_rc* ]]; then
case ${PV} in
- 14*|15*|16.0.[0-3])
-
LLVM_MANPAGE_DIST="llvm-${PV}-manpages.tar.bz2"
- ;;
16*)
LLVM_MANPAGE_DIST="llvm-16.0.4-manpages.tar.bz2"
;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: a83ea2e1df15e21b5134ee790218b9e8b1cb886e
Author: Michał Górny gentoo org>
AuthorDate: Wed Mar 11 11:18:56 2026 +
Commit: Michał Górny gentoo org>
CommitDate: Wed Mar 11 11:18:56 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a83ea2e1
llvm.org.eclass: Clean old snapshots
Signed-off-by: Michał Górny gentoo.org>
eclass/llvm.org.eclass | 12
1 file changed, 12 deletions(-)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 5001f83251a3..81c74323e27a 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -75,18 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
23.0.0_pre20260307)
EGIT_COMMIT=704c87bb948aff1bec718d56ad52b9b5d9c49cfb
;;
- 23.0.0_pre20260303)
-
EGIT_COMMIT=d908184487b9d99b249d4238453e91203492888a
- ;;
- 23.0.0_pre20260223)
-
EGIT_COMMIT=0b95a494c90cb77a50415fb85196e1eb80f96a5d
- ;;
- 23.0.0_pre20260214)
-
EGIT_COMMIT=ab25249e63aba72be5365e5dc08c8d3c34d23276
- ;;
- 23.0.0_pre20260207)
-
EGIT_COMMIT=8d2078332c23b10dcf3571adc1a186e5c65f82df
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: c63bb942844e8be8974f18877505f52796e84ea4
Author: Michał Górny gentoo org>
AuthorDate: Sat Mar 7 12:28:09 2026 +
Commit: Michał Górny gentoo org>
CommitDate: Sat Mar 7 12:32:07 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c63bb942
llvm.org.eclass: Add 23.0.0_pre20260307 snapshot
Signed-off-by: Michał Górny gentoo.org>
eclass/llvm.org.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 10c1d64b86e8..5001f83251a3 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
_LLVM_SOURCE_TYPE=snapshot
case ${PV} in
+ 23.0.0_pre20260307)
+
EGIT_COMMIT=704c87bb948aff1bec718d56ad52b9b5d9c49cfb
+ ;;
23.0.0_pre20260303)
EGIT_COMMIT=d908184487b9d99b249d4238453e91203492888a
;;
[gentoo-commits] repo/gentoo:master commit in: eclass/tests/
commit: 01fc030aed453f83d20b4fda5f38d626649345ba
Author: Michael Orlitzky gentoo org>
AuthorDate: Fri Mar 6 21:28:50 2026 +
Commit: Michael Orlitzky gentoo org>
CommitDate: Fri Mar 6 21:31:58 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=01fc030a
eclass/tests/unpacker.sh: http -> https for updates.lokigames.com
$ curl -i http://updates.lokigames.com/sof/sof-1.06a-cdrom-x86.run
HTTP/1.1 301 Moved Permanently
Date: Fri, 06 Mar 2026 21:29:35 GMT
Server: Apache/2.4.58 (Ubuntu)
Location: https://updates.lokigames.com/sof/sof-1.06a-cdrom-x86.run
Content-Length: 352
Content-Type: text/html; charset=iso-8859-1
Signed-off-by: Michael Orlitzky gentoo.org>
eclass/tests/unpacker.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/tests/unpacker.sh b/eclass/tests/unpacker.sh
index ef17e724a851..4b2fcb030bb0 100755
--- a/eclass/tests/unpacker.sh
+++ b/eclass/tests/unpacker.sh
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -398,7 +398,7 @@ if [[ -n ${DISTDIR} ]]; then
# makeself 1.5.4, gzip
test_online \
- http://updates.lokigames.com/sof/sof-1.06a-cdrom-x86.run \
+ https://updates.lokigames.com/sof/sof-1.06a-cdrom-x86.run \
f76f605af08a19b77548455c0101e03aca7cae69462914e47911da2fadd6d4f3b766e1069556ead0d06c757b179ae2e8105e76ea37852f17796b47b4712aec87
\
update.sh \
ba7a3f8fa79bbed8ca3a34ead957aeaa308c6e6d6aedd603098aa9867ca745983ff98c83d65572e507f2c3c4e0778ae4984f8b69d2b8279741b06064253c5788
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: e970a02a8266d71d1ef066f1491007f0d9df08c8
Author: Mike Gilbert gentoo org>
AuthorDate: Thu Mar 5 20:28:38 2026 +
Commit: Mike Gilbert gentoo org>
CommitDate: Fri Mar 6 15:38:43 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e970a02a
udev.eclass: quote "${EPREFIX}" in parameter expansion
Prevents any wildcard characters from being applied.
Signed-off-by: Mike Gilbert gentoo.org>
eclass/udev.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/udev.eclass b/eclass/udev.eclass
index 0558566913ec..7d1c213fa643 100644
--- a/eclass/udev.eclass
+++ b/eclass/udev.eclass
@@ -57,7 +57,7 @@ _udev_get_udevdir() {
local -x PKG_CONFIG_FDO_SYSROOT_RULES=1
if $($(tc-getPKG_CONFIG) --exists udev); then
local udevdir="$($(tc-getPKG_CONFIG) --variable=udevdir udev)"
- echo "${udevdir#${EPREFIX}}"
+ echo "${udevdir#"${EPREFIX}"}"
else
echo /usr/lib/udev
fi
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: ed7b2a586abdd18f37f79a519bc8636038e32604
Author: Mike Gilbert gentoo org>
AuthorDate: Thu Mar 5 20:04:14 2026 +
Commit: Mike Gilbert gentoo org>
CommitDate: Fri Mar 6 15:38:41 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ed7b2a58
udev.eclass: default udevdir to /usr/lib/udev
systemd upstream always uses /usr/lib/udev since v255.
Signed-off-by: Mike Gilbert gentoo.org>
eclass/udev.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/udev.eclass b/eclass/udev.eclass
index 9867c68d5836..0558566913ec 100644
--- a/eclass/udev.eclass
+++ b/eclass/udev.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 2012-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: udev.eclass
@@ -59,7 +59,7 @@ _udev_get_udevdir() {
local udevdir="$($(tc-getPKG_CONFIG) --variable=udevdir udev)"
echo "${udevdir#${EPREFIX}}"
else
- echo /lib/udev
+ echo /usr/lib/udev
fi
}
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: ab20dbe934a8cebbe46e460912fbb01af82bc204
Author: Michał Górny gentoo org>
AuthorDate: Tue Mar 3 19:52:25 2026 +
Commit: Michał Górny gentoo org>
CommitDate: Tue Mar 3 20:03:11 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ab20dbe9
llvm.org.eclass: Add 23.0.0_pre20260303 snapshot
Signed-off-by: Michał Górny gentoo.org>
eclass/llvm.org.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 62fb010c2b29..10c1d64b86e8 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
_LLVM_SOURCE_TYPE=snapshot
case ${PV} in
+ 23.0.0_pre20260303)
+
EGIT_COMMIT=d908184487b9d99b249d4238453e91203492888a
+ ;;
23.0.0_pre20260223)
EGIT_COMMIT=0b95a494c90cb77a50415fb85196e1eb80f96a5d
;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 901353aabd8f0457553f39f9f03d65b7a750de37
Author: Robin H. Johnson gentoo org>
AuthorDate: Sun Mar 1 23:41:35 2026 +
Commit: Robin H. Johnson gentoo org>
CommitDate: Sun Mar 1 23:42:07 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=901353aa
eclass: Revert "llvm.org.eclass: Remove old snapshot"
This reverts commit b73af2e762c84e0f31f84ce3117647189618e8c0.
Suspect validation is causing mirror generation issues; need to rule
this out.
Signed-off-by: Robin H. Johnson gentoo.org>
eclass/llvm.org.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 05706453fe78..62fb010c2b29 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -78,6 +78,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
23.0.0_pre20260214)
EGIT_COMMIT=ab25249e63aba72be5365e5dc08c8d3c34d23276
;;
+ 23.0.0_pre20260207)
+
EGIT_COMMIT=8d2078332c23b10dcf3571adc1a186e5c65f82df
+ ;;
*)
die "Unknown snapshot: ${PV}"
;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 8932600dfca2ec57a4a5b2a56571824ecbf5a1af
Author: Viorel Munteanu gentoo org>
AuthorDate: Sun Mar 1 13:24:15 2026 +
Commit: Viorel Munteanu gentoo org>
CommitDate: Sun Mar 1 18:07:36 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8932600d
unpacker.eclass: Add support for makeself 2.5.0-2.7.1
Add support for makeself releases 2.5.0 through 2.7.1.
Tested with makeself 2.5.0, 2.6.0, 2.7.0 and 2.7.1.
Archives created with makeself 2.6.0 identify as 2.5.0, but the format
is similar so they can be unpacked regardless.
URI of files this has been tested with:
-
https://download.virtualbox.org/virtualbox/7.1.0/VirtualBox-7.1.0-164728-Linux_amd64.run
(2.4.5)
-
https://download.virtualbox.org/virtualbox/7.2.4/VirtualBox-7.2.4-170995-Linux_amd64.run
(2.5.0)
-
https://github.com/megastep/makeself/releases/download/release-2.5.0/makeself-2.5.0.run
(2.5.0)
-
https://github.com/megastep/makeself/releases/download/release-2.6.0/makeself-2.6.0.run
(2.6.0)
-
https://github.com/megastep/makeself/releases/download/release-2.7.0/makeself-2.7.0.run
(2.7.0)
-
https://github.com/megastep/makeself/releases/download/release-2.7.1/makeself-2.7.1.run
(2.7.1)
Closes: https://bugs.gentoo.org/970509
Signed-off-by: Viorel Munteanu gentoo.org>
eclass/unpacker.eclass | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/eclass/unpacker.eclass b/eclass/unpacker.eclass
index 0ace3ae53cb9..e51c51dfa339 100644
--- a/eclass/unpacker.eclass
+++ b/eclass/unpacker.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: unpacker.eclass
@@ -218,7 +218,8 @@ unpack_makeself() {
skip=$(head -n ${skip} "${src}" | wc -c)
exe="dd"
;;
- 2.4.5)
+ # 2.6.0's header also contains "2.5.0"; unpack_makeself
works in both cases
+ 2.4.5|2.5.0|2.7.0|2.7.1)
# e.g.: skip="713"
skip=$(
sed -n -e
'/^skip=/{s:skip="\(.*\)":\1:p;q}' "${src}"
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 41d623234817c221bacab5dff211a696d202af8f
Author: Sam James gentoo org>
AuthorDate: Sun Mar 1 17:30:07 2026 +
Commit: Sam James gentoo org>
CommitDate: Sun Mar 1 17:30:31 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41d62323
toolchain.eclass: add a proxy check for stage1 for accel build
Bug: https://bugs.gentoo.org/970714
Fixes: 977b73a1cb736846add244dbd55726ebec0f50f6
Signed-off-by: Sam James gentoo.org>
eclass/toolchain.eclass | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 2dd2ed59b22d..d051ef4dc2ec 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2846,7 +2846,10 @@ gcc_movelibs() {
# Without this, we end up either unable to find the libgomp
spec/archive, or
# we underlink and can't find gomp_nvptx_main (presumably because we
can't find the plugin)
#
https://src.fedoraproject.org/rpms/gcc/blob/02c34dfa3627ef05d676d30e152a66e77b58529b/f/gcc.spec#_1445
- if [[ ${CATEGORY} == cross-accel-nvptx* ]] ; then
+ #
+ # openmp/fortran check is needed here to know if we're in the stage1
+ # build or not.
+ if [[ ${CATEGORY} == cross-accel-nvptx* ]] && { _tc_use_if_iuse openmp
|| is_fortran ; } ; then
rm -rf
"${ED}"/usr/libexec/gcc/nvptx-none/${GCCMAJOR}/install-tools
rm -rf
"${ED}"/usr/libexec/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/{install-tools,plugin,cc1,cc1plus}
is_fortran && rm -rf
"${ED}"/usr/libexec/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/f951
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 977b73a1cb736846add244dbd55726ebec0f50f6
Author: Sam James gentoo org>
AuthorDate: Sat Feb 28 23:06:20 2026 +
Commit: Sam James gentoo org>
CommitDate: Sat Feb 28 23:06:32 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=977b73a1
toolchain.eclass: fix moving accel bits w/ USE=-fortran
Just conditionalise the f951 removal instead.
Bug: https://bugs.gentoo.org/970714
Signed-off-by: Sam James gentoo.org>
eclass/toolchain.eclass | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index b77c0b69aab5..2dd2ed59b22d 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2846,9 +2846,11 @@ gcc_movelibs() {
# Without this, we end up either unable to find the libgomp
spec/archive, or
# we underlink and can't find gomp_nvptx_main (presumably because we
can't find the plugin)
#
https://src.fedoraproject.org/rpms/gcc/blob/02c34dfa3627ef05d676d30e152a66e77b58529b/f/gcc.spec#_1445
- if [[ ${CATEGORY} == cross-accel-nvptx* ]] && is_fortran ; then
+ if [[ ${CATEGORY} == cross-accel-nvptx* ]] ; then
rm -rf
"${ED}"/usr/libexec/gcc/nvptx-none/${GCCMAJOR}/install-tools
- rm -rf
"${ED}"/usr/libexec/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/{install-tools,plugin,cc1,cc1plus,f951}
+ rm -rf
"${ED}"/usr/libexec/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/{install-tools,plugin,cc1,cc1plus}
+ is_fortran && rm -rf
"${ED}"/usr/libexec/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/f951
+
rm -rf
"${ED}"/usr/lib/gcc/nvptx-none/${GCCMAJOR}/{install-tools,plugin}
rm -rf
"${ED}"/usr/lib/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/{install-tools,plugin,include-fixed}
mv "${ED}"/usr/nvptx-none/lib/*.{a,spec}
"${ED}"/usr/lib/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: c088a1b6d651073ce434de200b5461efacf12def Author: Michał Górny gentoo org> AuthorDate: Thu Feb 26 04:49:09 2026 + Commit: Michał Górny gentoo org> CommitDate: Fri Feb 27 03:51:51 2026 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c088a1b6 llvm.eclass: Update deprecation to point to llvm-r2 Signed-off-by: Michał Górny gentoo.org> eclass/llvm.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclass/llvm.eclass b/eclass/llvm.eclass index 7314fd381806..592bfe226c96 100644 --- a/eclass/llvm.eclass +++ b/eclass/llvm.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: llvm.eclass @@ -9,7 +9,7 @@ # @SUPPORTED_EAPIS: 7 8 # @PROVIDES: llvm-utils # @BLURB: Utility functions to build against slotted LLVM -# @DEPRECATED: llvm-r1.eclass +# @DEPRECATED: llvm-r2.eclass # @DESCRIPTION: # The llvm.eclass provides utility functions that can be used to build # against specific version of slotted LLVM (with fallback to :0 for old
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: f21c532a57f594351d7e9cbdf99dd90a3b86ce11 Author: Michał Górny gentoo org> AuthorDate: Thu Feb 26 04:49:02 2026 + Commit: Michał Górny gentoo org> CommitDate: Fri Feb 27 03:51:51 2026 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f21c532a llvm-r1.eclass: Mark @DEPRECATED Signed-off-by: Michał Górny gentoo.org> eclass/llvm-r1.eclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eclass/llvm-r1.eclass b/eclass/llvm-r1.eclass index fc9fab75e8f6..55cb0c0cafd0 100644 --- a/eclass/llvm-r1.eclass +++ b/eclass/llvm-r1.eclass @@ -1,4 +1,4 @@ -# Copyright 2024-2025 Gentoo Authors +# Copyright 2024-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: llvm-r1.eclass @@ -9,6 +9,7 @@ # @SUPPORTED_EAPIS: 8 # @PROVIDES: llvm-utils # @BLURB: Provide LLVM_SLOT to build against slotted LLVM +# @DEPRECATED: llvm-r2.eclass # @DESCRIPTION: # An eclass to reliably depend on a set of LLVM-related packages # in a matching slot. To use the eclass:
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: b47918a7f9f549db3ed2e073223bfb10d482e943
Author: Jonas Rakebrandt protonmail com>
AuthorDate: Thu Feb 26 14:50:32 2026 +
Commit: Michał Górny gentoo org>
CommitDate: Fri Feb 27 03:51:51 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b47918a7
llvm-r2.eclass: handle +* version suffix
Signed-off-by: Jonas Rakebrandt protonmail.com>
Part-of: https://bugs.gentoo.org/948500
Closes: https://bugs.gentoo.org/948500
Signed-off-by: Michał Górny gentoo.org>
eclass/llvm-r2.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/llvm-r2.eclass b/eclass/llvm-r2.eclass
index 57018edc6819..f0b0493f83e3 100644
--- a/eclass/llvm-r2.eclass
+++ b/eclass/llvm-r2.eclass
@@ -1,4 +1,4 @@
-# Copyright 2024-2025 Gentoo Authors
+# Copyright 2024-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: llvm-r2.eclass
@@ -275,6 +275,7 @@ generate_llvm_config() {
# major + suffix
local shlib_name=LLVM-${version%%.*}
[[ ${version} == *git* ]] && shlib_name+="git${version##*git}"
+ [[ ${version} == *+* && ${shlib_name} != *+* ]] &&
shlib_name+="+${version##*+}"
local components=(
"${libs[@]#LLVM}" "${targets[@]}"
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: c401c6d20573f3be279cb39bea827ddab730daf6
Author: Michał Górny gentoo org>
AuthorDate: Wed Feb 25 18:54:12 2026 +
Commit: Michał Górny gentoo org>
CommitDate: Wed Feb 25 18:55:33 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c401c6d2
llvm.org.eclass: Fix manpages again, sigh
Signed-off-by: Michał Górny gentoo.org>
eclass/llvm.org.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index a8a44743f320..05706453fe78 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -317,7 +317,7 @@ llvm.org_set_globals() {
LLVM_MANPAGE_DIST="llvm-${LLVM_MAJOR}.1.0-manpages.tar.xz"
;;
22*)
-
LLVM_MANPAGE_DIST="llvm-${LLVM_MAJOR}.1.0-r1-manpages.tar.xz"
+
LLVM_MANPAGE_DIST="llvm-${LLVM_MAJOR}.1.0-r2-manpages.tar.xz"
;;
esac
fi
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 868a837f8cceeae426b73f469ab471b2d566e2dc
Author: Michał Górny gentoo org>
AuthorDate: Wed Feb 25 17:00:55 2026 +
Commit: Michał Górny gentoo org>
CommitDate: Wed Feb 25 17:05:07 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=868a837f
llvm.org.eclass: Fix manpage dist for 22.x
Signed-off-by: Michał Górny gentoo.org>
eclass/llvm.org.eclass | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 06841333cae1..a8a44743f320 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -313,9 +313,12 @@ llvm.org_set_globals() {
1[89]*)
LLVM_MANPAGE_DIST="llvm-${LLVM_MAJOR}.1.0-manpages.tar.bz2"
;;
- 2[0-2]*)
+ 2[0-1]*)
LLVM_MANPAGE_DIST="llvm-${LLVM_MAJOR}.1.0-manpages.tar.xz"
;;
+ 22*)
+
LLVM_MANPAGE_DIST="llvm-${LLVM_MAJOR}.1.0-r1-manpages.tar.xz"
+ ;;
esac
fi
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: f72fb342332adc447a87b8ac6e4796c0fa42d726
Author: Ulrich Müller gentoo org>
AuthorDate: Sat Feb 21 09:30:47 2026 +
Commit: Ulrich Müller gentoo org>
CommitDate: Sat Feb 21 09:30:47 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f72fb342
Revert "shell-completion.eclass: Support EAPI 9"
This reverts commit 4b2ae2a72a1e1aaf4afebcffb1cc4a84cf0d7739.
Signed-off-by: Ulrich Müller gentoo.org>
eclass/shell-completion.eclass | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/eclass/shell-completion.eclass b/eclass/shell-completion.eclass
index c679ae4db983..caccdee7b19b 100644
--- a/eclass/shell-completion.eclass
+++ b/eclass/shell-completion.eclass
@@ -1,4 +1,4 @@
-# Copyright 2023-2025 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: shell-completion.eclass
@@ -7,7 +7,7 @@
# Florian Schmaus
# @AUTHOR:
# Alfred Wingate
-# @SUPPORTED_EAPIS: 8 9
+# @SUPPORTED_EAPIS: 8
# @PROVIDES: bash-completion-r1
# @BLURB: a few quick functions to install various shell completion files
# @DESCRIPTION:
@@ -15,14 +15,14 @@
# for popular shells. It inherits the already widely adopted
# 'bash-completion-r1', thus extending on its functionality.
-if [[ -z ${_SHELL_COMPLETION_ECLASS} ]]; then
-_SHELL_COMPLETION_ECLASS=1
-
case ${EAPI} in
- 8|9) ;;
+ 8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported"
esac
+if [[ -z ${_SHELL_COMPLETION_ECLASS} ]]; then
+_SHELL_COMPLETION_ECLASS=1
+
# Extend bash-completion-r1
inherit bash-completion-r1
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: f5707053d17b928af12627d58b608c36f75f2aab
Author: Zurab Kvachadze gmail com>
AuthorDate: Sun Feb 8 19:01:56 2026 +
Commit: Sam James gentoo org>
CommitDate: Fri Feb 20 19:09:34 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f5707053
nginx-module.eclass: Use response file in ngx_mod_append_libs()
Previously, the arguments were appended into the patched-in environment
variable that would feed its contents into the build system of NGINX,
which caused many funny issues that can be discovered, for example, by
looking this commit's diff.
This commit instead makes use of the awesome response files, which allow
putting arguments in a file and have the compiler interpret them
directly without 4 layers of eval and a very helpful Make
interpretation. Thank you.
Signed-off-by: Zurab Kvachadze gmail.com>
Signed-off-by: Sam James gentoo.org>
eclass/nginx-module.eclass | 104 +
1 file changed, 21 insertions(+), 83 deletions(-)
diff --git a/eclass/nginx-module.eclass b/eclass/nginx-module.eclass
index 0ab4a64dccb6..efa93f376701 100644
--- a/eclass/nginx-module.eclass
+++ b/eclass/nginx-module.eclass
@@ -35,11 +35,11 @@
# linked to shared objects of the specified dependencies. See the variable
# description for details.
#
-# If the dependencies are USE-conditional, they should be specified as
-# usual in the relevant *DEPEND variable(s). Then, before
-# nginx-module_src_configure() is called, the dependencies should be linked to
by
-# calling the ngx_mod_link_module() function. See the function description for
-# more information.
+# If the dependencies are USE-conditional, they should be specified as usual in
+# the relevant *DEPEND variable(s). Then, before nginx-module_src_compile() is
+# called, the dependencies should be linked to by calling the
+# ngx_mod_link_module() function. See the function description for more
+# information.
#
# nginx-module.eclass also supports tests provided by the Test::Nginx Perl
# module. To enable them, set NGINX_MOD_OPENRESTY_TESTS to a non-empty value
@@ -183,9 +183,6 @@ ngx_mod_pkg_to_sonames() {
# module's shared objects. Flags may be of any form accepted by linker.
# See the nginx_src_install() function in nginx.eclass for more details.
#
-# This function has no effect after nginx-module_src_configure() has been
-# called.
-#
# Example usage:
# @CODE
# ngx_mod_append_libs "-L/usr/$(get_libdir)/nginx/modules" \
@@ -195,7 +192,18 @@ ngx_mod_append_libs() {
debug-print-function "${FUNCNAME[0]}" "$@"
[[ $# -eq 0 ]] && return 0
- export _NGINX_GENTOO_MOD_LIBS="${_NGINX_GENTOO_MOD_LIBS} $*"
+ local resp_file="${T}/append-libs-resp-file"
+
+ # Setup the response file. Make sure to do it only once.
+ if [[ -z ${_NGX_MOD_RESP_FILE_SET_UP} ]]; then
+ touch "${resp_file}" || die "touch failed"
+ export _NGINX_GENTOO_MOD_LIBS+=" @${resp_file}"
+ declare -g -r _NGX_MOD_RESP_FILE_SET_UP=1
+ fi
+
+ # If multiple arguments are passed, expand them as separate words so
that
+ # printf prints separate arguments on separate lines.
+ printf '%s\n' "$@" >> "${resp_file}" || die "printf failed"
}
# @FUNCTION: ngx_mod_setup_link_modules
@@ -216,78 +224,9 @@ ngx_mod_setup_link_modules() {
local moddir
moddir="${EPREFIX}/usr/$(get_libdir)/nginx/modules"
- # Add 'moddir' to the list of directories search by linker.
- ngx_mod_append_libs "-L${moddir}"
-
- # The string passed to ngx_mod_append_libs undergoes the following
- # transformations by NGINX build system (the str variable denotes the
- # original string and 'modname' represents the name of the current
module):
- # 0. Given the value of 'str':
- # $ echo "${str}"
- # -Wl,-rpath,'\''\$\${ORIGIN}'\''
- #
- # 1. In auto/module, line 93:
- # eval ${modname}_libs=\'$str\'.
- # yields
- # modname_libs='-Wl,-rpath,'\''\$\${ORIGIN}'\'''
- # which can be logically separated into
- # (a) '-Wl,-rpath,'
- # ^
- # |
- # The first original single quote (\'$str\')
- # ^
- # |
- # This one
- # (b) \' (backslash-escaped semicolon)
- # (c) '\$\${ORIGIN}'
- # (d) \'
- # (e) ''
- # ^
- # |
- # The last original single quote (\'$str\')
- # ^
- # |
- #
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 9f60bd05b57239f586594eebe7c8e1770a1c13ca
Author: Ulrich Müller gentoo org>
AuthorDate: Sun Feb 1 16:25:18 2026 +
Commit: Ulrich Müller gentoo org>
CommitDate: Fri Feb 20 17:23:59 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f60bd05
go-module.eclass: Document _go-module_* as internal functions
Signed-off-by: Ulrich Müller gentoo.org>
eclass/go-module.eclass | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/eclass/go-module.eclass b/eclass/go-module.eclass
index 411d0cd8ea58..2399fb56e9a9 100644
--- a/eclass/go-module.eclass
+++ b/eclass/go-module.eclass
@@ -1,4 +1,4 @@
-# Copyright 2019-2025 Gentoo Authors
+# Copyright 2019-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: go-module.eclass
@@ -389,6 +389,7 @@ go-module_src_unpack() {
}
# @FUNCTION: _go-module_src_unpack_gosum
+# @INTERNAL
# @DEPRECATED: none
# @DESCRIPTION:
# Populate a GOPROXY directory hierarchy with distfiles from EGO_SUM and
@@ -435,6 +436,7 @@ _go-module_src_unpack_gosum() {
}
# @FUNCTION: _go-module_gosum_synthesize_files
+# @INTERNAL
# @DEPRECATED: none
# @DESCRIPTION:
# Given a path & version, populate all Goproxy metadata files which aren't
@@ -463,6 +465,7 @@ _go-module_gosum_synthesize_files() {
}
# @FUNCTION: _go-module_src_unpack_verify_gosum
+# @INTERNAL
# @DEPRECATED: none
# @DESCRIPTION:
# Validate the Go modules declared by EGO_SUM are sufficient to cover building
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: a014e9a79bd4c6c5b1ef6247327fc7e15f927d78 Author: Ulrich Müller gentoo org> AuthorDate: Wed Dec 17 15:30:01 2025 + Commit: Ulrich Müller gentoo org> CommitDate: Sat Feb 21 08:19:55 2026 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a014e9a7 portability.eclass: Support EAPI 9 Acked-by: Sam James gentoo.org> Signed-off-by: Ulrich Müller gentoo.org> eclass/portability.eclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/eclass/portability.eclass b/eclass/portability.eclass index 9efc9bfe4134..c583ebf7516c 100644 --- a/eclass/portability.eclass +++ b/eclass/portability.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: portability.eclass @@ -6,14 +6,14 @@ # [email protected] # @AUTHOR: # Diego Pettenò -# @SUPPORTED_EAPIS: 7 8 +# @SUPPORTED_EAPIS: 7 8 9 # @BLURB: This eclass is created to avoid using non-portable GNUisms inside ebuilds if [[ -z ${_PORTABILITY_ECLASS} ]]; then _PORTABILITY_ECLASS=1 case ${EAPI} in - 7|8) ;; + 7|8|9) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 10cd3af0dbcb6cb2ee3cb36658b9bfbc1d007908 Author: Ulrich Müller gentoo org> AuthorDate: Wed Dec 17 15:29:47 2025 + Commit: Ulrich Müller gentoo org> CommitDate: Sat Feb 21 09:08:25 2026 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=10cd3af0 libtool.eclass: Support EAPI 9 Acked-by: Sam James gentoo.org> Signed-off-by: Ulrich Müller gentoo.org> eclass/libtool.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclass/libtool.eclass b/eclass/libtool.eclass index 18596a922307..de5656bfd2bb 100644 --- a/eclass/libtool.eclass +++ b/eclass/libtool.eclass @@ -4,7 +4,7 @@ # @ECLASS: libtool.eclass # @MAINTAINER: # [email protected] -# @SUPPORTED_EAPIS: 7 8 +# @SUPPORTED_EAPIS: 7 8 9 # @BLURB: quickly update bundled libtool code # @DESCRIPTION: # This eclass patches ltmain.sh distributed with libtoolized packages with the @@ -18,7 +18,7 @@ if [[ -z ${_LIBTOOL_ECLASS} ]]; then _LIBTOOL_ECLASS=1 case ${EAPI} in - 7|8) ;; + 7|8|9) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 6839bbb1e7ca3c8f7bebd63dd4df157f9e3cd7bc
Author: Ulrich Müller gentoo org>
AuthorDate: Sun Feb 1 16:27:06 2026 +
Commit: Ulrich Müller gentoo org>
CommitDate: Fri Feb 20 17:24:01 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6839bbb1
pypi.eclass: Document _pypi_translate_version as internal function
Signed-off-by: Ulrich Müller gentoo.org>
eclass/pypi.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/pypi.eclass b/eclass/pypi.eclass
index 493abd8a95d9..d98fdc547d3d 100644
--- a/eclass/pypi.eclass
+++ b/eclass/pypi.eclass
@@ -119,6 +119,7 @@ pypi_normalize_name() {
# @FUNCTION: _pypi_translate_version
# @USAGE:
+# @INTERNAL
# @DESCRIPTION:
# Internal version translation function, returns the result
# via _PYPI_TRANSLATED_VERSION variable.
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 6509ad72eab0561ffdf39b6e8292c84898007450
Author: Zurab Kvachadze gmail com>
AuthorDate: Sun Feb 8 19:02:00 2026 +
Commit: Sam James gentoo org>
CommitDate: Fri Feb 20 19:09:35 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6509ad72
nginx.eclass: Support EAPI 9
In EAPI 9, NGINX_SUPPORT_MODULE_STUBS is enabled unconditionally.
Signed-off-by: Zurab Kvachadze gmail.com>
Signed-off-by: Sam James gentoo.org>
eclass/nginx.eclass | 20 ++--
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/eclass/nginx.eclass b/eclass/nginx.eclass
index 05576be94a42..fbe2ddaa8826 100644
--- a/eclass/nginx.eclass
+++ b/eclass/nginx.eclass
@@ -6,7 +6,7 @@
# Zurab Kvachadze
# @AUTHOR:
# Zurab Kvachadze
-# @SUPPORTED_EAPIS: 8
+# @SUPPORTED_EAPIS: 8 9
# @BLURB: Provides a common set of functions for building the NGINX server
# @DESCRIPTION:
# This eclass automates building, testing and installation of the NGINX server.
@@ -21,15 +21,20 @@
# - NGINX_TESTS_COMMIT
# And 1 optional variable (see description):
# - NGINX_MISC_FILES
+#
+# EAPI porting notes:
+# - 8 -> 9:
+#* NGINX_SUPPORT_MODULE_STUBS is enabled unconditionally.
+
+if [[ -z ${_NGINX_ECLASS} ]]; then
+_NGINX_ECLASS=1
case ${EAPI} in
- 8) inherit eapi9-pipestatus ;;
+ 8) inherit eapi9-pipestatus edo ;;
+ 9) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_NGINX_ECLASS} ]]; then
-_NGINX_ECLASS=1
-
# The 60tmpfiles-paths install check produces QA warning if it does not detect
# tmpfiles_process() in pkg_postinst(). Even though the tmpfiles_process() is
# clearly called in nginx_pkg_postinst(), the QA check can not deal with
@@ -37,7 +42,7 @@ _NGINX_ECLASS=1
# Nonetheless, it is possible to opt out from the QA check by setting the
# TMPFILES_OPTIONAL variable.
TMPFILES_OPTIONAL=1
-inherit edo multiprocessing perl-functions systemd toolchain-funcs tmpfiles
+inherit multiprocessing perl-functions systemd toolchain-funcs tmpfiles
#-> ebuild-defined variables <-
@@ -228,6 +233,9 @@ has "${NGINX_UPDATE_STREAM}"
"${NGX_UPDATE_STREAMS_LIST[@]}" ||
# /etc/nginx/modules-{available,enabled} and to make the default config load
# .conf stubs from /etc/nginx/modules-enabled. See nginx_src_install() for
# details.
+#
+# In EAPI 9, the functionality is unconditionally enabled.
+[[ ${EAPI} != 8 ]] && readonly NGINX_SUPPORT_MODULE_STUBS=1
#-> ebuild setup <-
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 18cf914fd15de09ae033e45e4b399cdb671e9d62 Author: Ulrich Müller gentoo org> AuthorDate: Wed Dec 17 15:29:27 2025 + Commit: Ulrich Müller gentoo org> CommitDate: Sat Feb 21 08:37:02 2026 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18cf914f cdrom.eclass: Support EAPI 9 Acked-by: Ionen Wolkens gentoo.org> Signed-off-by: Ulrich Müller gentoo.org> eclass/cdrom.eclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/eclass/cdrom.eclass b/eclass/cdrom.eclass index c4d7d59beadb..73faa996b0c6 100644 --- a/eclass/cdrom.eclass +++ b/eclass/cdrom.eclass @@ -1,10 +1,10 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: cdrom.eclass # @MAINTAINER: # [email protected] -# @SUPPORTED_EAPIS: 7 8 +# @SUPPORTED_EAPIS: 7 8 9 # @BLURB: Functions for CD-ROM handling # @DESCRIPTION: # Acquire CD(s) for those lovely CD-based emerges. Yes, this violates @@ -19,7 +19,7 @@ if [[ -z ${_CDROM_ECLASS} ]]; then _CDROM_ECLASS=1 case ${EAPI} in - 7|8) ;; + 7|8|9) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 0de39184a009f528d1d547f1ed03649fa6239351
Author: Sam James gentoo org>
AuthorDate: Sat Feb 21 18:21:40 2026 +
Commit: Sam James gentoo org>
CommitDate: Sat Feb 21 18:22:08 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0de39184
toolchain.eclass: respect USE=pie for --enalble-host-pie
Bug: https://bugs.gentoo.org/970413
Signed-off-by: Sam James gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 8efe5417747b..d9b5d3eb03a8 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1852,7 +1852,7 @@ toolchain_src_configure() {
confgcc+=( $(use_enable pie default-pie) )
if tc_version_is_at_least 14.1 ${PV} || tc_version_is_at_least
13.4.1_p20250814 ${PV} ; then
- confgcc+=( --enable-host-pie )
+ confgcc+=( $(use_enable pie host-pie) )
fi
fi
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 2cc5ba09184fe30fd61ed0e00464e09f7852b936
Author: Ulrich Müller gentoo org>
AuthorDate: Sun Feb 1 16:25:40 2026 +
Commit: Ulrich Müller gentoo org>
CommitDate: Fri Feb 20 17:24:00 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2cc5ba09
ninja-utils.eclass: Document _ninja_uses_jobserver as internal function
Signed-off-by: Ulrich Müller gentoo.org>
eclass/ninja-utils.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/ninja-utils.eclass b/eclass/ninja-utils.eclass
index 1ffb358d7fa1..34987a7b66b9 100644
--- a/eclass/ninja-utils.eclass
+++ b/eclass/ninja-utils.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: ninja-utils.eclass
@@ -73,6 +73,7 @@ case ${NINJA} in
esac
# @FUNCTION: _ninja_uses_jobserver
+# @INTERNAL
# @DESCRIPTION:
# Return true if current ${NINJA} has jobserver support and we have one
# running (via MAKEFLAGS).
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 18657216e7acc90b3292e64bf96e1c8af4527220
Author: Ulrich Müller gentoo org>
AuthorDate: Wed Dec 17 15:29:40 2025 +
Commit: Ulrich Müller gentoo org>
CommitDate: Sat Feb 21 08:24:10 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18657216
gnuconfig.eclass: Support EAPI 9
Acked-by: Sam James gentoo.org>
Signed-off-by: Ulrich Müller gentoo.org>
eclass/gnuconfig.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/gnuconfig.eclass b/eclass/gnuconfig.eclass
index a7c9e1672f39..0fb27d4f6f02 100644
--- a/eclass/gnuconfig.eclass
+++ b/eclass/gnuconfig.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: gnuconfig.eclass
@@ -6,7 +6,7 @@
# Sam James
# @AUTHOR:
# Will Woods
-# @SUPPORTED_EAPIS: 7 8
+# @SUPPORTED_EAPIS: 7 8 9
# @BLURB: Refresh bundled gnuconfig files (config.guess, config.sub)
# @DESCRIPTION:
# This eclass is used to automatically update files that typically come with
@@ -20,7 +20,7 @@ if [[ -z ${_GNUCONFIG_ECLASS} ]] ; then
_GNUCONFIG_CLASS=1
case ${EAPI} in
- 7|8) ;;
+ 7|8|9) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 9d1d618bb5486786e951882d07e31515279ce277
Author: Zurab Kvachadze gmail com>
AuthorDate: Sun Feb 8 19:01:55 2026 +
Commit: Sam James gentoo org>
CommitDate: Fri Feb 20 19:09:33 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9d1d618b
nginx.eclass: Use DESTDIR="${D}" instead of ${ED} in src_install()
All the other paths include ${EPREFIX} so setting DESTDIR to ${ED}
doubles ${EPREFIX}, leading to bug 969036.
This commit sets DESTDIR="${D}" as it should have been from the
start[1].
[1]:
https://wiki.gentoo.org/wiki/Project:Prefix/Technical_Documentation#The_variables_ED_and_EROOT
Closes: https://bugs.gentoo.org/969036
Signed-off-by: Zurab Kvachadze gmail.com>
Signed-off-by: Sam James gentoo.org>
eclass/nginx.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/nginx.eclass b/eclass/nginx.eclass
index d52d9df7b085..a67da18edef8 100644
--- a/eclass/nginx.eclass
+++ b/eclass/nginx.eclass
@@ -762,7 +762,7 @@ nginx_src_test() {
# and NGINX headers into '/usr/include/nginx'.
nginx_src_install() {
debug-print-function "${FUNCNAME[0]}" "$@"
- emake DESTDIR="${ED}" install
+ emake DESTDIR="${D}" install
keepdir "/usr/$(get_libdir)/nginx/modules"
keepdir /var/log/nginx
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 88edeac4eff9f84f30898d487ac2c5e66321dd61
Author: Ulrich Müller gentoo org>
AuthorDate: Sun Feb 1 16:23:20 2026 +
Commit: Ulrich Müller gentoo org>
CommitDate: Fri Feb 20 17:23:57 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=88edeac4
cargo.eclass: Document _cargo_set_crate_uris as internal function
Signed-off-by: Ulrich Müller gentoo.org>
eclass/cargo.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index cbde35be727b..76d3b9a61a64 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: cargo.eclass
@@ -257,6 +257,7 @@ _cargo_check_initialized() {
# @FUNCTION: _cargo_set_crate_uris
# @USAGE:
+# @INTERNAL
# @DESCRIPTION:
# Generates the URIs to put in SRC_URI to help fetch dependencies.
# Constructs a list of crates from its arguments.
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: fee28edca81c8917bfba999056c6243edc8a3390 Author: Ulrich Müller gentoo org> AuthorDate: Sun Feb 1 16:28:19 2026 + Commit: Ulrich Müller gentoo org> CommitDate: Fri Feb 20 17:24:01 2026 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fee28edc rocm.eclass: Document _rocm_set_globals as internal function Signed-off-by: Ulrich Müller gentoo.org> eclass/rocm.eclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eclass/rocm.eclass b/eclass/rocm.eclass index c24666e33e8d..ab5ba75b34ca 100644 --- a/eclass/rocm.eclass +++ b/eclass/rocm.eclass @@ -1,4 +1,4 @@ -# Copyright 2022-2025 Gentoo Authors +# Copyright 2022-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: rocm.eclass @@ -142,6 +142,7 @@ inherit flag-o-matic # @CODE # @FUNCTION: _rocm_set_globals +# @INTERNAL # @DESCRIPTION: # Set global variables useful to ebuilds: IUSE, ROCM_REQUIRED_USE, and # ROCM_USEDEP, unless ROCM_SKIP_GLOBALS is set.
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 3fb60830e0b810222c277389b201e0d2fc50508a Author: Ulrich Müller gentoo org> AuthorDate: Wed Dec 17 15:29:27 2025 + Commit: Ulrich Müller gentoo org> CommitDate: Sat Feb 21 09:08:23 2026 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3fb60830 bash-completion-r1.eclass: Support EAPI 9 Acked-by: Arthur Zamarin gentoo.org> Signed-off-by: Ulrich Müller gentoo.org> eclass/bash-completion-r1.eclass | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/eclass/bash-completion-r1.eclass b/eclass/bash-completion-r1.eclass index 2220cb2be508..c120806edf37 100644 --- a/eclass/bash-completion-r1.eclass +++ b/eclass/bash-completion-r1.eclass @@ -1,10 +1,10 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: bash-completion-r1.eclass # @MAINTAINER: # [email protected] -# @SUPPORTED_EAPIS: 7 8 +# @SUPPORTED_EAPIS: 7 8 9 # @BLURB: A few quick functions to install bash-completion files # @EXAMPLE: # @@ -26,13 +26,13 @@ if [[ -z ${_BASH_COMPLETION_R1_ECLASS} ]]; then _BASH_COMPLETION_R1_ECLASS=1 -inherit toolchain-funcs - case ${EAPI} in - 7|8) ;; + 7|8|9) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac +inherit toolchain-funcs + # @FUNCTION: _bash-completion-r1_get_bashdir # @INTERNAL # @DESCRIPTION:
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 6792666cc4fc89d9df12c2598939117d3ff39775
Author: Michał Górny gentoo org>
AuthorDate: Mon Feb 23 20:24:38 2026 +
Commit: Michał Górny gentoo org>
CommitDate: Mon Feb 23 20:49:12 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6792666c
llvm.org.eclass: Add 23.0.0_pre20260223 snapshot
Signed-off-by: Michał Górny gentoo.org>
eclass/llvm.org.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 49b23978c94c..5599ff20458b 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
_LLVM_SOURCE_TYPE=snapshot
case ${PV} in
+ 23.0.0_pre20260223)
+
EGIT_COMMIT=0b95a494c90cb77a50415fb85196e1eb80f96a5d
+ ;;
23.0.0_pre20260214)
EGIT_COMMIT=ab25249e63aba72be5365e5dc08c8d3c34d23276
;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: b5d8a48a9ec556e59baf53a2476fd8527aea05f6
Author: Ulrich Müller gentoo org>
AuthorDate: Mon Jan 26 07:01:33 2026 +
Commit: Ulrich Müller gentoo org>
CommitDate: Sat Feb 21 10:35:01 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b5d8a48a
elisp-common.eclass: Update NEED_EMACS
The minimum version in the tree is 26.3. Also update related comments.
Signed-off-by: Ulrich Müller gentoo.org>
eclass/elisp-common.eclass | 16
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 4870ef5b8db1..b07ceaf63ce7 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: elisp-common.eclass
@@ -25,21 +25,21 @@
# When relying on the emacs USE flag, you need to add
#
# @CODE
-# emacs? ( >=app-editors/emacs-25.3:* )
+# emacs? ( >=app-editors/emacs-26.3:* )
# @CODE
#
# to your DEPEND/RDEPEND line and use the functions provided here to
# bring the files to the correct locations.
#
-# If your package requires a minimum Emacs version, e.g. Emacs 26.1,
-# then the dependency should be on >=app-editors/emacs-26.1:* instead.
+# If your package requires a minimum Emacs version, e.g. Emacs 30.1,
+# then the dependency should be on >=app-editors/emacs-30.1:* instead.
# Because the user can select the Emacs executable with eselect, you
# should also make sure that the active Emacs version is sufficient.
# The eclass will automatically ensure this if you assign variable
# NEED_EMACS with the Emacs version, as in the following example:
#
# @CODE
-# NEED_EMACS=26.1
+# NEED_EMACS=30.1
# @CODE
#
# Please note that this should be done only for packages that are known
@@ -206,7 +206,7 @@ EMACS=${EPREFIX}/usr/bin/emacs
# @ECLASS_VARIABLE: EMACSFLAGS
# @DESCRIPTION:
# Flags for executing Emacs in batch mode.
-# These work for Emacs versions 18-24, so don't change them.
+# These work for Emacs versions 18 to 30, so don't change them.
EMACSFLAGS="-batch -q --no-site-file"
# @ECLASS_VARIABLE: BYTECOMPFLAGS
@@ -217,7 +217,7 @@ BYTECOMPFLAGS="-L ."
# @ECLASS_VARIABLE: NEED_EMACS
# @DESCRIPTION:
# The minimum Emacs version required for the package.
-: "${NEED_EMACS:=25.3}"
+: "${NEED_EMACS:=26.3}"
# @ECLASS_VARIABLE: _ELISP_EMACS_VERSION
# @INTERNAL
@@ -234,7 +234,7 @@ elisp-emacs-version() {
local version ret tmout="timeout -k 5 55"
# Run without timeout if the command is not available
${tmout} true &>/dev/null || tmout=""
- # The following will work for at least versions 18-24.
+ # The following will work for at least versions 18 to 30.
echo "(princ emacs-version)" >"${T}"/emacs-version.el
version=$(
# EMACS could be a microemacs variant that ignores the -batch
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 4b2ae2a72a1e1aaf4afebcffb1cc4a84cf0d7739
Author: Ulrich Müller gentoo org>
AuthorDate: Wed Dec 17 15:30:12 2025 +
Commit: Ulrich Müller gentoo org>
CommitDate: Sat Feb 21 09:08:23 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4b2ae2a7
shell-completion.eclass: Support EAPI 9
Acked-by: Arthur Zamarin gentoo.org>
Signed-off-by: Ulrich Müller gentoo.org>
eclass/shell-completion.eclass | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/eclass/shell-completion.eclass b/eclass/shell-completion.eclass
index caccdee7b19b..c679ae4db983 100644
--- a/eclass/shell-completion.eclass
+++ b/eclass/shell-completion.eclass
@@ -1,4 +1,4 @@
-# Copyright 2023-2024 Gentoo Authors
+# Copyright 2023-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: shell-completion.eclass
@@ -7,7 +7,7 @@
# Florian Schmaus
# @AUTHOR:
# Alfred Wingate
-# @SUPPORTED_EAPIS: 8
+# @SUPPORTED_EAPIS: 8 9
# @PROVIDES: bash-completion-r1
# @BLURB: a few quick functions to install various shell completion files
# @DESCRIPTION:
@@ -15,14 +15,14 @@
# for popular shells. It inherits the already widely adopted
# 'bash-completion-r1', thus extending on its functionality.
+if [[ -z ${_SHELL_COMPLETION_ECLASS} ]]; then
+_SHELL_COMPLETION_ECLASS=1
+
case ${EAPI} in
- 8) ;;
+ 8|9) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported"
esac
-if [[ -z ${_SHELL_COMPLETION_ECLASS} ]]; then
-_SHELL_COMPLETION_ECLASS=1
-
# Extend bash-completion-r1
inherit bash-completion-r1
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: c8edc25b3fd40bd86168c8c4427da1ad60c01631
Author: Sam James gentoo org>
AuthorDate: Mon Feb 23 00:31:01 2026 +
Commit: Sam James gentoo org>
CommitDate: Mon Feb 23 00:31:01 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8edc25b
toolchain.eclass: hoist libada condition up
Followup to 39a3781ddc4431b2485852a56a1fe2971fe2b86d.
Bug: https://bugs.gentoo.org/970098
Signed-off-by: Sam James gentoo.org>
eclass/toolchain.eclass | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 02cec10e2768..b77c0b69aab5 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1427,6 +1427,10 @@ toolchain_src_configure() {
;;
esac
+ if in_iuse ada ; then
+ confgcc+=( $(use_enable ada libada) )
+ fi
+
### Cross-compiler option
#
# Note that 'newlib' here doesn't have to mean genuine newlib.
@@ -1781,10 +1785,6 @@ toolchain_src_configure() {
fi
fi
- if in_iuse ada ; then
- confgcc+=( $(use_enable ada libada) )
- fi
-
if in_iuse cet ; then
# Usage: triple_arch triple_env cet_name
enable_cet_for() {
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: e093daba47a46aff9173b7795dbe9e265a7ab71e
Author: Ulrich Müller gentoo org>
AuthorDate: Sun Feb 1 16:23:48 2026 +
Commit: Ulrich Müller gentoo org>
CommitDate: Fri Feb 20 17:23:58 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e093daba
ecm.eclass: Document _ecm_handbook_optional as internal function
Signed-off-by: Ulrich Müller gentoo.org>
eclass/ecm.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index b7c20c63aab1..f656a6559ffd 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: ecm.eclass
@@ -335,6 +335,7 @@ RDEPEND+=" ${COMMONDEPEND}"
unset COMMONDEPEND
# @FUNCTION: _ecm_handbook_optional
+# @INTERNAL
# @DESCRIPTION:
# Use with ECM_HANDBOOK=optional; ticks either -DBUILD_DOC if available,
# or -DCMAKE_DISABLE_FIND_PACKAGE_KF${_KFSLOT}DocTools
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 234737cc635d22a7327fcde7f655dd9f54408aab
Author: Zurab Kvachadze gmail com>
AuthorDate: Sun Feb 8 19:01:53 2026 +
Commit: Sam James gentoo org>
CommitDate: Fri Feb 20 19:09:33 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=234737cc
nginx-module.eclass: Handle config's with no terminating LF in src_prepare
Prepend the line calling `mv` with a newline to handle the scripts with
no terminating newline, e.g. this[1].
[1]:
https://github.com/dvershinin/nginx_accept_language_module/blob/master/config
Closes: https://bugs.gentoo.org/967172
Signed-off-by: Zurab Kvachadze gmail.com>
Signed-off-by: Sam James gentoo.org>
eclass/nginx-module.eclass | 10 ++
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/eclass/nginx-module.eclass b/eclass/nginx-module.eclass
index c28ff5e316d2..49ccf04cacc8 100644
--- a/eclass/nginx-module.eclass
+++ b/eclass/nginx-module.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: nginx-module.eclass
@@ -642,11 +642,13 @@ nginx-module_src_prepare() {
sed -i -e '1i\' -e ': > build/ngx_auto_config.h' config ||
{ eend $? || die "sed failed"; }
- echo 'mv build/ngx_auto_config.h build/__ngx_gentoo_mod_config.h' \
+ # Add one extra LF before the command in case the 'config' script does
not
+ # have a trailing newline already.
+ printf "\n%s\n" 'mv build/ngx_auto_config.h
build/__ngx_gentoo_mod_config.h' \
>> config
- # We specifically need the $? of echo.
+ # We specifically need the $? of printf.
# shellcheck disable=SC2320
- eend $? || die "echo failed"
+ eend $? || die "printf failed"
# cd into module root and apply patches.
pushd "${NGINX_MOD_S}" >/dev/null || die "pushd failed"
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 4fcb75e8555f3649bc3c945d65ad8baf1107f986 Author: Ulrich Müller gentoo org> AuthorDate: Wed Dec 17 15:30:02 2025 + Commit: Ulrich Müller gentoo org> CommitDate: Sat Feb 21 08:19:56 2026 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4fcb75e8 preserve-libs.eclass: Support EAPI 9 Acked-by: Sam James gentoo.org> Signed-off-by: Ulrich Müller gentoo.org> eclass/preserve-libs.eclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/eclass/preserve-libs.eclass b/eclass/preserve-libs.eclass index e97e3f846a09..03d74b2660c1 100644 --- a/eclass/preserve-libs.eclass +++ b/eclass/preserve-libs.eclass @@ -1,17 +1,17 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: preserve-libs.eclass # @MAINTAINER: # [email protected] -# @SUPPORTED_EAPIS: 7 8 +# @SUPPORTED_EAPIS: 7 8 9 # @BLURB: preserve libraries after SONAME changes if [[ -z ${_PRESERVE_LIBS_ECLASS} ]]; then _PRESERVE_LIBS_ECLASS=1 case ${EAPI} in - 7|8) ;; + 7|8|9) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: eb9ab5af65cc7618278241fddb3729730b7507fc
Author: Sam James gentoo org>
AuthorDate: Sat Feb 21 20:11:49 2026 +
Commit: Sam James gentoo org>
CommitDate: Sat Feb 21 20:12:53 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eb9ab5af
toolchain.eclass: workaround broken disable configure logic for pie/bind-now
Pass --enable-* if the USE flag is enabled, but don't pass --disable-*
if it is disabled to workaround broken configure logic. I have a patch
for trunk to fix this but backporting that will be a bit of a pain and
not worth it IMO, so let's carry this for now and can conditionalise it
on version later when fix lands upstream.
Closes: https://bugs.gentoo.org/970413
Signed-off-by: Sam James gentoo.org>
eclass/toolchain.eclass | 18 +-
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index d9b5d3eb03a8..02cec10e2768 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1849,19 +1849,27 @@ toolchain_src_configure() {
fi
if in_iuse pie ; then
- confgcc+=( $(use_enable pie default-pie) )
+ # Workaround for broken configure logic (bug #970413)
+ if use pie ; then
+ confgcc+=( --enable-default-pie )
+ fi
if tc_version_is_at_least 14.1 ${PV} || tc_version_is_at_least
13.4.1_p20250814 ${PV} ; then
- confgcc+=( $(use_enable pie host-pie) )
+ # Workaround for broken configure logic (bug #970413)
+ if use pie ; then
+ confgcc+=( --enable-host-pie )
+ fi
fi
fi
if in_iuse default-znow && { tc_version_is_at_least 14.1 ${PV} ||
tc_version_is_at_least 13.4.1_p20250814 ${PV} ; } ; then
# See
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=33ebb0dff9bb022f1e0709e0e73faabfc3df7931.
# TODO: Add to LDFLAGS_FOR_TARGET?
- confgcc+=(
- $(use_enable default-znow host-bind-now)
- )
+ #
+ # Workaround for broken configure logic (bug #970413)
+ if use default-znow ; then
+ confgcc+=( --enable-host-bind-now )
+ fi
fi
if in_iuse ssp ; then
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: ea025af0fe09477a4d270af1222bd6c7678961af Author: Michał Górny gentoo org> AuthorDate: Sat Feb 21 09:43:24 2026 + Commit: Michał Górny gentoo org> CommitDate: Sat Feb 21 09:51:23 2026 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ea025af0 kernel-build.eclass: Require sys-libs/binutils-libs for 6.19+ Bug: https://bugs.gentoo.org/970319 Signed-off-by: Michał Górny gentoo.org> eclass/kernel-build.eclass | 6 ++ 1 file changed, 6 insertions(+) diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass index 713f132a4bd2..722dbcb7e270 100644 --- a/eclass/kernel-build.eclass +++ b/eclass/kernel-build.eclass @@ -56,6 +56,12 @@ BDEPEND=" riscv? ( sys-apps/dtc ) " +if ver_test -ge 6.19; then + BDEPEND+=" + sys-libs/binutils-libs + " +fi + IUSE="+strip modules-sign" REQUIRED_USE="secureboot? ( modules-sign )"
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: d8bea82f2fc1a51972d930b62daa75fade970d5e
Author: Zurab Kvachadze gmail com>
AuthorDate: Sun Feb 8 19:01:54 2026 +
Commit: Sam James gentoo org>
CommitDate: Fri Feb 20 19:09:33 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d8bea82f
nginx{,-module}.eclass: Return 0 in econf_ngx() if $1 == --help
Previously, contrary to what was written, the function exited with the
exit code of ./configure (which is 1 if --help is passed). This commit
makes the function return 0 explicitly.
Signed-off-by: Zurab Kvachadze gmail.com>
Signed-off-by: Sam James gentoo.org>
eclass/nginx-module.eclass | 2 +-
eclass/nginx.eclass| 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/nginx-module.eclass b/eclass/nginx-module.eclass
index 49ccf04cacc8..0ab4a64dccb6 100644
--- a/eclass/nginx-module.eclass
+++ b/eclass/nginx-module.eclass
@@ -115,7 +115,7 @@ econf_ngx() {
#
# Executing this without edo gets rid of the "Failed to run"
message.
./configure "$@"
- return
+ return 0
fi
edo ./configure "$@"
}
diff --git a/eclass/nginx.eclass b/eclass/nginx.eclass
index ec3320d3f573..d52d9df7b085 100644
--- a/eclass/nginx.eclass
+++ b/eclass/nginx.eclass
@@ -273,7 +273,7 @@ econf_ngx() {
#
# Executing this without edo gets rid of the "Failed to run"
message.
./configure "$@"
- return
+ return 0
fi
edo ./configure "$@"
}
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 99ab39a4c9e7f7c1f6277032ea391f6045ffc751
Author: Ulrich Müller gentoo org>
AuthorDate: Wed Dec 17 15:30:15 2025 +
Commit: Ulrich Müller gentoo org>
CommitDate: Sat Feb 21 09:08:22 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=99ab39a4
toolchain-funcs.eclass: Support EAPI 9
Acked-by: Sam James gentoo.org>
Signed-off-by: Ulrich Müller gentoo.org>
eclass/toolchain-funcs.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 24eba4a4f572..89da26b867b1 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -4,7 +4,7 @@
# @ECLASS: toolchain-funcs.eclass
# @MAINTAINER:
# Toolchain Ninjas
-# @SUPPORTED_EAPIS: 7 8
+# @SUPPORTED_EAPIS: 7 8 9
# @BLURB: functions to query common info about the toolchain
# @DESCRIPTION:
# The toolchain-funcs aims to provide a complete suite of functions
@@ -17,7 +17,7 @@ if [[ -z ${_TOOLCHAIN_FUNCS_ECLASS} ]]; then
_TOOLCHAIN_FUNCS_ECLASS=1
case ${EAPI} in
- 7|8) ;;
+ 7|8|9) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: d67e5f688cd82820edcbb5a712e2c8964d7d3be3 Author: Ulrich Müller gentoo org> AuthorDate: Sun Feb 1 16:28:40 2026 + Commit: Ulrich Müller gentoo org> CommitDate: Fri Feb 20 17:24:02 2026 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d67e5f68 rust.eclass: Document _get_rust_slot as internal function Signed-off-by: Ulrich Müller gentoo.org> eclass/rust.eclass | 1 + 1 file changed, 1 insertion(+) diff --git a/eclass/rust.eclass b/eclass/rust.eclass index 389916a0780a..bd00c436598f 100644 --- a/eclass/rust.eclass +++ b/eclass/rust.eclass @@ -331,6 +331,7 @@ unset -f _rust_set_globals # @FUNCTION: _get_rust_slot # @USAGE: [-b|-d] +# @INTERNAL # @DESCRIPTION: # Find the newest Rust install that is acceptable for the package, # and export its version (i.e. SLOT) and type (source or bin[ary])
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 10233b8dfde85710ef174f16bbda52f452ef596d
Author: Ulrich Müller gentoo org>
AuthorDate: Sun Feb 1 16:24:13 2026 +
Commit: Ulrich Müller gentoo org>
CommitDate: Fri Feb 20 17:23:59 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=10233b8d
font.eclass: Document _update_fontcache as internal function
Signed-off-by: Ulrich Müller gentoo.org>
eclass/font.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/font.eclass b/eclass/font.eclass
index 3d2578172bc9..f0261ad05dd6 100644
--- a/eclass/font.eclass
+++ b/eclass/font.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: font.eclass
@@ -216,6 +216,7 @@ font_src_install() {
}
# @FUNCTION: _update_fontcache
+# @INTERNAL
# @DESCRIPTION:
# Updates fontcache if !prefix and media-libs/fontconfig installed
_update_fontcache() {
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 039d53fd1a7fa56fbf0eb4fe2fe3f57ed084
Author: Ulrich Müller gentoo org>
AuthorDate: Wed Dec 17 15:29:23 2025 +
Commit: Ulrich Müller gentoo org>
CommitDate: Sat Feb 21 08:19:55 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=039d53fd
edo.eclass: Support EAPI 9
EAPI 9 supports the edo command, so there is no need to define it in
the eclass any more. Make its definition conditional on EAPI 7 or 8.
Acked-by: Sam James gentoo.org>
Signed-off-by: Ulrich Müller gentoo.org>
eclass/edo.eclass | 20
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/eclass/edo.eclass b/eclass/edo.eclass
index a308851aca7f..fdb2cea8ad62 100644
--- a/eclass/edo.eclass
+++ b/eclass/edo.eclass
@@ -6,11 +6,12 @@
# QA Team
# @AUTHOR:
# Sam James
-# @SUPPORTED_EAPIS: 7 8
-# @BLURB: Convenience function to run commands verbosely and die on failure
+# @SUPPORTED_EAPIS: 7 8 9
+# @BLURB: convenience function to run commands verbosely and die on failure
# @DESCRIPTION:
-# This eclass provides the 'edo' command, and an 'edob' variant for
ebegin/eend,
-# which logs the command used verbosely and dies (exits) on failure.
+# This eclass provides the 'edo' command in EAPIs 7 and 8, and an 'edob'
+# variant for ebegin/eend, which logs the command used verbosely and
+# dies (exits) on failure.
#
# The 'edo' command should be used only where needed to give a more verbose
log,
# e.g. for invoking non-standard ./configure scripts, or building
@@ -22,14 +23,16 @@
# those commands produce output. The 'edob' command will suppress the
# command's output and only present it if the command returned with a
# non-zero exit status.
-case ${EAPI} in
- 7|8) ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
if [[ -z ${_EDO_ECLASS} ]] ; then
_EDO_ECLASS=1
+case ${EAPI} in
+ 7|8|9) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+if [[ ${EAPI} = [78] ]]; then
# @FUNCTION: edo
# @USAGE: [...]
# @DESCRIPTION:
@@ -57,6 +60,7 @@ edo() {
printf '%s\n' "${out:1}" >&2
"$@" || die -n "Failed to run command: ${1}"
}
+fi
# @FUNCTION: edob
# @USAGE: [-l ] [-m ] [...]
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: b73af2e762c84e0f31f84ce3117647189618e8c0
Author: Michał Górny gentoo org>
AuthorDate: Mon Feb 23 20:24:04 2026 +
Commit: Michał Górny gentoo org>
CommitDate: Mon Feb 23 20:49:12 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b73af2e7
llvm.org.eclass: Remove old snapshot
Signed-off-by: Michał Górny gentoo.org>
eclass/llvm.org.eclass | 3 ---
1 file changed, 3 deletions(-)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index e6e377833365..49b23978c94c 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -75,9 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
23.0.0_pre20260214)
EGIT_COMMIT=ab25249e63aba72be5365e5dc08c8d3c34d23276
;;
- 23.0.0_pre20260207)
-
EGIT_COMMIT=8d2078332c23b10dcf3571adc1a186e5c65f82df
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 1d3eb2038cd5435ee997451db8a538d56d0d4c1d Author: Ulrich Müller gentoo org> AuthorDate: Wed Dec 17 15:29:26 2025 + Commit: Ulrich Müller gentoo org> CommitDate: Sat Feb 21 09:08:25 2026 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1d3eb203 autotools.eclass: Support EAPI 9 Acked-by: Sam James gentoo.org> Signed-off-by: Ulrich Müller gentoo.org> eclass/autotools.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass index 1866bb5fa629..04a0bb15a3c7 100644 --- a/eclass/autotools.eclass +++ b/eclass/autotools.eclass @@ -4,7 +4,7 @@ # @ECLASS: autotools.eclass # @MAINTAINER: # [email protected] -# @SUPPORTED_EAPIS: 7 8 +# @SUPPORTED_EAPIS: 7 8 9 # @BLURB: Regenerates auto* build scripts # @DESCRIPTION: # This eclass is for safely handling autotooled software packages that need to @@ -27,7 +27,7 @@ if [[ -z ${_AUTOTOOLS_ECLASS} ]] ; then _AUTOTOOLS_ECLASS=1 case ${EAPI} in - 7|8) ;; + 7|8|9) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 80dc363ca1d8f9bc4ed70eef6e7116492faec49e Author: Ulrich Müller gentoo org> AuthorDate: Sat Feb 21 09:30:48 2026 + Commit: Ulrich Müller gentoo org> CommitDate: Sat Feb 21 09:30:48 2026 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=80dc363c Revert "bash-completion-r1.eclass: Support EAPI 9" This reverts commit 3fb60830e0b810222c277389b201e0d2fc50508a. Signed-off-by: Ulrich Müller gentoo.org> eclass/bash-completion-r1.eclass | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/eclass/bash-completion-r1.eclass b/eclass/bash-completion-r1.eclass index c120806edf37..2220cb2be508 100644 --- a/eclass/bash-completion-r1.eclass +++ b/eclass/bash-completion-r1.eclass @@ -1,10 +1,10 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: bash-completion-r1.eclass # @MAINTAINER: # [email protected] -# @SUPPORTED_EAPIS: 7 8 9 +# @SUPPORTED_EAPIS: 7 8 # @BLURB: A few quick functions to install bash-completion files # @EXAMPLE: # @@ -26,13 +26,13 @@ if [[ -z ${_BASH_COMPLETION_R1_ECLASS} ]]; then _BASH_COMPLETION_R1_ECLASS=1 +inherit toolchain-funcs + case ${EAPI} in - 7|8|9) ;; + 7|8) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac -inherit toolchain-funcs - # @FUNCTION: _bash-completion-r1_get_bashdir # @INTERNAL # @DESCRIPTION:
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: e32e40f19f2417601c8c881780429aeade00c59f Author: Ulrich Müller gentoo org> AuthorDate: Wed Dec 17 15:29:29 2025 + Commit: Ulrich Müller gentoo org> CommitDate: Sat Feb 21 09:08:24 2026 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e32e40f1 crossdev.eclass: Support EAPI 9 Acked-by: Sam James gentoo.org> Signed-off-by: Ulrich Müller gentoo.org> eclass/crossdev.eclass | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/eclass/crossdev.eclass b/eclass/crossdev.eclass index d6c99e4f32b7..bf9eab279bc6 100644 --- a/eclass/crossdev.eclass +++ b/eclass/crossdev.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: crossdev.eclass @@ -6,19 +6,19 @@ # [email protected] # @AUTHOR: # Alfred Persson Forsberg (21 Jul 2023) -# @SUPPORTED_EAPIS: 7 8 +# @SUPPORTED_EAPIS: 7 8 9 # @BLURB: Convenience wrappers for packages used by the Crossdev tool. inherit toolchain-funcs +if [[ -z ${_CROSSDEV_ECLASS} ]]; then +_CROSSDEV_ECLASS=1 + case ${EAPI} in - 7|8) ;; + 7|8|9) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac -if [[ -z ${_CROSSDEV_ECLASS} ]]; then -_CROSSDEV_ECLASS=1 - # @ECLASS_VARIABLE: _CROSS_CATEGORY_PREFIX # @INTERNAL # @DESCRIPTION:
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 11f1705e0f0f77eb56e213719594331745f3938f
Author: Ulrich Müller gentoo org>
AuthorDate: Sun Feb 22 20:38:08 2026 +
Commit: Ulrich Müller gentoo org>
CommitDate: Sun Feb 22 20:38:08 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=11f1705e
Revert "edo.eclass: Support EAPI 9"
Making the edo() definition conditional on EAPI caused a spurious
pkgcheck warning in EAPI 8. Therefore reverting for now.
This reverts commit 039d53fd1a7fa56fbf0eb4fe2fe3f57ed084.
Signed-off-by: Ulrich Müller gentoo.org>
eclass/edo.eclass | 20
1 file changed, 8 insertions(+), 12 deletions(-)
diff --git a/eclass/edo.eclass b/eclass/edo.eclass
index fdb2cea8ad62..a308851aca7f 100644
--- a/eclass/edo.eclass
+++ b/eclass/edo.eclass
@@ -6,12 +6,11 @@
# QA Team
# @AUTHOR:
# Sam James
-# @SUPPORTED_EAPIS: 7 8 9
-# @BLURB: convenience function to run commands verbosely and die on failure
+# @SUPPORTED_EAPIS: 7 8
+# @BLURB: Convenience function to run commands verbosely and die on failure
# @DESCRIPTION:
-# This eclass provides the 'edo' command in EAPIs 7 and 8, and an 'edob'
-# variant for ebegin/eend, which logs the command used verbosely and
-# dies (exits) on failure.
+# This eclass provides the 'edo' command, and an 'edob' variant for
ebegin/eend,
+# which logs the command used verbosely and dies (exits) on failure.
#
# The 'edo' command should be used only where needed to give a more verbose
log,
# e.g. for invoking non-standard ./configure scripts, or building
@@ -23,16 +22,14 @@
# those commands produce output. The 'edob' command will suppress the
# command's output and only present it if the command returned with a
# non-zero exit status.
-
-if [[ -z ${_EDO_ECLASS} ]] ; then
-_EDO_ECLASS=1
-
case ${EAPI} in
- 7|8|9) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ${EAPI} = [78] ]]; then
+if [[ -z ${_EDO_ECLASS} ]] ; then
+_EDO_ECLASS=1
+
# @FUNCTION: edo
# @USAGE: [...]
# @DESCRIPTION:
@@ -60,7 +57,6 @@ edo() {
printf '%s\n' "${out:1}" >&2
"$@" || die -n "Failed to run command: ${1}"
}
-fi
# @FUNCTION: edob
# @USAGE: [-l ] [-m ] [...]
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: aac8ca733d7f3932fd1b38503b6ffe565beecfc4
Author: Zurab Kvachadze gmail com>
AuthorDate: Sun Feb 8 19:02:01 2026 +
Commit: Sam James gentoo org>
CommitDate: Fri Feb 20 19:09:35 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aac8ca73
nginx-module.eclass: Support EAPI 9
In EAPI 9, NGINX_MOD_S is completely removed/banned and
NGINX_MOD_INSTALL_CONF_STUB is enabled unconditionally.
Signed-off-by: Zurab Kvachadze gmail.com>
Signed-off-by: Sam James gentoo.org>
eclass/nginx-module.eclass | 47 --
1 file changed, 33 insertions(+), 14 deletions(-)
diff --git a/eclass/nginx-module.eclass b/eclass/nginx-module.eclass
index 59a2aa7ce262..f58d4471e90f 100644
--- a/eclass/nginx-module.eclass
+++ b/eclass/nginx-module.eclass
@@ -6,7 +6,7 @@
# Zurab Kvachadze
# @AUTHOR:
# Zurab Kvachadze
-# @SUPPORTED_EAPIS: 8
+# @SUPPORTED_EAPIS: 8 9
# @BLURB: Provides a common set of functions for building NGINX's dynamic
modules
# @DESCRIPTION:
# The nginx-module.eclass automates configuring, building and installing
NGINX's
@@ -82,16 +82,22 @@
# nginx-module_src_configure
# }
# @CODE
+#
+# EAPI porting notes:
+# - 8 -> 9:
+# * NGINX_MOD_S is removed completely. Eclass die's if its set.
+# * NGINX_MOD_INSTALL_CONF_STUB is enabled unconditionally.
+
+if [[ -z ${_NGINX_MODULE_ECLASS} ]]; then
+_NGINX_MODULE_ECLASS=1
case ${EAPI} in
- 8) ;;
+ 8) inherit edo ;;
+ 9) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_NGINX_MODULE_ECLASS} ]]; then
-_NGINX_MODULE_ECLASS=1
-
-inherit edo flag-o-matic toolchain-funcs
+inherit flag-o-matic toolchain-funcs
#-> Generic helper functions <-
@@ -312,17 +318,25 @@ ngx_mod_link_lib() {
# @ECLASS_VARIABLE: NGINX_MOD_S
# @DEPRECATED: S
# @DESCRIPTION:
-# This variable is deprecated. ${S} must be used directly instead.
+# This variable is deprecated in EAPI 8 and banned in EAPI 9. ${S} must be
used
+# directly instead.
#
# Deprecated description:
# Holds the path to the module source directory, used in various phase
# functions. If unset at the time of inherit, defaults to ${S}.
if [[ -n ${NGINX_MOD_S} ]]; then
- eqawarn "\${NGINX_MOD_S} will be removed in EAPI 9 and must not be
used."
- eqawarn "Use \${S} directly instead."
- # Backwards compatibility stub for modules redefining module's source
path
- # via ${NGINX_MOD_S}.
- S="${NGINX_MOD_S}"
+ case "${EAPI}" in
+ 8)
+ eqawarn "\${NGINX_MOD_S} will be removed in EAPI 9 and
must not be used."
+ eqawarn "Use \${S} directly instead."
+ # Backwards compatibility stub for modules redefining
module's
+ # source path via ${NGINX_MOD_S}.
+ S="${NGINX_MOD_S}"
+ ;;
+ *)
+ die "\${NGINX_MOD_S} has been removed in EAPI 9. Use
\${S} directly instead."
+ ;;
+ esac
fi
# @ECLASS_VARIABLE: NGINX_MOD_CONFIG_DIR
@@ -483,6 +497,10 @@ declare -g -A NGX_MOD_TO_SONAME+=(
# Set to a non-empty value before calling nginx-module_src_install() to
generate
# and install load_module .conf stub(s) for the package. See
# nginx-module_src_install() for details.
+#
+# In EAPI 9, the functionality is enabled unconditionally, unless
+# NGINX_MOD_DONT_INSTALL_CONF_STUB is set to a non-empty value.
+[[ ${EAPI} != 8 ]] && readonly NGINX_MOD_INSTALL_CONF_STUB=1
# @ECLASS_VARIABLE: NGINX_MOD_DONT_INSTALL_CONF_STUB
# @DEFAULT_UNSET
@@ -812,8 +830,9 @@ nginx-module_src_install() {
doins "${NGINX_S}"/build/*.so
# Install stub configuration files only if NGINX_MOD_INSTALL_CONF_STUB
is
- # set and NGINX_MOD_DONT_INSTALL_CONF_STUB is not set. The latter is
used by
- # modules like ngx_devel_kit which are not meant to be enabled manually.
+ # set (or EAPI is 9) and NGINX_MOD_DONT_INSTALL_CONF_STUB is not set.
The
+ # latter is used by modules like ngx_devel_kit which are not meant to be
+ # enabled manually.
if [[ -n ${NGINX_MOD_INSTALL_CONF_STUB} &&
-z ${NGINX_MOD_DONT_INSTALL_CONF_STUB} ]]; then
local mod
[gentoo-commits] repo/gentoo:master commit in: eclass/, www-nginx/ngx_devel_kit/
commit: a092b9b43be485ef7b79c65f19f12d913109a9b4
Author: Zurab Kvachadze gmail com>
AuthorDate: Sun Feb 8 19:01:59 2026 +
Commit: Sam James gentoo org>
CommitDate: Fri Feb 20 19:09:35 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a092b9b4
nginx-module.eclass: Autogenerate load_module .conf config stubs
This commit improves the UX of nginx-module.eclass by adding automatic
generation of NGINX configurations stubs which load their repsective
modules. The stub is only generated if NGINX_MOD_INSTALL_CONF_STUB is
set.
With the stub installed, only one invocation of `ln` is necessary to
enable the module. There is current work in progress on a more
convenient way to toggle modules, i.e. eselect module.
Bug: https://bugs.gentoo.org/967022
Signed-off-by: Zurab Kvachadze gmail.com>
Signed-off-by: Sam James gentoo.org>
eclass/nginx-module.eclass | 88 ++
www-nginx/ngx_devel_kit/ngx_devel_kit-0.3.4.ebuild | 1 +
2 files changed, 76 insertions(+), 13 deletions(-)
diff --git a/eclass/nginx-module.eclass b/eclass/nginx-module.eclass
index c470fcb5f00c..59a2aa7ce262 100644
--- a/eclass/nginx-module.eclass
+++ b/eclass/nginx-module.eclass
@@ -11,9 +11,11 @@
# @DESCRIPTION:
# The nginx-module.eclass automates configuring, building and installing
NGINX's
# dynamic modules. Using this eclass is as simple as calling 'inherit
nginx-module'.
-# This eclass automatically adds dependencies on www-servers/nginx.
Henceforth,
-# the terms 'package' and 'module' will be used interchangeably to refer to a
-# consumer of nginx-module.eclass.
+# This eclass automatically adds dependencies on www-servers/nginx.
+# Additionally, NGINX_MOD_INSTALL_CONF_STUB may be set to automatically
generate
+# load_module .conf stubs for NGINX. Henceforth, the terms 'package' and
+# 'module' will be used interchangeably to refer to a consumer of
+# nginx-module.eclass.
#
# If a part of package's functionality depends on NGINX configuration (e.g.
HMAC
# generation support depending on http_ssl module being present), the
@@ -221,7 +223,6 @@ ngx_mod_setup_link_modules() {
# Check whether this function has already been called.
[[ -n ${_NGX_MOD_SETUP_LINK_CALLED} ]] && return 0
declare -g -r _NGX_MOD_SETUP_LINK_CALLED=1
-
local moddir
moddir="${EPREFIX}/usr/$(get_libdir)/nginx/modules"
# Add 'moddir' to the list of directories search by linker and add
'moddir'
@@ -476,6 +477,25 @@ declare -g -A NGX_MOD_TO_SONAME+=(
# Has no effect if either NGINX_MOD_OPENRESTY_TESTS or
NGINX_MOD_TEST_LOAD_ORDER
# are not set.
+# @ECLASS_VARIABLE: NGINX_MOD_INSTALL_CONF_STUB
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Set to a non-empty value before calling nginx-module_src_install() to
generate
+# and install load_module .conf stub(s) for the package. See
+# nginx-module_src_install() for details.
+
+# @ECLASS_VARIABLE: NGINX_MOD_DONT_INSTALL_CONF_STUB
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Set to a non-empty value before calling nginx-module_src_install() to NOT
+# generate load_module .conf stub(s) for the package. Setting this variable
+# also disables displaying instructions on how to enable the module in
+# nginx-module_pkg_postinst().
+#
+# Setting this might be useful for modules that are not meant to be used
+# directly, for example ngx_devel_kit. See nginx-module_src_install() for
+# details.
+
#-> *DEPEND stuff <-
# As per upstream documentation, modules must be rebuilt with each NGINX
@@ -780,10 +800,34 @@ nginx-module_src_test() {
# @FUNCTION: nginx-module_src_install
# @DESCRIPTION:
# Installs the compiled module(s) into /usr/${libdir}/nginx/modules.
+#
+# Autogenerates load_module .conf stub(s) and installs them into
+# /etc/nginx/modules-available. Afterwards, the installed modules can be
+# conveniently enabled or disabled by adding or removing symlinks to
+# modules-available from /etc/nginx/modules-enabled. See nginx_src_install()
in
+# nginx.eclass for more details on how NGINX loads these stubs.
nginx-module_src_install() {
debug-print-function "${FUNCNAME[0]}" "$@"
insinto "/usr/$(get_libdir)/nginx/modules"
doins "${NGINX_S}"/build/*.so
+
+ # Install stub configuration files only if NGINX_MOD_INSTALL_CONF_STUB
is
+ # set and NGINX_MOD_DONT_INSTALL_CONF_STUB is not set. The latter is
used by
+ # modules like ngx_devel_kit which are not meant to be enabled manually.
+ if [[ -n ${NGINX_MOD_INSTALL_CONF_STUB} &&
+ -z ${NGINX_MOD_DONT_INSTALL_CONF_STUB} ]]; then
+ local mod
+ local destdir=etc/nginx/modules-available
+ insinto "${destdir}"
+ # Create configuration stub for every module in
NGINX_MOD_SHARED_OBJECTS.
+ for mod in "${NGINX_MOD_SHARED_OBJECTS[@]}"; do
+ newins - "${mod%.so}.conf" <<- EOF
+
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: a53efb101e9aff8ed79bdbc42bd235d078d4b78a
Author: Sam James gentoo org>
AuthorDate: Tue Feb 17 09:50:48 2026 +
Commit: Sam James gentoo org>
CommitDate: Tue Feb 17 09:52:35 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a53efb10
toolchain.eclass: re-enable default build IDs
Build IDs have several uses, mainly for debugging:
* gdb's index-cache needs it
* debuginfod requires it which is important for both self-hosted binhosts & the
official binhost if we want to provide binpkgs there (bug 728818)
* kde-plasma/drkonqi requires it
* Speeding up splitdebug use because verification that the binary matches
the debug info is quicker
* Works around bug 917287 (because lookup is first done via
/usr/lib/debug/.build-id/XXX where XXX is content-addressed, not path)
* Allows debugging binaries after they got upgraded
Portage has been updated to salt build IDs to avoid file collisions.
Bug: https://bugs.gentoo.org/917287
Bug: https://bugs.gentoo.org/967111
Closes: https://bugs.gentoo.org/953869
Signed-off-by: Sam James gentoo.org>
eclass/toolchain.eclass | 20 +---
1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index b2756524286d..8efe5417747b 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1417,17 +1417,15 @@ toolchain_src_configure() {
confgcc+=( --disable-libstdcxx-pch )
fi
- # build-id was disabled for file collisions: bug #526144
- #
- # # Turn on the -Wl,--build-id flag by default for ELF targets. bug
#525942
- # # This helps with locating debug files.
- # case ${CTARGET} in
- # *-linux-*|*-elf|*-eabi)
- # tc_version_is_at_least 4.5 && confgcc+=(
- # --enable-linker-build-id
- # )
- # ;;
- # esac
+ # Turn on the -Wl,--build-id flag by default for ELF targets. bug
#953869
+ # This helps with locating debug files.
+ case ${CTARGET} in
+ *-linux-*|*-elf|*-eabi)
+ tc_version_is_at_least 4.5 && confgcc+=(
+ --enable-linker-build-id
+ )
+ ;;
+ esac
### Cross-compiler option
#
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 39a3781ddc4431b2485852a56a1fe2971fe2b86d
Author: Sam James gentoo org>
AuthorDate: Tue Feb 17 04:07:47 2026 +
Commit: Sam James gentoo org>
CommitDate: Tue Feb 17 04:08:09 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=39a3781d
toolchain.eclass: disable libada for *-elf and *-eabi
Another attempt after 5ba1230cf8dad63a56381b7f48b3f27737813383.
Closes: https://bugs.gentoo.org/970098
Signed-off-by: Sam James gentoo.org>
eclass/toolchain.eclass | 14 +-
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index d09705afd165..b2756524286d 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1450,11 +1450,15 @@ toolchain_src_configure() {
;;
*-elf|*-eabi)
needed_libc=newlib
- # Bare-metal targets don't have access to
clock_gettime()
- # arm-none-eabi example: bug #589672
- # But we explicitly do --enable-libstdcxx-time
above.
- # Undoing it here.
- confgcc+=( --disable-libstdcxx-time )
+ confgcc+=(
+ # Bare-metal targets don't have access
to clock_gettime()
+ # arm-none-eabi example: bug #589672
+ # But we explicitly do
--enable-libstdcxx-time above.
+ # Undoing it here.
+ --disable-libstdcxx-time
+ # bug #970098
+ --disable-libada
+ )
;;
*-gnu*)
needed_libc=glibc
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: a56a01ff71e7d920a3b9f97c3af9fec2c14de671
Author: Sam James gentoo org>
AuthorDate: Tue Feb 17 04:06:08 2026 +
Commit: Sam James gentoo org>
CommitDate: Tue Feb 17 04:06:08 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a56a01ff
Revert "toolchain.eclass: drop explicit --enable-libada passing"
This reverts commit 5ba1230cf8dad63a56381b7f48b3f27737813383.
Fix was ineffective because there doesn't seem to be logic for autodisabling
freestanding targets in upstream configure, so will do it manually as we
do in some other places.
Bug: https://bugs.gentoo.org/970098
Signed-off-by: Sam James gentoo.org>
eclass/toolchain.eclass | 4
1 file changed, 4 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 97b57411d9a1..d09705afd165 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1779,6 +1779,10 @@ toolchain_src_configure() {
fi
fi
+ if in_iuse ada ; then
+ confgcc+=( $(use_enable ada libada) )
+ fi
+
if in_iuse cet ; then
# Usage: triple_arch triple_env cet_name
enable_cet_for() {
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 5ba1230cf8dad63a56381b7f48b3f27737813383
Author: Sam James gentoo org>
AuthorDate: Sun Feb 15 09:21:25 2026 +
Commit: Sam James gentoo org>
CommitDate: Sun Feb 15 09:21:25 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5ba1230c
toolchain.eclass: drop explicit --enable-libada passing
This breaks freestanding targets like arm-none-eabi.
Closes: https://bugs.gentoo.org/970098
Signed-off-by: Sam James gentoo.org>
eclass/toolchain.eclass | 4
1 file changed, 4 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index d09705afd165..97b57411d9a1 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1779,10 +1779,6 @@ toolchain_src_configure() {
fi
fi
- if in_iuse ada ; then
- confgcc+=( $(use_enable ada libada) )
- fi
-
if in_iuse cet ; then
# Usage: triple_arch triple_env cet_name
enable_cet_for() {
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 4c693ccc7e9f772d3d1bac76b95cebf3c84ab8db
Author: Michał Górny gentoo org>
AuthorDate: Sat Feb 14 12:31:05 2026 +
Commit: Michał Górny gentoo org>
CommitDate: Sat Feb 14 13:07:13 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c693ccc
llvm.org.eclass: Add 23.0.0_pre20260214 snapshot
Signed-off-by: Michał Górny gentoo.org>
eclass/llvm.org.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 64f7b1c075f0..e6e377833365 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
_LLVM_SOURCE_TYPE=snapshot
case ${PV} in
+ 23.0.0_pre20260214)
+
EGIT_COMMIT=ab25249e63aba72be5365e5dc08c8d3c34d23276
+ ;;
23.0.0_pre20260207)
EGIT_COMMIT=8d2078332c23b10dcf3571adc1a186e5c65f82df
;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 71f8d02ab201ab1bf5d82adcbf2e02fc63503fc3
Author: Michał Górny gentoo org>
AuthorDate: Sat Feb 14 12:30:27 2026 +
Commit: Michał Górny gentoo org>
CommitDate: Sat Feb 14 13:07:13 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=71f8d02a
llvm.org.eclass: Remove 23.0.0_pre202601* snapshots
Signed-off-by: Michał Górny gentoo.org>
eclass/llvm.org.eclass | 6 --
1 file changed, 6 deletions(-)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 3ee656f48a96..64f7b1c075f0 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -75,12 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
23.0.0_pre20260207)
EGIT_COMMIT=8d2078332c23b10dcf3571adc1a186e5c65f82df
;;
- 23.0.0_pre20260131)
-
EGIT_COMMIT=424bebd9c784b8490e63290feeeceb42dfdaeb49
- ;;
- 23.0.0_pre20260125)
-
EGIT_COMMIT=9eaa1ff11ccde52f2e3bf86f253b6b646548c7cc
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 495b677b93f4cb1e1531657a762622268a22a7ac Author: Matt Jolly gentoo org> AuthorDate: Fri Feb 13 07:08:30 2026 + Commit: Matt Jolly gentoo org> CommitDate: Fri Feb 13 11:50:16 2026 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=495b677b rust.eclass: add 1.93.1 Signed-off-by: Matt Jolly gentoo.org> eclass/rust.eclass | 2 ++ 1 file changed, 2 insertions(+) diff --git a/eclass/rust.eclass b/eclass/rust.eclass index c1bc211b9453..389916a0780a 100644 --- a/eclass/rust.eclass +++ b/eclass/rust.eclass @@ -69,6 +69,7 @@ fi declare -A -g -r _RUST_LLVM_MAP=( [""]=22 ["1.94.0"]=21 + ["1.93.1"]=21 ["1.93.0"]=21 ["1.92.0"]=21 ["1.91.0"]=21 @@ -102,6 +103,7 @@ declare -A -g -r _RUST_LLVM_MAP=( declare -a -g -r _RUST_SLOTS_ORDERED=( "" "1.94.0" + "1.93.1" "1.93.0" "1.92.0" "1.91.0"
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: e9dcababf8eb2f85a5f4e057ed798bd6bd325021 Author: Ionen Wolkens gentoo org> AuthorDate: Thu Feb 12 14:29:43 2026 + Commit: Ionen Wolkens gentoo org> CommitDate: Thu Feb 12 14:37:29 2026 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e9dcabab linux-mod-r1.eclass: drop list of sign algorithms in eclassdocs Kernel 7.x is due to drop support for sha1 signing and, rather than just cleanup that one, may as well remove the entire list so we will not need to maintain it. Albeit still keep one example just to give the idea of what is recognized. (skipping dev ML for a basic docs-only change) Signed-off-by: Ionen Wolkens gentoo.org> eclass/linux-mod-r1.eclass | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass index 3e6bd159819e..49ae882f7e95 100644 --- a/eclass/linux-mod-r1.eclass +++ b/eclass/linux-mod-r1.eclass @@ -1,4 +1,4 @@ -# Copyright 2023-2025 Gentoo Authors +# Copyright 2023-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: linux-mod-r1.eclass @@ -211,14 +211,12 @@ fi # @DEFAULT_UNSET # @DESCRIPTION: # Used with USE=modules-sign. Can be set to hash algorithm to use -# during signature generation. +# during signature generation (e.g. sha512). # # Rather than set this, it is recommended to select using the kernel's # configuration to ensure proper support (e.g. CONFIG_MODULE_SIG_SHA256), # and then it will be auto-detected here. # -# Valid values: sha512,sha384,sha256,sha224,sha1 -# # Default if unset: kernel CONFIG_MODULE_SIG_HASH's value # @ECLASS_VARIABLE: MODULES_SIGN_KEY
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 52f126862408ba22fb15247c09af28c5e6cd8eb7 Author: Matt Jolly gentoo org> AuthorDate: Wed Feb 11 06:43:06 2026 + Commit: Matt Jolly gentoo org> CommitDate: Wed Feb 11 14:26:34 2026 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=52f12686 rust.eclass: add 1.93.0, 1.94.0; update Nightly has recently switched to LLVM 22 Signed-off-by: Matt Jolly gentoo.org> eclass/rust.eclass | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/eclass/rust.eclass b/eclass/rust.eclass index a13ea067dba3..c1bc211b9453 100644 --- a/eclass/rust.eclass +++ b/eclass/rust.eclass @@ -1,4 +1,4 @@ -# Copyright 2024-2025 Gentoo Authors +# Copyright 2024-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: rust.eclass @@ -67,7 +67,9 @@ fi # @DESCRIPTION: # Definitive list of Rust slots and the associated LLVM slot, newest first. declare -A -g -r _RUST_LLVM_MAP=( - [""]=21 + [""]=22 + ["1.94.0"]=21 + ["1.93.0"]=21 ["1.92.0"]=21 ["1.91.0"]=21 ["1.90.0"]=20 @@ -99,6 +101,8 @@ declare -A -g -r _RUST_LLVM_MAP=( # this array is used to store the Rust slots in a more convenient order for iteration. declare -a -g -r _RUST_SLOTS_ORDERED=( "" + "1.94.0" + "1.93.0" "1.92.0" "1.91.0" "1.90.0"
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 2505df97c43b2a78a62a0b7f1415ad441caeb2da
Author: Ulrich Müller gentoo org>
AuthorDate: Sun Feb 1 16:29:01 2026 +
Commit: Ulrich Müller gentoo org>
CommitDate: Wed Feb 11 02:34:53 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2505df97
toolchain.eclass: Document _get_bootstrap_gcc_info as internal function
Acked-by: Sam James gentoo.org>
Signed-off-by: Ulrich Müller gentoo.org>
eclass/toolchain.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index f4d6130e3fe1..d09705afd165 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -900,6 +900,7 @@ setup_multilib_osdirnames() {
# @FUNCTION: _get_bootstrap_gcc_info
# @USAGE: [gcc_pkg|gcc_bin_base]...
+# @INTERNAL
# @DESCRIPTION:
# Get some information about the gcc that would be used to build this package.
# All the variables that are passed as arguments will be set to their
apropriate
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 220e84c85339d21f4d1d595c1c8351b386b63d52
Author: Sam James gentoo org>
AuthorDate: Tue Feb 10 04:14:48 2026 +
Commit: Sam James gentoo org>
CommitDate: Tue Feb 10 04:18:58 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=220e84c8
sec-keys.eclass: fix src_test with expired subkeys
We need to keep expired subkeys in src_test too, otherwise we can
get spurious test failures both from the inconsistency vs src_compile
and it's also not a difference we care about either (and in fact losing
such an expired subkey could cause failures to verify some distfile).
Bug: https://bugs.gentoo.org/967745
Fixes: c74965ebc0f5455522979ae6470785a763d5706d
Reviewed-by: Eli Schwartz gentoo.org>
Signed-off-by: Sam James gentoo.org>
eclass/sec-keys.eclass | 6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/eclass/sec-keys.eclass b/eclass/sec-keys.eclass
index 23b2f16a2b6e..ca1b4de57241 100644
--- a/eclass/sec-keys.eclass
+++ b/eclass/sec-keys.eclass
@@ -168,7 +168,11 @@ sec-keys_src_compile() {
sec-keys_src_test() {
local -x GNUPGHOME=${WORKDIR}/gnupg
local key fingerprint name server
- local gpg_command=(gpg --export-options export-minimal)
+ if has_version -b ">=app-crypt/gnupg-2.5.17"; then
+ local gpg_command=(gpg --export-options
export-minimal,keep-expired-subkeys)
+ else
+ local gpg_command=(gpg --export-options export-minimal)
+ fi
# Best-effort attempt to check for updates. keyservers can and usually
# do fail for weird reasons, (such as being unable to import a key
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 9f427cc6572d3a872c7ef9c92321e44c106f25d3
Author: Nowa Ammerlaan gentoo org>
AuthorDate: Mon Feb 9 16:44:41 2026 +
Commit: Nowa Ammerlaan gentoo org>
CommitDate: Mon Feb 9 17:16:56 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f427cc6
kernel-build.eclass: systemd-pcrphase renamed to systemd-pcrextend
this was renamed in version 110 of sys-kernel/dracut
Signed-off-by: Nowa Ammerlaan gentoo.org>
eclass/kernel-build.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index de658947182c..713f132a4bd2 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -513,7 +513,7 @@ kernel-build_src_install() {
pkcs11 plymouth qemu qemu-net resume rngd
rootfs-block shutdown
systemd systemd-ac-power systemd-ask-password
systemd-cryptsetup
systemd-emergency systemd-initrd
systemd-integritysetup
- systemd-pcrphase systemd-sysusers systemd-udevd
+ systemd-pcrextend systemd-sysusers systemd-udevd
systemd-veritysetup terminfo tpm2-tss
udev-rules uefi-lib
usrmount virtiofs
)
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 87b1660d50026a7ff4b3019f62114dd65178ae02
Author: James Le Cuirot gentoo org>
AuthorDate: Tue Feb 3 18:42:47 2026 +
Commit: James Le Cuirot gentoo org>
CommitDate: Sun Feb 8 08:16:13 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=87b1660d
sysroot.eclass: Fix QEMU logic for binary packages built on other arch
We ideally compare CHOST against CBUILD, but binary packages cache the
CBUILD value from the system that originally built them. So for binary
packages, compare against the machine hardware name instead.
The matching is admittedly inexact in some cases but should be good
enough in practise. This situation is unlikely to occur as it is, but I
did encounter it unexpectedly, and I figured handling it was worth a few
extra lines.
Signed-off-by: James Le Cuirot gentoo.org>
eclass/sysroot.eclass | 39 +--
1 file changed, 37 insertions(+), 2 deletions(-)
diff --git a/eclass/sysroot.eclass b/eclass/sysroot.eclass
index 3d710f491741..03e5705c14a0 100644
--- a/eclass/sysroot.eclass
+++ b/eclass/sysroot.eclass
@@ -41,6 +41,41 @@ qemu_arch() {
esac
}
+# @FUNCTION: qemu_arch_if_needed
+# @DESCRIPTION:
+# If QEMU is needed to run binaries for the given target or CHOST on the build
+# system, return the QEMU architecture, otherwise return status code 1.
+qemu_arch_if_needed() {
+ local target=${1:-${CHOST}}
+ local qemu_arch=$(qemu_arch "${target}")
+
+ # We ideally compare CHOST against CBUILD, but binary packages cache the
+ # CBUILD value from the system that originally built them.
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ if [[ ${qemu_arch} == $(qemu_arch "${CBUILD}") ]]; then
+ return 1
+ else
+ echo "${qemu_arch}"
+ return 0
+ fi
+ fi
+
+ # So for binary packages, compare against the machine hardware name
instead.
+ # Don't use uname because that may lie. /proc knows the real value.
+ case "${qemu_arch}/$(< /proc/sys/kernel/arch)" in
+ "${qemu_arch}/${qemu_arch}") return 1 ;;
+ arm/armv*) return 1 ;;
+ hppa/parisc*) return 1 ;;
+ i386/i?86) return 1 ;;
+ mips64*/mips64) return 1 ;;
+ mipsn32*/mips64) return 1 ;;
+ mips*/mips) return 1 ;;
+ esac
+
+ echo "${qemu_arch}"
+ return 0
+}
+
# @FUNCTION: sysroot_make_run_prefixed
# @DESCRIPTION:
# Create a wrapper script for directly running executables within a (sys)root
@@ -52,7 +87,7 @@ qemu_arch() {
# environment if binfmt_misc has been used with the F flag. It is not feasible
# to add a conditional dependency on QEMU.
sysroot_make_run_prefixed() {
- local QEMU_ARCH=$(qemu_arch) SCRIPT MYROOT MYEROOT LIBGCC
+ local QEMU_ARCH SCRIPT MYROOT MYEROOT LIBGCC
if [[ ${EBUILD_PHASE_FUNC} == src_* ]]; then
[[ -z ${SYSROOT} ]] && return 1
@@ -94,7 +129,7 @@ sysroot_make_run_prefixed() {
#!/bin/sh
SANDBOX_ON=0 LD_PRELOAD=
WINEPATH="\${WINEPATH}\${WINEPATH+;};${winepath//\//\\}" exec wine "\${@}"
EOF
- elif [[ ${QEMU_ARCH} == $(qemu_arch "${CBUILD}") ]]; then
+ elif ! QEMU_ARCH=$(qemu_arch_if_needed); then
# glibc: ld.so is a symlink, ldd is a binary.
# musl: ld.so doesn't exist, ldd is a symlink.
local DLINKER candidate
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: bde3d41e27af56e0ce096c04108b4843507ae2a6
Author: James Le Cuirot gentoo org>
AuthorDate: Tue Feb 3 18:42:48 2026 +
Commit: James Le Cuirot gentoo org>
CommitDate: Sun Feb 8 08:16:16 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bde3d41e
sysroot.eclass: Add sysroot_try_run_prefixed to allow wrapper failure
There are some cases where failing to run a command under a sysroot
should be fatal like `openssl fipsinstall`. There are other cases, like
help2man or shell completion, where failure is permissible when QEMU is
missing or broken.
Signed-off-by: James Le Cuirot gentoo.org>
eclass/sysroot.eclass | 37 +
1 file changed, 29 insertions(+), 8 deletions(-)
diff --git a/eclass/sysroot.eclass b/eclass/sysroot.eclass
index 03e5705c14a0..3427c421bf22 100644
--- a/eclass/sysroot.eclass
+++ b/eclass/sysroot.eclass
@@ -80,7 +80,9 @@ qemu_arch_if_needed() {
# @DESCRIPTION:
# Create a wrapper script for directly running executables within a (sys)root
# without changing the root directory. The path to that script is returned. If
-# no sysroot has been set, then this function returns unsuccessfully.
+# no (sys)root has been set, then return status code 1. If the wrapper cannot
be
+# created for a permissible reason like QEMU being missing or broken, then
+# return status code 2.
#
# The script explicitly uses QEMU if this is necessary and it is available in
# this environment. It may otherwise implicitly use a QEMU outside this
@@ -118,7 +120,7 @@ sysroot_make_run_prefixed() {
if [[ ${CHOST} = *-mingw32 ]]; then
if ! type -P wine >/dev/null; then
einfo "Wine not found. Continuing without ${SCRIPT##*/}
wrapper."
- return 1
+ return 2
fi
# UNIX paths can work, but programs will not expect this in
%PATH%.
@@ -169,7 +171,7 @@ sysroot_make_run_prefixed() {
if ! "${SCRIPT}" "${test}" &>/dev/null; then
einfo "Failed to run ${test##*/}. Continuing without
${SCRIPT##*/} wrapper."
- return 1
+ return 2
fi
fi
@@ -180,11 +182,30 @@ sysroot_make_run_prefixed() {
# @DESCRIPTION:
# Create a wrapper script with sysroot_make_run_prefixed if necessary, and use
# it to execute the given command, otherwise just execute the command directly.
+# Return unsuccessfully if the wrapper cannot be created.
sysroot_run_prefixed() {
local script
- if script=$(sysroot_make_run_prefixed); then
- "${script}" "${@}"
- else
- "${@}"
- fi
+ script=$(sysroot_make_run_prefixed)
+
+ case $? in
+ 0) "${script}" "${@}" ;;
+ 1) "${@}" ;;
+ *) return $? ;;
+ esac
+}
+
+# @FUNCTION: sysroot_try_run_prefixed
+# @DESCRIPTION:
+# Create a wrapper script with sysroot_make_run_prefixed if necessary, and use
+# it to execute the given command, otherwise just execute the command directly.
+# Print a warning and return successfully if the wrapper cannot be created.
+sysroot_try_run_prefixed() {
+ local script
+ script=$(sysroot_make_run_prefixed)
+
+ case $? in
+ 0) "${script}" "${@}" ;;
+ 1) "${@}" ;;
+ *) ewarn "Unable to run command under prefix: $*" ;;
+ esac
}
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 12d28fc309bcb741676841c4a152236d41daf126
Author: Sam James gentoo org>
AuthorDate: Sun Feb 8 02:01:43 2026 +
Commit: Sam James gentoo org>
CommitDate: Sun Feb 8 02:03:16 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=12d28fc3
flag-o-matic.eclass: don't filter -freport-bug
Bug: https://bugs.gentoo.org/570606
Bug: https://bugs.gentoo.org/969762
Signed-off-by: Sam James gentoo.org>
eclass/flag-o-matic.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index 1c9abe1280b6..830e42f1b9a4 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: flag-o-matic.eclass
@@ -84,7 +84,7 @@ _setup-allowed-flags() {
# Cosmetic/output related, see e.g. bug #830534
-fno-diagnostics-color '-fmessage-length=*'
-fno-ident -fpermissive -frecord-gcc-switches
- -frecord-command-line
+ -frecord-command-line -freport-bug
'-fdiagnostics*' '-fplugin*'
'-W*' -w
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 19ab23e6f240f7e611b97dbb8e1c6b28874d2420
Author: Michał Górny gentoo org>
AuthorDate: Sat Feb 7 13:48:29 2026 +
Commit: Michał Górny gentoo org>
CommitDate: Sat Feb 7 13:54:56 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=19ab23e6
llvm.org.eclass: Add 23.0.0_pre20260207 snapshot
Signed-off-by: Michał Górny gentoo.org>
eclass/llvm.org.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index a9489a133adf..3ee656f48a96 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
_LLVM_SOURCE_TYPE=snapshot
case ${PV} in
+ 23.0.0_pre20260207)
+
EGIT_COMMIT=8d2078332c23b10dcf3571adc1a186e5c65f82df
+ ;;
23.0.0_pre20260131)
EGIT_COMMIT=424bebd9c784b8490e63290feeeceb42dfdaeb49
;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 440e597f923e22b53316ca45037ed453bda43684
Author: Ionen Wolkens gentoo org>
AuthorDate: Fri Feb 6 01:53:06 2026 +
Commit: Ionen Wolkens gentoo org>
CommitDate: Fri Feb 6 02:00:13 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=440e597f
qt6-build.eclass: guard -march detection against cpp noise
Should not be necessary but it could prevent future or obscure issues,
and it is a cheap operation.
wrt bug #969664 comment #11, originally thought to have some identifier
that is sed'ed out but a flat ^-march= as the identifier is good enough
and we use it as-is to simplify a bit. Still use sed to "grep" given
it is more guaranteed to be available than grep per the PM spec for
what it is worth.
Bug: https://bugs.gentoo.org/969664
Signed-off-by: Ionen Wolkens gentoo.org>
eclass/qt6-build.eclass | 11 +--
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 0b107c595bd2..7579a8d7fc46 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -330,17 +330,16 @@ _qt6-build_sanitize_cpu_flags() {
# determine and the highest(known) usable x86-64 feature level
# so users will not lose *all* CPU-specific optimizations
local march=$(
- $(tc-getCXX) -E -P ${CXXFLAGS} ${CPPFLAGS} - <<-EOF | tail -n 1
+ $(tc-getCXX) -E -P ${CXXFLAGS} ${CPPFLAGS} - <<-EOF | sed -n
'/^-march=/p' | tail -n 1
#if !defined(__EVEX512__) && !defined(__clang__) &&
__GNUC__ >= 16
# define __EVEX512__ 1 /* removed in gcc-16 (bug
#956750,#969664) */
#endif
- default
#if (__CRC32__ + __LAHF_SAHF__ + __POPCNT__ + __SSE3__
+ __SSE4_1__ + __SSE4_2__ + __SSSE3__) == 7
- x86-64-v2
+ -march=x86-64-v2
# if (__AVX__ + __AVX2__ + __BMI__ + __BMI2__ +
__F16C__ + __FMA__ + __LZCNT__ + __MOVBE__ + __XSAVE__) == 9
- x86-64-v3
+ -march=x86-64-v3
#if (__AVX512BW__ + __AVX512CD__ + __AVX512DQ__ +
__AVX512F__ + __AVX512VL__ + __EVEX256__ + __EVEX512__) == 7
- x86-64-v4
+ -march=x86-64-v4
#endif
# endif
#endif
@@ -349,7 +348,7 @@ _qt6-build_sanitize_cpu_flags() {
)
filter-flags '-march=*' "${cpuflags[@]/#/-m}" "${cpuflags[@]/#/-mno-}"
- [[ ${march} == x86-64* ]] && append-flags $(test-flags-CXX
-march="${march}")
+ [[ -n ${march} ]] && append-flags $(test-flags-CXX "${march}")
einfo "C(XX)FLAGS adjusted due to frequent -march=*/-m* issues with Qt:"
einfo "\"${CXXFLAGS}\""
einfo "(can override with USE=custom-cflags, but no support will be
given)"
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 806156abca3e19d4aa84fc95acba6d9ccb792ef4
Author: Ionen Wolkens gentoo org>
AuthorDate: Fri Feb 6 01:21:29 2026 +
Commit: Ionen Wolkens gentoo org>
CommitDate: Fri Feb 6 01:21:48 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=806156ab
qt6-build.eclass: fix -march detection with gcc-16 + -g3/-ggdb3
Closes: https://bugs.gentoo.org/969664
Signed-off-by: Ionen Wolkens gentoo.org>
eclass/qt6-build.eclass | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 98dc6cf259e7..0b107c595bd2 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -1,4 +1,4 @@
-# Copyright 2021-2025 Gentoo Authors
+# Copyright 2021-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: qt6-build.eclass
@@ -331,14 +331,14 @@ _qt6-build_sanitize_cpu_flags() {
# so users will not lose *all* CPU-specific optimizations
local march=$(
$(tc-getCXX) -E -P ${CXXFLAGS} ${CPPFLAGS} - <<-EOF | tail -n 1
+ #if !defined(__EVEX512__) && !defined(__clang__) &&
__GNUC__ >= 16
+ # define __EVEX512__ 1 /* removed in gcc-16 (bug
#956750,#969664) */
+ #endif
default
#if (__CRC32__ + __LAHF_SAHF__ + __POPCNT__ + __SSE3__
+ __SSE4_1__ + __SSE4_2__ + __SSSE3__) == 7
x86-64-v2
# if (__AVX__ + __AVX2__ + __BMI__ + __BMI2__ +
__F16C__ + __FMA__ + __LZCNT__ + __MOVBE__ + __XSAVE__) == 9
x86-64-v3
- #if !defined(__EVEX512__) && !defined(__clang__) &&
__GNUC__ >= 16
- # define __EVEX512__ 1 /* removed in gcc-16 (bug
#956750) */
- #endif
#if (__AVX512BW__ + __AVX512CD__ + __AVX512DQ__ +
__AVX512F__ + __AVX512VL__ + __EVEX256__ + __EVEX512__) == 7
x86-64-v4
#endif
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 8e2fd0bf62ac3b7d31710c8d6dda81ac850a3d93
Author: Nowa Ammerlaan gentoo org>
AuthorDate: Wed Feb 4 16:05:41 2026 +
Commit: Nowa Ammerlaan gentoo org>
CommitDate: Thu Feb 5 08:10:47 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8e2fd0bf
kernel-build.eclass: cleanup driver omit list
This list is getting a bit long so lets create an array for it.
Signed-off-by: Nowa Ammerlaan gentoo.org>
Part-of: https://github.com/gentoo/gentoo/pull/45640
eclass/kernel-build.eclass | 9 +++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index e636133b2cac..de658947182c 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -518,6 +518,12 @@ kernel-build_src_install() {
usrmount virtiofs
)
+ # Pulls in huge firmware files
+ local omit_drivers=(
+ amdgpu i915 nfp nova nova_core nouveau nvidia
nvidia-drm
+ nvidia-modeset nvidia-peermem nvidia-uvm radeon
xe
+ )
+
local dracut_args=(
--conf "${T}/empty-file"
--confdir "${T}/empty-directory"
@@ -536,8 +542,7 @@ kernel-build_src_install() {
--reproducible
--ro-mnt
--modules "${dracut_modules[*]}"
- # Pulls in huge firmware files
- --omit-drivers "amdgpu i915 nfp nova nova_core
nouveau nvidia nvidia-drm nvidia-modeset nvidia-peermem nvidia-uvm radeon xe"
+ --omit-drivers "${omit_drivers[*]}"
)
# Tries to update ld cache
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 5d417624a82991d4786b59dff1213e10ee641a12
Author: Nowa Ammerlaan gentoo org>
AuthorDate: Wed Feb 4 16:02:34 2026 +
Commit: Nowa Ammerlaan gentoo org>
CommitDate: Thu Feb 5 08:10:46 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5d417624
kernel-{build,install}.eclass: harmonise use of compressor
Use the same compressor for modules and initramfs throughout install
and test phases. To accomplish this we introduce a new function to
get the compressor with all arguments based on the kernel config.
With this change only one single compressor is required to build
the kernel regardless of USE configuration. The used compressor is
selectable via /etc/kernel/config.d as usual.
Signed-off-by: Nowa Ammerlaan gentoo.org>
Part-of: https://github.com/gentoo/gentoo/pull/45640
eclass/dist-kernel-utils.eclass | 39 ++-
eclass/kernel-build.eclass | 5 +++--
eclass/kernel-install.eclass| 41 +++--
3 files changed, 48 insertions(+), 37 deletions(-)
diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
index 975efd2d63c8..1ebf17092b35 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -1,4 +1,4 @@
-# Copyright 2020-2025 Gentoo Authors
+# Copyright 2020-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: dist-kernel-utils.eclass
@@ -215,6 +215,43 @@ dist-kernel_PV_to_KV() {
echo "${kv}"
}
+# @FUNCTION: dist-kernel_get_compressor
+# @USAGE:
+# @DESCRIPTION:
+# Returns the compressor with arguments for compressing kernel modules
+# based on the CONFIG_MODULES_COMPESS_* setting in the kernel config.
+dist-kernel_get_compressor() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ ${#} -eq 1 ]] || die "${FUNCNAME}: invalid arguments"
+
+ local suffix=$(dist-kernel_get_module_suffix "${1}")
+ local compress=()
+ # Options taken from linux-mod-r1.eclass.
+ # We don't instruct the compressor to parallelize because it applies
+ # multithreading per file, so it works only for big files, and we have
+ # lots of small files instead.
+ case ${suffix} in
+ .ko)
+ return
+ ;;
+ .ko.gz)
+ compress+=( gzip )
+ ;;
+ .ko.xz)
+ compress+=( xz --check=crc32 --lzma2=dict=1MiB )
+ ;;
+ .ko.zst)
+ compress+=( zstd -q --rm )
+ ;;
+ *)
+ die "Unknown compressor: ${suffix}"
+ ;;
+ esac
+
+ echo "${compress[@]}"
+}
+
# @FUNCTION: dist-kernel_get_module_suffix
# @USAGE:
# @DESCRIPTION:
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 9a1eb8bbb91f..e636133b2cac 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -335,7 +335,8 @@ kernel-build_src_test() {
kernel-install_test "${KV_FULL}" \
"${WORKDIR}/build/$(dist-kernel_get_image_path)" \
- "${T}/lib/modules/${KV_FULL}"
+ "${T}/lib/modules/${KV_FULL}" \
+ "${WORKDIR}/modprep/.config"
}
# @FUNCTION: kernel-build_src_install
@@ -524,7 +525,7 @@ kernel-build_src_install() {
--kmoddir "${ED}/lib/modules/${KV_FULL}"
--kver "${KV_FULL}"
--verbose
- --compress="xz -9e --check=crc32"
+ --compress="$(dist-kernel_get_compressor
"${ED}/usr/src/linux-${KV_FULL}/.config")"
--no-hostonly
--no-hostonly-cmdline
--no-hostonly-i18n
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index cb0c5318fd59..5f113bf71f19 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -403,18 +403,19 @@ kernel-install_create_qemu_image() {
}
# @FUNCTION: kernel-install_test
-# @USAGE:
+# @USAGE:
# @DESCRIPTION:
# Test that the kernel can successfully boot a minimal system image
# in qemu. is the kernel version, path to the image,
-# path to module tree.
+# path to module tree, path to the kernel config.
kernel-install_test() {
debug-print-function ${FUNCNAME} "$@"
- [[ ${#} -eq 3 ]] || die "${FUNCNAME}: invalid arguments"
+ [[ ${#} -eq 4 ]] || die "${FUNCNAME}: invalid arguments"
local version=${1}
local image=${2}
local modules=${3}
+ local config=${4}
local qemu_arch=$(kernel-install_get_qemu_arch)
@@ -435,12 +436,6 @@ kernel-install_test() {
> "${T}"/empty-file || die
mkdir -p "${T}"/empty-directory || die
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 7787a9bacbabdee07717f2af227d037f745b77bb
Author: Nowa Ammerlaan gentoo org>
AuthorDate: Wed Feb 4 14:37:25 2026 +
Commit: Nowa Ammerlaan gentoo org>
CommitDate: Thu Feb 5 08:08:49 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7787a9ba
kernel-build.eclass: compress modules after building generic-uki
For gentoo-kernel-bin we build the gpkg with module-compression
disabled because compressing the initramfs or gpkg is less efficient
if the modules are already pre-compressed.
This however does not fix that problem for custom builds of the
generic-uki where the end goal is still to have compressed modules.
In that case we want compressed modules on the root fs but not in the
generic initrd/uki we built.
Resolve this problem by unconditionally disabling the automatic
compression of 'make modules_install' and using instead the
kernel-install_compress_modules() function from kernel-install.eclass
This has the nice side-effect of slightly simplifying the eclass and
more closely aligning the code path of gentoo-kernel-bin and
gentoo-kernel. In the future when all kernel ebuilds support
USE=generic-uki we can simplify this even further.
CONFIG_MODULE_COMPRESS_ALL is one of those options that does not
actually change anything in the kernel itself, it just toggles what the
kernel build system, and specifically make modules_install does (the
same holds for CONFIG_MODULE_COMPRESS_{GZIP,XZ,ZSTD} as well).
Therefore we can safely disable this and instead call the compressor
manually later (with the same options that make modules_install would
have called it with).
We already do precisely this in sys-kernel/gentoo-kernel-bin, we build
the gpkg with support for module compression enabled
(CONFIG_MODULE_COMPRESS=y), but without actually compressing the
modules (USE=-modules-compress and therefore
(using kernel-install_compress_modules()) then compresses the modules in
the gpkg we built depending on USE=modules-compress.
Essentially this change makes sys-kernel/gentoo-kernel do the same
thing that sys-kernel/gentoo-kernel-bin is already doing.
Signed-off-by: Nowa Ammerlaan gentoo.org>
Part-of: https://github.com/gentoo/gentoo/pull/45640
eclass/kernel-build.eclass | 15 +--
1 file changed, 5 insertions(+), 10 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 94687d1431bb..9a1eb8bbb91f 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -367,7 +367,7 @@ kernel-build_src_install() {
dostrip -x /lib/modules
local compress=()
- if [[ ${KERNEL_IUSE_GENERIC_UKI} ]] && ! use modules-compress; then
+ if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then
compress+=(
# Workaround for <6.12, does not have
CONFIG_MODULE_COMPRESS_ALL
suffix-y=
@@ -654,6 +654,9 @@ kernel-build_src_install() {
> "${image%/*}/uki.efi" || die
fi
> "${image%/*}/initrd" || die
+
+ # If requested, compress modules *after* building generic initrd
+ kernel-install_compress_modules
fi
# unset to at least be out of the environment file in, e.g. shared
binpkgs
@@ -736,16 +739,8 @@ kernel-build_merge_configs() {
cat <<-EOF > "${WORKDIR}/module-compress.config" || die
CONFIG_MODULE_COMPRESS=y
CONFIG_MODULE_COMPRESS_XZ=y
+ # CONFIG_MODULE_COMPRESS_ALL is not set
EOF
- # CONFIG_MODULE_COMPRESS_ALL is supported only by >=6.12, for
older
- # versions we accomplish the same by overriding suffix-y=
- if use modules-compress; then
- echo "CONFIG_MODULE_COMPRESS_ALL=y" \
- >> "${WORKDIR}/module-compress.config" || die
- else
- echo "# CONFIG_MODULE_COMPRESS_ALL is not set" \
- >> "${WORKDIR}/module-compress.config" || die
- fi
merge_configs+=( "${WORKDIR}/module-compress.config" )
fi
[gentoo-commits] repo/gentoo:master commit in: eclass/tests/
commit: 2faf4a38f838781e56696dcca483ebe3acccb094
Author: Sam James gentoo org>
AuthorDate: Tue Feb 3 23:49:24 2026 +
Commit: Sam James gentoo org>
CommitDate: Tue Feb 3 23:51:32 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2faf4a38
eclass/tests: dot-a: adapt to binutils trunk changes
GNU Binutils 2.46 will let us corrupt archives in some special cases
because GCC's compare-lto needs that (PR33801).
I think it actually worked okay for both our case and GCC's before
Alan's 9adb8ba865f2aebc6f4d7cc74df64ea200959b3a but I can't find a fault
with that either, so adapt to the new reality which hopefully works
for everybody now.
Bug: https://sourceware.org/PR33801
Signed-off-by: Sam James gentoo.org>
eclass/tests/dot-a.sh | 14 --
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/eclass/tests/dot-a.sh b/eclass/tests/dot-a.sh
index cfd79112472a..4e55c40f0712 100755
--- a/eclass/tests/dot-a.sh
+++ b/eclass/tests/dot-a.sh
@@ -479,9 +479,10 @@ test_strip_lto() {
cp foo.a foo.a.bak || return 1
$(tc-getSTRIP) --enable-deterministic-archives -p -d foo.a ||
return 1
- # They should NOT differ after stripping because it
- # can't be safely stripped without special arguments.
- cmp -s foo.a foo.a.bak || return 1
+ # The file may differ slightly with newer GNU Binutils (PR33801)
+ # so just make sure it's not totally corrupted.
+ $(tc-getCC) ${CFLAGS} ${LDFLAGS} main.c foo.a -o main || return
1
+ ./main &>/dev/null || return 1
return 0
) || ret=1
@@ -669,9 +670,10 @@ test_strip_index() {
cp foo.a foo.a.bak || return 1
$(tc-getSTRIP) --enable-deterministic-archives -p
--strip-unneeded foo.a || return 1
- # They should NOT differ after stripping because it
- # can't be safely stripped without special arguments.
- cmp -s foo.a foo.a.bak || return 1
+ # The file may differ slightly with newer GNU Binutils (PR33801)
+ # so just make sure it's not totally corrupted.
+ $(tc-getCC) ${CFLAGS} ${LDFLAGS} main.c foo.a -o main || return
1
+ ./main &>/dev/null || return 1
return 0
) || ret=1
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 913fd61f0ffccb4891538efc36d0c88d7b9d9911
Author: Sam James gentoo org>
AuthorDate: Tue Feb 3 22:14:19 2026 +
Commit: Sam James gentoo org>
CommitDate: Tue Feb 3 23:17:34 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=913fd61f
toolchain-funcs.eclass: adapt tc-is-lto to non-ELF
Closes: https://bugs.gentoo.org/969442
Thanks-to: James McClain thegreatmcpain.xyz>
Signed-off-by: Sam James gentoo.org>
eclass/toolchain-funcs.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 3f820c2d8559..24eba4a4f572 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -1,4 +1,4 @@
-# Copyright 2002-2025 Gentoo Authors
+# Copyright 2002-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: toolchain-funcs.eclass
@@ -1248,7 +1248,7 @@ tc-is-lto() {
;;
gcc)
$(tc-getCC) ${CFLAGS} -c -o "${f}" -x c - <<<"" || die
- [[ $($(tc-getREADELF) -S "${f}") == *.gnu.lto* ]] &&
ret=0
+ [[ $($(tc-getOBJDUMP) -s "${f}") == *.gnu.lto* ]] &&
ret=0
;;
esac
rm -f "${f}" || die
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: f91fe1660806f6ac0e103fa3eb339c6d44943dda
Author: Sam James gentoo org>
AuthorDate: Tue Feb 3 23:11:07 2026 +
Commit: Sam James gentoo org>
CommitDate: Tue Feb 3 23:14:14 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f91fe166
toolchain-autoconf.eclass: use ${SLOT} for env filename
Prereleases for autoconf (and automake) now follow the usual GNU
convention of X.Y.90 (etc), so we need to adapt the env filename
logic to include SLOT rather than PV, otherwise 2.72.90 "mangles"
the same as 2.72.
Signed-off-by: Sam James gentoo.org>
eclass/toolchain-autoconf.eclass | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/eclass/toolchain-autoconf.eclass b/eclass/toolchain-autoconf.eclass
index 330ec45dd7d1..f4eda613d272 100644
--- a/eclass/toolchain-autoconf.eclass
+++ b/eclass/toolchain-autoconf.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: toolchain-autoconf.eclass
@@ -102,8 +102,9 @@ toolchain-autoconf_src_install() {
else
rm -f dir || die
- local major="$(ver_cut 1)"
- local minor="$(ver_cut 2)"
+ local major="$(ver_cut 1 ${SLOT})"
+ local minor="$(ver_cut 2 ${SLOT})"
+
local idx="$((9-(major*1000+minor)))"
newenvd - "${TC_AUTOCONF_ENVPREFIX}${PN}${idx}" <<-EOF
INFOPATH="${TC_AUTOCONF_INFOPATH}"
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: d2552b1490690d28caf9b0d513e6c505ddf1f15a
Author: Nowa Ammerlaan gentoo org>
AuthorDate: Tue Feb 3 14:04:04 2026 +
Commit: Nowa Ammerlaan gentoo org>
CommitDate: Tue Feb 3 14:13:54 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d2552b14
kernel-build.eclass: omit more drm drivers from generic-uki
Looks like we forgot about radeon in this list, we add it now and also
omit the new nova_core driver as well as the other nvidia drivers.
This saves about 3-4M in every kernel build.
Signed-off-by: Nowa Ammerlaan gentoo.org>
eclass/kernel-build.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index faef6e2a9179..94687d1431bb 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -536,7 +536,7 @@ kernel-build_src_install() {
--ro-mnt
--modules "${dracut_modules[*]}"
# Pulls in huge firmware files
- --omit-drivers "amdgpu i915 nfp nouveau nvidia
xe"
+ --omit-drivers "amdgpu i915 nfp nova nova_core
nouveau nvidia nvidia-drm nvidia-modeset nvidia-peermem nvidia-uvm radeon xe"
)
# Tries to update ld cache
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 955dc75a892001ed981a25a82517c0b70a9a092e Author: Ulrich Müller gentoo org> AuthorDate: Sun Feb 1 16:26:00 2026 + Commit: Ulrich Müller gentoo org> CommitDate: Sun Feb 1 21:02:17 2026 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=955dc75a nuget.eclass: Document _nuget_set_nuget_uris as internal function Acked-by: Maciej Barć gentoo.org> Signed-off-by: Ulrich Müller gentoo.org> eclass/nuget.eclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eclass/nuget.eclass b/eclass/nuget.eclass index 3fa732e79b5f..78143444d5b4 100644 --- a/eclass/nuget.eclass +++ b/eclass/nuget.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: nuget.eclass @@ -109,6 +109,7 @@ export NUGET_PACKAGES # @FUNCTION: _nuget_set_nuget_uris # @USAGE: +# @INTERNAL # @DESCRIPTION: # Generates the URIs to put in SRC_URI to help fetch dependencies. # Constructs a list of NuGets from its arguments.
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 25a0079ec2825c73656b3f20a4a33421bd2f90f6 Author: Andreas Sturmlechner gentoo org> AuthorDate: Tue Jan 27 23:09:51 2026 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Sun Feb 1 20:30:49 2026 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=25a0079e desktop.eclass: Support EAPI 9 Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/desktop.eclass | 18 ++ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/eclass/desktop.eclass b/eclass/desktop.eclass index b38aa4e1d0d8..b10e2647e879 100644 --- a/eclass/desktop.eclass +++ b/eclass/desktop.eclass @@ -4,14 +4,14 @@ # @ECLASS: desktop.eclass # @MAINTAINER: # [email protected] -# @SUPPORTED_EAPIS: 7 8 +# @SUPPORTED_EAPIS: 7 8 9 # @BLURB: support for desktop files, menus, and icons if [[ -z ${_DESKTOP_ECLASS} ]]; then _DESKTOP_ECLASS=1 case ${EAPI} in - 7|8) ;; + 7|8|9) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac @@ -63,20 +63,14 @@ _DESKTOP_IDS=() # @CODE make_desktop_entry() { local eapi9 - if [[ -n ${1} ]]; then + if [[ ${1} == --eapi9 ]]; then case ${EAPI} in 7|8) - if [[ ${1} == --eapi9 ]]; then - eapi9=1 - shift - fi + eapi9=1 + shift ;; *) - if [[ ${1} == --eapi9 ]]; then - ewarn "make_desktop_entry: --eapi9 arg is obsolete in EAPI-${EAPI} and may be cleaned up now." - shift - fi - eapi9=1 + die "make_desktop_entry: --eapi9 arg is obsolete in EAPI-${EAPI}!" ;; esac fi
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 561021e00d7e3278d4d44ec0b1326b1730d5bfa8
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Mon Jan 26 22:43:41 2026 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Sun Feb 1 20:30:41 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=561021e0
desktop.eclass: make_desktop_entry: Fix entries containing spaces
Closes: https://bugs.gentoo.org/968597
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/desktop.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/desktop.eclass b/eclass/desktop.eclass
index 5dcc695bfcdc..b8d156405283 100644
--- a/eclass/desktop.eclass
+++ b/eclass/desktop.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: desktop.eclass
@@ -314,7 +314,7 @@ make_desktop_entry() {
if [[ ${eapi9} && -n ${entries} ]]; then
local entry
- for entry in ${entries[@]}; do
+ for entry in "${entries[@]}"; do
if [[ ${entry} =~ ^[A-Za-z0-9-]+=.* ]]; then
printf "%s\n" "${entry}" >> "${desktop}" || die
else
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 09166b9a7b14243c0c54c579f483698b5e9553f1
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Mon Jan 26 23:57:02 2026 +
Commit: Andreas Sturmlechner gentoo org>
CommitDate: Sun Feb 1 20:30:48 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=09166b9a
desktop.eclass: make_session_desktop: Use getopts style, make Wayland aware
XSessions are installed to /usr/share/xsessions
Wayland sessions are installed to /usr/share/wayland-sessions
Old arguments:
is now first in line (in EAPI 9, or first after --eapi9)
-n|--name now optional , defaulting to ${PN}
New arguments:
--eapi9 as first argument to enable new getopts style parameters
As the naming implies, this is off by default for EAPI=[78].
-a|--args to cleanly pass arguments to Exec command
allows to cleanly get basename from cmd for fallback filename
-C|--comment to set the desktop file Comment instead of generic text
-f|--filename to set a session file name
-X|--xsession to create an XSession file (Type=XSession), adjust path
Signed-off-by: Andreas Sturmlechner gentoo.org>
eclass/desktop.eclass | 153 +++---
1 file changed, 132 insertions(+), 21 deletions(-)
diff --git a/eclass/desktop.eclass b/eclass/desktop.eclass
index b8d156405283..b38aa4e1d0d8 100644
--- a/eclass/desktop.eclass
+++ b/eclass/desktop.eclass
@@ -342,35 +342,146 @@ make_desktop_entry() {
}
# @FUNCTION: make_session_desktop
-# @USAGE: [command args...]
+# @USAGE: [--eapi9] [options]
# @DESCRIPTION:
-# Make a GDM/KDM Session file. The title is the file to execute to start the
-# Window Manager. The command is the name of the Window Manager.
+# Make a session file to start a Wayland compositor or X window manager
+# and install it in the appropriate location.
#
-# You can set the name of the file via the ${wm} variable.
+# @CODE
+# --eapi9: Switch to getopts style arguments instead of order based
+#As the naming implies, this is off by default for EAPI=[78],
+#but mandated by future EAPI.
+# command: Exec command the session is being started with, also base
+#for TryExec
+#with --eapi9: must not contain arguments, use --args for that
+# ---Options:
+# name: Name that will be displayed in login managers;
+#with --eapi9: defaults to PN
+# ---Additional parameters available using --eapi9:
+# args: Arguments (binary params) to add to Exec value, separated by
+#space if multiple
+# entry: Key=Value entry to append to the session desktop file;
+#multiple allowed
+# comment: Comment, defaults to generic text
+# filename: .desktop will be created. defaults to
+# xsession: Create an XSession file (Type=XSession) and install into
+#/usr/share/xsessions/
+#default is wayland session into /usr/share/wayland-sessions
+# @CODE
+#
+# Example usage:
+# @CODE
+# Deprecated, in order:
+# [command args...]
+# You can set the file name of the session via the ${wm} variable.
+# New style:
+# --eapi9 [-a args] [-f filename] [-C comment]
+# --eapi9 [-n name] [-e entry...] [-X]
+# @CODE
make_session_desktop() {
- [[ -z $1 ]] && eerror "$0: You must specify the title" && return 1
- [[ -z $2 ]] && eerror "$0: You must specify the command" && return 1
-
- local title=$1
- local command=$2
- local desktop=${T}/${wm:-${PN}}.desktop
- shift 2
-
- cat <<-EOF > "${desktop}" || die
- [Desktop Entry]
- Name=${title}
- Comment=This session logs you into ${title}
- Exec=${command} $*
- TryExec=${command}
- Type=XSession
- EOF
+ local eapi9
+ if [[ ${1} == --eapi9 ]]; then
+ case ${EAPI} in
+ 7|8)
+ eapi9=1
+ shift
+ ;;
+ *)
+ die "make_session_desktop: --eapi9 arg is
obsolete in EAPI-${EAPI}!"
+ ;;
+ esac
+ fi
+ [[ -z ${1} ]] && die "make_session_desktop: You must specify at least a
command"
+
+ if [[ ${eapi9} ]]; then
+ local args cmd comment entries filename name xsession
+ while [[ $# -gt 0 ]] ; do
+ case "${1}" in
+ -a|--args)
+ args="${2}"; shift 2 ;;
+ -C|--comment)
+ comment="${2}"; shift 2 ;;
+ -e|--entry)
+ entries+=( "${2}" ); shift 2 ;;
+ -f|--filename)
+ filename="${2}"; shift 2 ;;
+ -n|--name)
+ name="${2}"; shift 2 ;;
+
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 08cadeb6ad138ce9d610f34312558f2f7a5ba154
Author: James Le Cuirot gentoo org>
AuthorDate: Sun Jan 25 22:26:30 2026 +
Commit: James Le Cuirot gentoo org>
CommitDate: Sun Feb 1 11:42:11 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=08cadeb6
sysroot.eclass: Add support for running Windows binaries via Wine
We do not support installing Wine for other architectures, so we assume
that Wine can do its own CPU emulation.
The sandbox cannot handle Wine and emits a warning even if you allow all
writes, so it needs to be disabled.
Unlike Linux shared libraries, Windows DLLs are placed in bin rather
than lib, so we need to include that in WINEPATH. lib has been included
too, just in case.
binfmt_misc supports Windows binaries, but there is no point in
supporting that combination here, as Wine would need to be installed
locally regardless. This cannot be extended into a container like it can
with QEMU.
This has been tested with i686-w64-mingw32 from crossdev against
dev-vcs/git[iconv] after dropping the iconv cross patch.
Signed-off-by: James Le Cuirot gentoo.org>
eclass/sysroot.eclass | 16 +++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/eclass/sysroot.eclass b/eclass/sysroot.eclass
index 0fae642bf593..3d710f491741 100644
--- a/eclass/sysroot.eclass
+++ b/eclass/sysroot.eclass
@@ -80,7 +80,21 @@ sysroot_make_run_prefixed() {
fi
fi
- if [[ ${QEMU_ARCH} == $(qemu_arch "${CBUILD}") ]]; then
+ if [[ ${CHOST} = *-mingw32 ]]; then
+ if ! type -P wine >/dev/null; then
+ einfo "Wine not found. Continuing without ${SCRIPT##*/}
wrapper."
+ return 1
+ fi
+
+ # UNIX paths can work, but programs will not expect this in
%PATH%.
+ local
winepath="Z:${LIBGCC};Z:${MYEROOT}/bin;Z:${MYEROOT}/usr/bin;Z:${MYEROOT}/$(get_libdir);Z:${MYEROOT}/usr/$(get_libdir)"
+
+ # Assume that Wine can do its own CPU emulation.
+ install -m0755 /dev/stdin "${SCRIPT}" <<-EOF || die
+ #!/bin/sh
+ SANDBOX_ON=0 LD_PRELOAD=
WINEPATH="\${WINEPATH}\${WINEPATH+;};${winepath//\//\\}" exec wine "\${@}"
+ EOF
+ elif [[ ${QEMU_ARCH} == $(qemu_arch "${CBUILD}") ]]; then
# glibc: ld.so is a symlink, ldd is a binary.
# musl: ld.so doesn't exist, ldd is a symlink.
local DLINKER candidate
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: bcfddee58e1f43f7e7bd3507b269f166d4db6aa8
Author: James Le Cuirot gentoo org>
AuthorDate: Sun Jan 25 14:11:36 2026 +
Commit: James Le Cuirot gentoo org>
CommitDate: Sun Feb 1 11:42:10 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bcfddee5
sysroot.eclass: Sanity check the QEMU-based wrapper script
Meson will fail if the given exe_wrapper does not work, regardless of
whether one is actually needed. This is bad if QEMU is not installed and
worse if QEMU does not support the architecture. We therefore need to
perform our own test up front.
Don't bother doing this for the native case, as this should always work.
Closes: https://bugs.gentoo.org/969083
Signed-off-by: James Le Cuirot gentoo.org>
eclass/sysroot.eclass | 13 +
1 file changed, 13 insertions(+)
diff --git a/eclass/sysroot.eclass b/eclass/sysroot.eclass
index 5775e409da02..0fae642bf593 100644
--- a/eclass/sysroot.eclass
+++ b/eclass/sysroot.eclass
@@ -109,6 +109,19 @@ sysroot_make_run_prefixed() {
#!/bin/sh
QEMU_SET_ENV="\${QEMU_SET_ENV}\${QEMU_SET_ENV+,}LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}\${LD_LIBRARY_PATH+:}${LIBGCC}"
QEMU_LD_PREFIX="${MYROOT}" exec $(type -P "qemu-${QEMU_ARCH}") "\${@}"
EOF
+
+ # Meson will fail if the given exe_wrapper does not work,
regardless of
+ # whether one is actually needed. This is bad if QEMU is not
installed
+ # and worse if QEMU does not support the architecture. We
therefore need
+ # to perform our own test up front.
+ local test="${SCRIPT}-test"
+ echo 'int main(void) { return 0; }' > "${test}.c" || die
"failed to write ${test##*/}"
+ $(tc-getCC) ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} "${test}.c" -o
"${test}" || die "failed to build ${test##*/}"
+
+ if ! "${SCRIPT}" "${test}" &>/dev/null; then
+ einfo "Failed to run ${test##*/}. Continuing without
${SCRIPT##*/} wrapper."
+ return 1
+ fi
fi
echo "${SCRIPT}"
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 8ff4a8e150e96e311ed8709da739d9a881b264ae
Author: Michał Górny gentoo org>
AuthorDate: Sat Jan 31 20:00:12 2026 +
Commit: Michał Górny gentoo org>
CommitDate: Sun Feb 1 02:33:59 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8ff4a8e1
llvm.org.eclass: Add 23.0.0_pre20260131 snapshot
Signed-off-by: Michał Górny gentoo.org>
eclass/llvm.org.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 05becabd1b48..a9489a133adf 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
_LLVM_SOURCE_TYPE=snapshot
case ${PV} in
+ 23.0.0_pre20260131)
+
EGIT_COMMIT=424bebd9c784b8490e63290feeeceb42dfdaeb49
+ ;;
23.0.0_pre20260125)
EGIT_COMMIT=9eaa1ff11ccde52f2e3bf86f253b6b646548c7cc
;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: acbdd26def24dd7633408a0666f700271d4fbc8b
Author: Michał Górny gentoo org>
AuthorDate: Mon Jan 26 12:09:53 2026 +
Commit: Michał Górny gentoo org>
CommitDate: Tue Jan 27 07:06:48 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=acbdd26d
multilib-build.eclass: Enable EAPI 9
Signed-off-by: Michał Górny gentoo.org>
Part-of: https://codeberg.org/gentoo/gentoo/pulls/26
Merges: https://codeberg.org/gentoo/gentoo/pulls/26
eclass/multilib-build.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/multilib-build.eclass b/eclass/multilib-build.eclass
index a0232ad2762a..14774fc0139e 100644
--- a/eclass/multilib-build.eclass
+++ b/eclass/multilib-build.eclass
@@ -6,7 +6,7 @@
# Michał Górny
# @AUTHOR:
# Author: Michał Górny
-# @SUPPORTED_EAPIS: 7 8
+# @SUPPORTED_EAPIS: 7 8 9
# @BLURB: flags and utility functions for building multilib packages
# @DESCRIPTION:
# The multilib-build.eclass exports USE flags and utility functions
@@ -21,7 +21,7 @@ if [[ -z ${_MULTILIB_BUILD_ECLASS} ]]; then
_MULTILIB_BUILD_ECLASS=1
case ${EAPI} in
- 7|8) ;;
+ 7|8|9) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: cf60b1c8e6ba974bbe2bfafb42231365ea1b4994
Author: Michał Górny gentoo org>
AuthorDate: Mon Jan 26 12:09:07 2026 +
Commit: Michał Górny gentoo org>
CommitDate: Tue Jan 27 07:06:47 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cf60b1c8
multilib-build.eclass: Rewrap the condition for readibility
Signed-off-by: Michał Górny gentoo.org>
Part-of: https://codeberg.org/gentoo/gentoo/pulls/26
eclass/multilib-build.eclass | 9 ++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/eclass/multilib-build.eclass b/eclass/multilib-build.eclass
index 1d80c43fc900..a0232ad2762a 100644
--- a/eclass/multilib-build.eclass
+++ b/eclass/multilib-build.eclass
@@ -168,9 +168,12 @@ multilib_get_enabled_abi_pairs() {
# paludis is broken (bug #486592), and switching it
locally
# for the split is more complex than cheating like this
for m_abi in ${m_abis//,/ }; do
- if [[ ${m_abi} == ${abi} ]] \
- && { [[ ! "${MULTILIB_COMPAT[@]}" ]] ||
has "${m_flag}" "${MULTILIB_COMPAT[@]}"; } \
- && use "${m_flag}"
+ if [[ ${m_abi} == ${abi} ]] &&
+ {
+ [[ ! "${MULTILIB_COMPAT[@]}" ]]
||
+ has "${m_flag}"
"${MULTILIB_COMPAT[@]}"
+ } &&
+ use "${m_flag}"
then
echo "${m_flag}.${abi}"
found=1
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 325f6b65a51163b14ba35fd7e7521dac3e50ff8c
Author: Ulrich Müller gentoo org>
AuthorDate: Wed Dec 17 15:30:19 2025 +
Commit: Michał Górny gentoo org>
CommitDate: Tue Jan 27 07:06:47 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=325f6b65
verify-sig.eclass: Support EAPI 9
Signed-off-by: Ulrich Müller gentoo.org>
Signed-off-by: Michał Górny gentoo.org>
Part-of: https://codeberg.org/gentoo/gentoo/pulls/25
eclass/verify-sig.eclass | 15 +++
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/eclass/verify-sig.eclass b/eclass/verify-sig.eclass
index ba1086d6641c..823e8f02a2c9 100644
--- a/eclass/verify-sig.eclass
+++ b/eclass/verify-sig.eclass
@@ -1,10 +1,10 @@
-# Copyright 2020-2025 Gentoo Authors
+# Copyright 2020-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: verify-sig.eclass
# @MAINTAINER:
# Michał Górny
-# @SUPPORTED_EAPIS: 7 8
+# @SUPPORTED_EAPIS: 7 8 9
# @BLURB: Eclass to verify upstream signatures on distfiles
# @DESCRIPTION:
# verify-sig eclass provides a streamlined approach to verifying
@@ -40,15 +40,14 @@
# VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/example.asc
# @CODE
-case ${EAPI} in
- 7|8) ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
if [[ -z ${_VERIFY_SIG_ECLASS} ]]; then
_VERIFY_SIG_ECLASS=1
-inherit eapi9-pipestatus
+case ${EAPI} in
+ 7|8) inherit eapi9-pipestatus ;;
+ 9) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
IUSE="verify-sig"
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 7a9686b8ed66489324e30ecb25d4310e574ae9d3
Author: Michał Górny gentoo org>
AuthorDate: Mon Jan 26 12:02:57 2026 +
Commit: Michał Górny gentoo org>
CommitDate: Tue Jan 27 07:06:47 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a9686b8
multilib-build.eclass: Ban multilib_parallel* in EAPI 9
Signed-off-by: Michał Górny gentoo.org>
Part-of: https://codeberg.org/gentoo/gentoo/pulls/26
eclass/multilib-build.eclass | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/eclass/multilib-build.eclass b/eclass/multilib-build.eclass
index 375adc46531a..1d80c43fc900 100644
--- a/eclass/multilib-build.eclass
+++ b/eclass/multilib-build.eclass
@@ -1,4 +1,4 @@
-# Copyright 2013-2024 Gentoo Authors
+# Copyright 2013-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: multilib-build.eclass
@@ -234,10 +234,12 @@ multilib_foreach_abi() {
# is done.
#
# This function used to run multiple commands in parallel. Now it's just
-# a deprecated alias to multilib_foreach_abi.
+# a deprecated alias to multilib_foreach_abi. It is removed in EAPI 9.
multilib_parallel_foreach_abi() {
debug-print-function ${FUNCNAME} "$@"
+ [[ ${EAPI} != [78] ]] && die "${FUNCNAME} is banned since EAPI 9"
+
local MULTIBUILD_VARIANTS=( $(multilib_get_enabled_abi_pairs) )
multibuild_foreach_variant _multilib_multibuild_wrapper "${@}"
}
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 2cb33d9f2ef99beb596b5d56d58346ee1b8c2204
Author: Michał Górny gentoo org>
AuthorDate: Mon Jan 26 09:11:23 2026 +
Commit: Michał Górny gentoo org>
CommitDate: Tue Jan 27 07:06:47 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2cb33d9f
verify-sig.eclass: Allow whitespace in openssl-dgst format
Permit whitespace when verifying openssl-dgst format, to make it also
work for the shasum format used by tarsnap. However, given the changes
seem to be merely whitespace, just accept both rather than having two
confusing names for them.
openssl-dgst: SHA256(filename)=digest
shasum: SHA256 (filename) = digest
Closes: https://bugs.gentoo.org/969167
Signed-off-by: Michał Górny gentoo.org>
Part-of: https://codeberg.org/gentoo/gentoo/pulls/25
Merges: https://codeberg.org/gentoo/gentoo/pulls/25
eclass/verify-sig.eclass | 9 -
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/eclass/verify-sig.eclass b/eclass/verify-sig.eclass
index 823e8f02a2c9..d9aa60152a09 100644
--- a/eclass/verify-sig.eclass
+++ b/eclass/verify-sig.eclass
@@ -344,11 +344,10 @@ verify-sig_verify_unsigned_checksums() {
[[ -n ${junk} ]] && continue
;;
openssl-dgst)
- [[ ${line} != *"("*")="* ]] && continue
- checksum=${line##*)=}
- algo=${line%%(*}
- filename=${line#*(}
- filename=${filename%)=*}
+ [[ ${line} =~
^([[:alnum:]]+)[[:space:]]*[(](.*)[)][[:space:]]*=[[:space:]]*([0-9a-fA-F]+)$
]] || continue
+ algo=${BASH_REMATCH[1]}
+ filename=${BASH_REMATCH[2]}
+ checksum=${BASH_REMATCH[3]}
;;
esac
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 70a4eda488cbf41c1896d0bdedbc83ac0fc61dae
Author: Andreas Sturmlechner gentoo org>
AuthorDate: Mon Jan 26 17:16:46 2026 +
Commit: Sam James gentoo org>
CommitDate: Mon Jan 26 23:03:01 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=70a4eda4
qmake-utils.eclass: Introduce qt6_get_libexecdir
It is queried 16 times right now in ::gentoo.
Signed-off-by: Andreas Sturmlechner gentoo.org>
Part-of: https://github.com/gentoo/gentoo/pull/45527
Signed-off-by: Sam James gentoo.org>
eclass/qmake-utils.eclass | 7 +++
1 file changed, 7 insertions(+)
diff --git a/eclass/qmake-utils.eclass b/eclass/qmake-utils.eclass
index d535e39da2cd..1be7524693ad 100644
--- a/eclass/qmake-utils.eclass
+++ b/eclass/qmake-utils.eclass
@@ -141,6 +141,13 @@ qt6_get_libdir() {
echo /usr/$(get_libdir)
}
+# @FUNCTION: qt6_get_libexecdir
+# @DESCRIPTION:
+# Echoes the directory where Qt6 libexec bins are installed.
+qt6_get_libexecdir() {
+ echo $(qt6_get_libdir)/qt6/libexec
+}
+
# @FUNCTION: qt6_get_mkspecsdir
# @DESCRIPTION:
# Echoes the directory where Qt6 mkspecs are installed.
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: a4ebcf50ef67283afbab7500b31627cd8cc3 Author: Andreas Sturmlechner gentoo org> AuthorDate: Mon Jan 26 17:13:17 2026 + Commit: Sam James gentoo org> CommitDate: Mon Jan 26 23:03:01 2026 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a4ebcf22 qmake-utils.eclass: Drop EAPI-7 support Signed-off-by: Andreas Sturmlechner gentoo.org> Part-of: https://github.com/gentoo/gentoo/pull/45527 Signed-off-by: Sam James gentoo.org> eclass/qmake-utils.eclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/eclass/qmake-utils.eclass b/eclass/qmake-utils.eclass index 5c5fa8dcb047..d535e39da2cd 100644 --- a/eclass/qmake-utils.eclass +++ b/eclass/qmake-utils.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: qmake-utils.eclass @@ -6,7 +6,7 @@ # [email protected] # @AUTHOR: # Davide Pesavento -# @SUPPORTED_EAPIS: 7 8 +# @SUPPORTED_EAPIS: 8 # @BLURB: Common functions for qmake-based packages. # @DESCRIPTION: # Utility eclass providing wrapper functions for Qt qmake. @@ -15,7 +15,7 @@ # functions. It can be inherited safely. case ${EAPI} in - 7|8) ;; + 8) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 6b6638d61700efd2dbb1c351bc54e980fa633821
Author: Michał Górny gentoo org>
AuthorDate: Mon Jan 26 15:45:57 2026 +
Commit: Michał Górny gentoo org>
CommitDate: Mon Jan 26 15:45:57 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6b6638d6
llvm.org.eclass: Remove 22.x snapshot hashes
Signed-off-by: Michał Górny gentoo.org>
eclass/llvm.org.eclass | 9 -
1 file changed, 9 deletions(-)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 317ac0232014..05becabd1b48 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -75,15 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
23.0.0_pre20260125)
EGIT_COMMIT=9eaa1ff11ccde52f2e3bf86f253b6b646548c7cc
;;
- 22.0.0_pre20260113)
-
EGIT_COMMIT=85c3c83ae54c9e81924f1ca048cfddc8d36bbb02
- ;;
- 22.0.0_pre20260106)
-
EGIT_COMMIT=b01c3d6682d2fa5d6ac22d5a964b739009e9db7b
- ;;
- 22.0.0_pre20260103)
-
EGIT_COMMIT=05349a9b43805d3c0b424da99f3a1fa362cd3419
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 50231a7f8b5fc8206d9024f61d2f69e1ad33ae57
Author: Michał Górny gentoo org>
AuthorDate: Mon Jan 26 15:34:38 2026 +
Commit: Michał Górny gentoo org>
CommitDate: Mon Jan 26 15:35:20 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=50231a7f
llvm.org.eclass: Add 23.0.0_pre20260125 snapshot
Signed-off-by: Michał Górny gentoo.org>
eclass/llvm.org.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index fcd0d8ad2b7b..317ac0232014 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
_LLVM_SOURCE_TYPE=snapshot
case ${PV} in
+ 23.0.0_pre20260125)
+
EGIT_COMMIT=9eaa1ff11ccde52f2e3bf86f253b6b646548c7cc
+ ;;
22.0.0_pre20260113)
EGIT_COMMIT=85c3c83ae54c9e81924f1ca048cfddc8d36bbb02
;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: ec2e0b254e8679570771408a47d62024bd2f2b29
Author: Ulrich Müller gentoo org>
AuthorDate: Wed Dec 17 15:30:13 2025 +
Commit: Ulrich Müller gentoo org>
CommitDate: Mon Jan 26 14:31:47 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec2e0b25
strip-linguas.eclass: Support EAPI 9
Signed-off-by: Ulrich Müller gentoo.org>
eclass/strip-linguas.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/strip-linguas.eclass b/eclass/strip-linguas.eclass
index 1c4c46bc6852..af8fc51150b0 100644
--- a/eclass/strip-linguas.eclass
+++ b/eclass/strip-linguas.eclass
@@ -6,14 +6,14 @@
# Ulrich Müller
# @AUTHOR:
# Mike Frysinger
-# @SUPPORTED_EAPIS: 7 8
+# @SUPPORTED_EAPIS: 7 8 9
# @BLURB: convenience function for LINGUAS support
if [[ -z ${_STRIP_LINGUAS_ECLASS} ]]; then
_STRIP_LINGUAS_ECLASS=1
case ${EAPI} in
- 7|8) ;;
+ 7|8|9) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 569a75354e41d577183a600c48895a3ebb7d2416
Author: Ulrich Müller gentoo org>
AuthorDate: Wed Dec 17 15:30:01 2025 +
Commit: Ulrich Müller gentoo org>
CommitDate: Mon Jan 26 14:31:32 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=569a7535
plocale.eclass: Support EAPI 9
Signed-off-by: Ulrich Müller gentoo.org>
eclass/plocale.eclass | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/eclass/plocale.eclass b/eclass/plocale.eclass
index 954b06585746..cb706efc8959 100644
--- a/eclass/plocale.eclass
+++ b/eclass/plocale.eclass
@@ -1,4 +1,4 @@
-# Copyright 2012-2022 Gentoo Authors
+# Copyright 2012-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: plocale.eclass
@@ -6,7 +6,7 @@
# Ulrich Müller
# @AUTHOR:
# Ben de Groot
-# @SUPPORTED_EAPIS: 7 8
+# @SUPPORTED_EAPIS: 7 8 9
# @BLURB: convenience functions to handle localizations
# @DESCRIPTION:
# The plocale (localization) eclass offers a number of functions to more
@@ -51,14 +51,14 @@
# maintenance. It can be used to scan a directory for available
# translations and check if the ebuild's PLOCALES are still up to date.
+if [[ -z ${_PLOCALE_ECLASS} ]]; then
+_PLOCALE_ECLASS=1
+
case ${EAPI} in
- 7|8) ;;
+ 7|8|9) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_PLOCALE_ECLASS} ]]; then
-_PLOCALE_ECLASS=1
-
# @ECLASS_VARIABLE: PLOCALES
# @DEFAULT_UNSET
# @DESCRIPTION:
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: a5d15ea23f2a26ec474a01a56fda77cb4c7c3681 Author: Ulrich Müller gentoo org> AuthorDate: Wed Dec 17 15:30:10 2025 + Commit: Ulrich Müller gentoo org> CommitDate: Mon Jan 26 13:33:45 2026 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a5d15ea2 scons-utils.eclass: Support EAPI 9 Signed-off-by: Ulrich Müller gentoo.org> eclass/scons-utils.eclass | 15 ++- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/eclass/scons-utils.eclass b/eclass/scons-utils.eclass index 4f5e6962f43e..6783d36cb9e8 100644 --- a/eclass/scons-utils.eclass +++ b/eclass/scons-utils.eclass @@ -1,10 +1,10 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: scons-utils.eclass # @MAINTAINER: # [email protected] -# @SUPPORTED_EAPIS: 7 8 +# @SUPPORTED_EAPIS: 7 8 9 # @BLURB: helper functions to deal with SCons buildsystem # @DESCRIPTION: # This eclass provides a set of function to help developers sanely call @@ -82,11 +82,14 @@ # Much like EXTRA_EMAKE, this is not supposed to be used in make.conf # and not in ebuilds! +if [[ -z ${_SCONS_UTILS_ECLASS} ]]; then +_SCONS_UTILS_ECLASS=1 + # -- EAPI support check -- -case ${EAPI:-0} in - 7|8) ;; - *) die "EAPI ${EAPI} unsupported." +case ${EAPI} in + 7|8|9) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac inherit multiprocessing @@ -158,3 +161,5 @@ escons() { echo "${@}" >&2 "${@}" || die -n "escons failed." } + +fi
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 1d1c7ad8baf8e33ce44e30724966890e88d0c349
Author: Ulrich Müller gentoo org>
AuthorDate: Wed Dec 17 15:30:12 2025 +
Commit: Ulrich Müller gentoo org>
CommitDate: Mon Jan 26 11:33:25 2026 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1d1c7ad8
sgml-catalog-r1.eclass: Support EAPI 9
Signed-off-by: Ulrich Müller gentoo.org>
eclass/sgml-catalog-r1.eclass | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/eclass/sgml-catalog-r1.eclass b/eclass/sgml-catalog-r1.eclass
index 4b4d5334670b..0235936e604b 100644
--- a/eclass/sgml-catalog-r1.eclass
+++ b/eclass/sgml-catalog-r1.eclass
@@ -6,20 +6,20 @@
# Michał Górny
# @AUTHOR:
# Michał Górny
-# @SUPPORTED_EAPIS: 7 8
+# @SUPPORTED_EAPIS: 7 8 9
# @BLURB: Functions for installing SGML catalogs
# @DESCRIPTION:
# This eclass regenerates /etc/sgml/catalog as necessary for the DocBook
# tooling. This is done via exported pkg_postinst and pkg_postrm phases.
+if [[ -z ${_SGML_CATALOG_R1_ECLASS} ]]; then
+_SGML_CATALOG_R1_ECLASS=1
+
case ${EAPI} in
- 7|8) ;;
+ 7|8|9) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_SGML_CATALOG_R1_ECLASS} ]]; then
-_SGML_CATALOG_R1_ECLASS=1
-
if [[ ${CATEGORY}/${PN} != app-text/sgml-common ]]; then
RDEPEND=">=app-text/sgml-common-0.6.3-r7"
fi
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 3b271461c203e1798dd0a31c3fbf8f65fef3b948 Author: Ulrich Müller gentoo org> AuthorDate: Wed Dec 17 15:30:18 2025 + Commit: Ulrich Müller gentoo org> CommitDate: Mon Jan 26 11:33:26 2026 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3b271461 vcs-snapshot.eclass: Support EAPI 9 Signed-off-by: Ulrich Müller gentoo.org> eclass/vcs-snapshot.eclass | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/eclass/vcs-snapshot.eclass b/eclass/vcs-snapshot.eclass index 998fe348a2ab..f68169419dc1 100644 --- a/eclass/vcs-snapshot.eclass +++ b/eclass/vcs-snapshot.eclass @@ -1,10 +1,10 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: vcs-snapshot.eclass # @MAINTAINER: # [email protected] -# @SUPPORTED_EAPIS: 7 8 +# @SUPPORTED_EAPIS: 7 8 9 # @BLURB: support eclass for unpacking VCS snapshot tarballs # @DESCRIPTION: # THIS ECLASS IS NOT NECESSARY FOR MODERN GITHUB AND GITLAB SNAPSHOTS. @@ -42,14 +42,14 @@ # and however the tarballs were originally packed, all files will appear # in ${WORKDIR}/${P} and ${WORKDIR}/${P}-otherstuff respectively. +if [[ -z ${_VCS_SNAPSHOT_ECLASS} ]]; then +_VCS_SNAPSHOT_ECLASS=1 + case ${EAPI} in - 7|8) ;; + 7|8|9) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac -if [[ -z ${_VCS_SNAPSHOT_ECLASS} ]]; then -_VCS_SNAPSHOT_ECLASS=1 - # @FUNCTION: vcs-snapshot_src_unpack # @DESCRIPTION: # Extract all the archives from ${A}. The .tar, .tar.gz, .tar.bz2
