summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass')
-rw-r--r--eclass/Manifest.gzbin39878 -> 39895 bytes
-rw-r--r--eclass/acct-group.eclass2
-rw-r--r--eclass/acct-user.eclass2
-rw-r--r--eclass/apache-module.eclass15
-rw-r--r--eclass/autotools.eclass14
-rw-r--r--eclass/bash-completion-r1.eclass8
-rw-r--r--eclass/cdrom.eclass16
-rw-r--r--eclass/check-reqs.eclass14
-rw-r--r--eclass/depend.apache.eclass13
-rw-r--r--eclass/desktop.eclass8
-rw-r--r--eclass/distutils-r1.eclass6
-rw-r--r--eclass/flag-o-matic.eclass12
-rw-r--r--eclass/fortran-2.eclass14
-rw-r--r--eclass/gnuconfig.eclass14
-rw-r--r--eclass/java-pkg-2.eclass12
-rw-r--r--eclass/java-utils-2.eclass35
-rw-r--r--eclass/kernel-install.eclass2
-rw-r--r--eclass/libtool.eclass9
-rw-r--r--eclass/llvm.org.eclass18
-rw-r--r--eclass/mono-env.eclass14
-rw-r--r--eclass/mozcoreconf-v6.eclass8
-rw-r--r--eclass/multibuild.eclass14
-rw-r--r--eclass/multilib-build.eclass14
-rw-r--r--eclass/multilib-minimal.eclass17
-rw-r--r--eclass/multilib.eclass14
-rw-r--r--eclass/multiprocessing.eclass16
-rw-r--r--eclass/out-of-source-utils.eclass14
-rw-r--r--eclass/pax-utils.eclass16
-rw-r--r--eclass/perl-functions.eclass11
-rw-r--r--eclass/php-pear-r2.eclass14
-rw-r--r--eclass/portability.eclass12
-rw-r--r--eclass/prefix.eclass16
-rw-r--r--eclass/preserve-libs.eclass14
-rw-r--r--eclass/readme.gentoo-r1.eclass6
-rw-r--r--eclass/rocm.eclass40
-rw-r--r--eclass/ruby-fakegem.eclass8
-rw-r--r--eclass/ruby-ng.eclass8
-rw-r--r--eclass/ruby-utils.eclass14
-rw-r--r--eclass/strip-linguas.eclass16
-rw-r--r--eclass/systemd.eclass8
-rw-r--r--eclass/tmpfiles.eclass12
-rw-r--r--eclass/toolchain-funcs.eclass12
-rw-r--r--eclass/toolchain.eclass1
-rw-r--r--eclass/udev.eclass14
-rw-r--r--eclass/vcs-clean.eclass14
-rw-r--r--eclass/vim-doc.eclass12
-rw-r--r--eclass/vim-plugin.eclass14
-rw-r--r--eclass/vim-spell.eclass12
-rw-r--r--eclass/virtualx.eclass14
-rw-r--r--eclass/webapp.eclass14
-rw-r--r--eclass/wrapper.eclass16
-rw-r--r--eclass/xdg-utils.eclass8
-rw-r--r--eclass/xdg.eclass14
53 files changed, 421 insertions, 244 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz
index a5f3da468dc2..fbe371003aac 100644
--- a/eclass/Manifest.gz
+++ b/eclass/Manifest.gz
Binary files differ
diff --git a/eclass/acct-group.eclass b/eclass/acct-group.eclass
index 2c2c88cfc7e1..00908dbd8982 100644
--- a/eclass/acct-group.eclass
+++ b/eclass/acct-group.eclass
@@ -78,7 +78,7 @@ ACCT_GROUP_NAME=${PN}
# << Boilerplate ebuild variables >>
: "${DESCRIPTION:="System group: ${ACCT_GROUP_NAME}"}"
: "${SLOT:=0}"
-: "${KEYWORDS:=~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris}"
+: "${KEYWORDS:=~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris}"
S=${WORKDIR}
diff --git a/eclass/acct-user.eclass b/eclass/acct-user.eclass
index 9eab1f4c4ae6..19c5239eaede 100644
--- a/eclass/acct-user.eclass
+++ b/eclass/acct-user.eclass
@@ -144,7 +144,7 @@ ACCT_USER_NAME=${PN}
# << Boilerplate ebuild variables >>
: "${DESCRIPTION:="System user: ${ACCT_USER_NAME}"}"
: "${SLOT:=0}"
-: "${KEYWORDS:=~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris}"
+: "${KEYWORDS:=~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris}"
S=${WORKDIR}
diff --git a/eclass/apache-module.eclass b/eclass/apache-module.eclass
index 5a84ffedf71a..07bdb79e08a2 100644
--- a/eclass/apache-module.eclass
+++ b/eclass/apache-module.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: apache-module.eclass
@@ -44,14 +44,19 @@
# </IfDefine>
# @CODE
-case ${EAPI} in
- 6|7|8) ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
if [[ -z ${_APACHE_MODULE_ECLASS} ]]; then
_APACHE_MODULE_ECLASS=1
+case ${EAPI} in
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
inherit depend.apache
# ==============================================================================
diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index 3c9e89bda90e..0571b18ba525 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -13,11 +13,6 @@
# Note: We require GNU m4, as does autoconf. So feel free to use any features
# from the GNU version of m4 without worrying about other variants (i.e. BSD).
-case ${EAPI} in
- 6|7|8) ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
if [[ ${_AUTOTOOLS_AUTO_DEPEND+set} == "set" ]] ; then
# See if we were included already, but someone changed the value
# of AUTOTOOLS_AUTO_DEPEND on us. We could reload the entire
@@ -31,6 +26,15 @@ fi
if [[ -z ${_AUTOTOOLS_ECLASS} ]] ; then
_AUTOTOOLS_ECLASS=1
+case ${EAPI} in
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
[[ ${EAPI} == 6 ]] && inherit eqawarn
GNUCONFIG_AUTO_DEPEND=no
diff --git a/eclass/bash-completion-r1.eclass b/eclass/bash-completion-r1.eclass
index df1a2a54d39a..be506793ae94 100644
--- a/eclass/bash-completion-r1.eclass
+++ b/eclass/bash-completion-r1.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: bash-completion-r1.eclass
@@ -29,7 +29,11 @@ _BASH_COMPLETION_R1_ECLASS=1
inherit toolchain-funcs
case ${EAPI} in
- 5|6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
diff --git a/eclass/cdrom.eclass b/eclass/cdrom.eclass
index 4e56db951196..4f7ba663beba 100644
--- a/eclass/cdrom.eclass
+++ b/eclass/cdrom.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: cdrom.eclass
@@ -15,14 +15,18 @@
# eclass will require RESTRICT="bindist" but the point still stands.
# The functions are generally called in src_unpack.
-case ${EAPI:-0} in
- 6|7|8) ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
if [[ -z ${_CDROM_ECLASS} ]]; then
_CDROM_ECLASS=1
+case ${EAPI} in
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
inherit portability
# @ECLASS_VARIABLE: CDROM_OPTIONAL
diff --git a/eclass/check-reqs.eclass b/eclass/check-reqs.eclass
index fac2f4553d74..02ff61187c45 100644
--- a/eclass/check-reqs.eclass
+++ b/eclass/check-reqs.eclass
@@ -1,4 +1,4 @@
-# Copyright 2004-2023 Gentoo Authors
+# Copyright 2004-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: check-reqs.eclass
@@ -38,14 +38,18 @@
# These checks should probably mostly work on non-Linux, and they should
# probably degrade gracefully if they don't. Probably.
+if [[ -z ${_CHECK_REQS_ECLASS} ]]; then
+_CHECK_REQS_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_CHECK_REQS_ECLASS} ]]; then
-_CHECK_REQS_ECLASS=1
-
# @ECLASS_VARIABLE: CHECKREQS_MEMORY
# @DEFAULT_UNSET
# @DESCRIPTION:
diff --git a/eclass/depend.apache.eclass b/eclass/depend.apache.eclass
index 8f0469931d2c..60926c298f04 100644
--- a/eclass/depend.apache.eclass
+++ b/eclass/depend.apache.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: depend.apache.eclass
@@ -40,12 +40,13 @@
# }
# @CODE
-case ${EAPI:-0} in
- 6|7|8)
- ;;
- *)
- die "EAPI=${EAPI} is not supported by depend.apache.eclass"
+case ${EAPI} in
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
;;
+ 7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
# ==============================================================================
diff --git a/eclass/desktop.eclass b/eclass/desktop.eclass
index 780971342ba1..144514c8f7c2 100644
--- a/eclass/desktop.eclass
+++ b/eclass/desktop.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: desktop.eclass
@@ -8,7 +8,11 @@
# @BLURB: support for desktop files, menus, and icons
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 0f9dc8d14d5e..5a6ebdcede8a 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1253,7 +1253,9 @@ distutils_pep517_install() {
fi
local cmd=() config_settings=
- has cargo ${INHERITED} && cmd+=( cargo_env )
+ if has cargo ${INHERITED} && [[ ${_CARGO_GEN_CONFIG_HAS_RUN} ]]; then
+ cmd+=( cargo_env )
+ fi
case ${DISTUTILS_USE_PEP517} in
maturin)
@@ -2109,8 +2111,10 @@ _distutils-r1_post_python_install() {
local strays=()
local p
mapfile -d $'\0' -t strays < <(
+ # jar for jpype, https://bugs.gentoo.org/937642
find "${sitedir}" -maxdepth 1 -type f '!' '(' \
-name '*.egg-info' -o \
+ -name '*.jar' -o \
-name '*.pth' -o \
-name '*.py' -o \
-name '*.pyi' -o \
diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index c6b1ad80e12e..02cd2dcfc592 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -10,14 +10,18 @@
# This eclass contains a suite of functions to help developers sanely
# and safely manage toolchain flags in their builds.
+if [[ -z ${_FLAG_O_MATIC_ECLASS} ]]; then
+_FLAG_O_MATIC_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_FLAG_O_MATIC_ECLASS} ]]; then
-_FLAG_O_MATIC_ECLASS=1
-
inherit toolchain-funcs
[[ ${EAPI} == 6 ]] && inherit eqawarn
diff --git a/eclass/fortran-2.eclass b/eclass/fortran-2.eclass
index 855dcba59a39..5e2ce1fc68e4 100644
--- a/eclass/fortran-2.eclass
+++ b/eclass/fortran-2.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: fortran-2.eclass
@@ -26,14 +26,18 @@
#
# FORTRAN_NEED_OPENMP=1
+if [[ -z ${_FORTRAN_2_ECLASS} ]]; then
+_FORTRAN_2_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_FORTRAN_2_ECLASS} ]]; then
-_FORTRAN_2_ECLASS=1
-
inherit toolchain-funcs
# @ECLASS_VARIABLE: FORTRAN_NEED_OPENMP
diff --git a/eclass/gnuconfig.eclass b/eclass/gnuconfig.eclass
index fb73087aeacf..afcb8feee04e 100644
--- a/eclass/gnuconfig.eclass
+++ b/eclass/gnuconfig.eclass
@@ -16,14 +16,18 @@
# other files that come with automake, e.g. depcomp, mkinstalldirs, etc.
#
-case ${EAPI:-0} in
- 6|7|8) ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
if [[ -z ${_GNUCONFIG_ECLASS} ]] ; then
_GNUCONFIG_CLASS=1
+case ${EAPI} in
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
# @ECLASS_VARIABLE: GNUCONFIG_DEPEND
# @OUTPUT_VARIABLE
# @DESCRIPTION:
diff --git a/eclass/java-pkg-2.eclass b/eclass/java-pkg-2.eclass
index df024bbadf51..6da4efd222c2 100644
--- a/eclass/java-pkg-2.eclass
+++ b/eclass/java-pkg-2.eclass
@@ -13,14 +13,18 @@
# This eclass should be inherited for pure Java packages, or by packages which
# need to use Java.
+if [[ -z ${_JAVA_PKG_2_ECLASS} ]] ; then
+_JAVA_PKG_2_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_JAVA_PKG_2_ECLASS} ]] ; then
-_JAVA_PKG_2_ECLASS=1
-
inherit java-utils-2
# @ECLASS_VARIABLE: JAVA_PKG_IUSE
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 647f25e2c987..43d9b749ba3d 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -17,14 +17,18 @@
# that have optional Java support. In addition you can inherit java-ant-2 for
# Ant-based packages.
+if [[ -z ${_JAVA_UTILS_2_ECLASS} ]] ; then
+_JAVA_UTILS_2_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_JAVA_UTILS_2_ECLASS} ]] ; then
-_JAVA_UTILS_2_ECLASS=1
-
# EAPI 7 has version functions built-in. Use eapi7-ver for all earlier EAPIs.
# Keep versionator inheritance in case consumers are using it implicitly.
[[ ${EAPI} == 6 ]] && inherit eapi7-ver eqawarn multilib versionator
@@ -2250,29 +2254,6 @@ java-pkg_force-compiler() {
JAVA_PKG_FORCE_COMPILER="$@"
}
-# @FUNCTION: use_doc
-# @DESCRIPTION:
-#
-# Helper function for getting ant to build javadocs. If the user has USE=doc,
-# then 'javadoc' or the argument are returned. Otherwise, there is no return.
-#
-# The output of this should be passed to ant.
-# @CODE
-# Parameters:
-# $@ - Option value to return. Defaults to 'javadoc'
-#
-# Examples:
-# build javadocs by calling 'javadoc' target
-# eant $(use_doc)
-#
-# build javadocs by calling 'apidoc' target
-# eant $(use_doc apidoc)
-# @CODE
-# @RETURN string - Name of the target to create javadocs
-use_doc() {
- use doc && echo ${@:-javadoc}
-}
-
# @FUNCTION: java-pkg_init
# @INTERNAL
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index 930640188c26..dc337c7862fd 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -650,7 +650,7 @@ kernel-install_extract_from_uki() {
local uki=${2}
local out=${3}
- $(tc-getOBJCOPY) -O binary "-j.${extract_type}" "${uki}" "${out}" ||
+ $(tc-getOBJCOPY) "${uki}" --dump-section ".${extract_type}=${out}" ||
die "Failed to extract ${extract_type}"
chmod 644 "${out}" || die
}
diff --git a/eclass/libtool.eclass b/eclass/libtool.eclass
index bd6141e1ede9..b36b1fd365d3 100644
--- a/eclass/libtool.eclass
+++ b/eclass/libtool.eclass
@@ -18,6 +18,15 @@ if [[ -z ${_LIBTOOL_ECLASS} ]]; then
_LIBTOOL_ECLASS=1
case ${EAPI} in
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+case ${EAPI} in
6) DEPEND=">=app-portage/elt-patches-20240116" ;;
7|8) BDEPEND=">=app-portage/elt-patches-20240116" ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index da943081b9bf..7f7edd6fb652 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -72,20 +72,14 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
_LLVM_SOURCE_TYPE=snapshot
case ${PV} in
- 20.0.0_pre20240830)
- EGIT_COMMIT=5500e21942f7047344b6fee62d3e08c0ba2f9182
- ;;
- 20.0.0_pre20240822)
- EGIT_COMMIT=503907dc505db1e439e7061113bf84dd105f2e35
+ 20.0.0_pre20240917)
+ EGIT_COMMIT=41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f
;;
- 20.0.0_pre20240815)
- EGIT_COMMIT=db8ef6188cbbe2125e6d60bdef77a535105772df
+ 20.0.0_pre20240910)
+ EGIT_COMMIT=bece0d7517bd0a036dc8a319514e4a8a5c497dee
;;
- 20.0.0_pre20240808)
- EGIT_COMMIT=fd7d7882e7fa5a38d4bfde426120d4663718beb4
- ;;
- 20.0.0_pre20240801)
- EGIT_COMMIT=130c135689ec12ab78c53645808524a8d28f7cae
+ 20.0.0_pre20240830)
+ EGIT_COMMIT=5500e21942f7047344b6fee62d3e08c0ba2f9182
;;
*)
die "Unknown snapshot: ${PV}"
diff --git a/eclass/mono-env.eclass b/eclass/mono-env.eclass
index 48712587ff3e..02bd7e8dd9be 100644
--- a/eclass/mono-env.eclass
+++ b/eclass/mono-env.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: mono-env.eclass
@@ -9,14 +9,18 @@
# @DESCRIPTION:
# Set environment variables commonly used by dotnet packages.
+if [[ -z ${_MONO_ENV_ECLASS} ]] ; then
+_MONO_ENV_ECLASS=1
+
case ${EAPI} in
- 6|7) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_MONO_ENV_ECLASS} ]] ; then
-_MONO_ENV_ECLASS=1
-
SRC_URI="http://download.mono-project.com/sources/${PN}/${P}.tar.bz2"
mono-env_pkg_setup() {
diff --git a/eclass/mozcoreconf-v6.eclass b/eclass/mozcoreconf-v6.eclass
index 71dbc6802d71..e7cf85fca24a 100644
--- a/eclass/mozcoreconf-v6.eclass
+++ b/eclass/mozcoreconf-v6.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: mozcoreconf-v6.eclass
@@ -157,7 +157,7 @@ mozconfig_init() {
mozconfig_annotate "less than -O2 causes a segfault on x86" --enable-optimize=-O2
elif [[ ${ARCH} == arm ]] && [[ $(gcc-major-version) -ge 6 ]]; then
mozconfig_annotate "less than -O2 causes a breakage on arm with gcc-6" --enable-optimize=-O2
- elif use custom-optimization || [[ ${ARCH} =~ (alpha|ia64) ]]; then
+ elif use custom-optimization || [[ ${ARCH} == alpha ]]; then
# Set optimization level based on CFLAGS
if is-flag -O0; then
mozconfig_annotate "from CFLAGS" --enable-optimize=-O0
@@ -204,10 +204,6 @@ mozconfig_init() {
# operation
append-flags -fPIC -mieee
;;
- ia64)
- # Historically we have needed to add this manually for 64-bit
- append-flags -fPIC
- ;;
esac
# We need to append flags for gcc-6 support
diff --git a/eclass/multibuild.eclass b/eclass/multibuild.eclass
index f15d3327c7dd..0677ea346e4c 100644
--- a/eclass/multibuild.eclass
+++ b/eclass/multibuild.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: multibuild.eclass
@@ -13,17 +13,21 @@
# multiple 'variants' of a package (e.g. multilib, Python
# implementations).
+if [[ ! ${_MULTIBUILD_ECLASS} ]]; then
+_MULTIBUILD_ECLASS=1
+
case ${EAPI} in
- 6|7|8)
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8)
# backwards compatibility for run_in_build_dir
inherit out-of-source-utils
;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_MULTIBUILD_ECLASS} ]]; then
-_MULTIBUILD_ECLASS=1
-
# @ECLASS_VARIABLE: MULTIBUILD_VARIANTS
# @REQUIRED
# @DESCRIPTION:
diff --git a/eclass/multilib-build.eclass b/eclass/multilib-build.eclass
index 1774ad057430..22c4a8bb3048 100644
--- a/eclass/multilib-build.eclass
+++ b/eclass/multilib-build.eclass
@@ -1,4 +1,4 @@
-# Copyright 2013-2023 Gentoo Authors
+# Copyright 2013-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: multilib-build.eclass
@@ -17,14 +17,18 @@
# dependencies shall use the USE dependency string in ${MULTILIB_USEDEP}
# to properly request multilib enabled.
+if [[ -z ${_MULTILIB_BUILD_ECLASS} ]]; then
+_MULTILIB_BUILD_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_MULTILIB_BUILD_ECLASS} ]]; then
-_MULTILIB_BUILD_ECLASS=1
-
inherit multibuild multilib
# @ECLASS_VARIABLE: _MULTILIB_FLAGS
diff --git a/eclass/multilib-minimal.eclass b/eclass/multilib-minimal.eclass
index 92968b6cf213..c84fb3781a97 100644
--- a/eclass/multilib-minimal.eclass
+++ b/eclass/multilib-minimal.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: multilib-minimal.eclass
@@ -23,16 +23,21 @@
#
# If you need generic install rules, use multilib_src_install_all function.
-case ${EAPI} in
- 6|7|8) ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
inherit multilib-build
if [[ ! ${_MULTILIB_MINIMAL_ECLASS} ]]; then
_MULTILIB_MINIMAL_ECLASS=1
+case ${EAPI} in
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+
multilib-minimal_src_configure() {
debug-print-function ${FUNCNAME} "$@"
diff --git a/eclass/multilib.eclass b/eclass/multilib.eclass
index bf9c88f7e6a4..eca8c02d8336 100644
--- a/eclass/multilib.eclass
+++ b/eclass/multilib.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: multilib.eclass
@@ -9,14 +9,18 @@
# @DESCRIPTION:
# This eclass is for all functions pertaining to handling multilib configurations.
+if [[ -z ${_MULTILIB_ECLASS} ]]; then
+_MULTILIB_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_MULTILIB_ECLASS} ]]; then
-_MULTILIB_ECLASS=1
-
inherit toolchain-funcs
# Defaults:
diff --git a/eclass/multiprocessing.eclass b/eclass/multiprocessing.eclass
index 13d6a92f2f2e..f9627de26c3b 100644
--- a/eclass/multiprocessing.eclass
+++ b/eclass/multiprocessing.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: multiprocessing.eclass
@@ -24,14 +24,18 @@
# }
# @CODE
-case ${EAPI:-0} in
- [5678]) ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
if [[ -z ${_MULTIPROCESSING_ECLASS} ]]; then
_MULTIPROCESSING_ECLASS=1
+case ${EAPI} in
+ 5|6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
# @FUNCTION: get_nproc
# @USAGE: [${fallback:-1}]
# @DESCRIPTION:
diff --git a/eclass/out-of-source-utils.eclass b/eclass/out-of-source-utils.eclass
index d68b21088995..55a88127ca71 100644
--- a/eclass/out-of-source-utils.eclass
+++ b/eclass/out-of-source-utils.eclass
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: out-of-source-utils.eclass
@@ -12,14 +12,18 @@
# This eclass provides a run_in_build_dir() helper that can be used
# to execute specified command inside BUILD_DIR.
+if [[ ! ${_OUT_OF_SOURCE_UTILS_ECLASS} ]]; then
+_OUT_OF_SOURCE_UTILS_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_OUT_OF_SOURCE_UTILS_ECLASS} ]]; then
-_OUT_OF_SOURCE_UTILS_ECLASS=1
-
# @FUNCTION: run_in_build_dir
# @USAGE: <argv>...
# @DESCRIPTION:
diff --git a/eclass/pax-utils.eclass b/eclass/pax-utils.eclass
index 3830f03df341..a7144278fd9a 100644
--- a/eclass/pax-utils.eclass
+++ b/eclass/pax-utils.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: pax-utils.eclass
@@ -21,14 +21,18 @@
# To control what markings are made, set PAX_MARKINGS in /etc/portage/make.conf
# to contain either "PT", "XT" or "none". The default is none
-case ${EAPI:-0} in
- 5|6|7|8) ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
if [[ -z ${_PAX_UTILS_ECLASS} ]]; then
_PAX_UTILS_ECLASS=1
+case ${EAPI} in
+ 5|6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
# @ECLASS_VARIABLE: PAX_MARKINGS
# @DESCRIPTION:
# Control which markings are made:
diff --git a/eclass/perl-functions.eclass b/eclass/perl-functions.eclass
index 142fdeb8cfbd..d2b6cfb85f73 100644
--- a/eclass/perl-functions.eclass
+++ b/eclass/perl-functions.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: perl-functions.eclass
@@ -17,11 +17,12 @@
# global scope.
case ${EAPI} in
- 7|8)
- ;;
- *)
- die "${ECLASS}: EAPI ${EAPI:-0} not supported"
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
;;
+ 7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
[[ ${CATEGORY} == "perl-core" ]] && inherit alternatives
diff --git a/eclass/php-pear-r2.eclass b/eclass/php-pear-r2.eclass
index 9882c7dcc700..567aa9a8144f 100644
--- a/eclass/php-pear-r2.eclass
+++ b/eclass/php-pear-r2.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: php-pear-r2.eclass
@@ -14,14 +14,18 @@
# Note that this eclass doesn't handle dependencies of PEAR packages
# on purpose; please use (R)DEPEND to define them correctly!
+if [[ -z ${_PHP_PEAR_R2_ECLASS} ]]; then
+_PHP_PEAR_R2_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_PHP_PEAR_R2_ECLASS} ]]; then
-_PHP_PEAR_R2_ECLASS=1
-
RDEPEND=">=dev-php/pear-1.8.1"
[[ ${EAPI} != [67] ]] && IDEPEND=">=dev-php/pear-1.8.1"
diff --git a/eclass/portability.eclass b/eclass/portability.eclass
index 78da440e22dd..926ac8b8b825 100644
--- a/eclass/portability.eclass
+++ b/eclass/portability.eclass
@@ -9,14 +9,18 @@
# @SUPPORTED_EAPIS: 6 7 8
# @BLURB: This eclass is created to avoid using non-portable GNUisms inside ebuilds
+if [[ -z ${_PORTABILITY_ECLASS} ]]; then
+_PORTABILITY_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_PORTABILITY_ECLASS} ]]; then
-_PORTABILITY_ECLASS=1
-
# @FUNCTION: treecopy
# @USAGE: <orig1> [orig2 orig3 ....] <dest>
# @DESCRIPTION:
diff --git a/eclass/prefix.eclass b/eclass/prefix.eclass
index 8d50d0ba7b6e..e968e8ae8bac 100644
--- a/eclass/prefix.eclass
+++ b/eclass/prefix.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: prefix.eclass
@@ -12,14 +12,18 @@
# located somewhere in the filesystem. Prefix ebuilds require
# additional functions and variables which are defined by this eclass.
-case ${EAPI:-0} in
- [5678]) ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
if [[ -z ${_PREFIX_ECLASS} ]]; then
_PREFIX_ECLASS=1
+case ${EAPI} in
+ 5|6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
# @ECLASS_VARIABLE: EPREFIX
# @DESCRIPTION:
# The offset prefix of a Gentoo Prefix installation. When Gentoo Prefix
diff --git a/eclass/preserve-libs.eclass b/eclass/preserve-libs.eclass
index 35c65ef4436f..38571447b945 100644
--- a/eclass/preserve-libs.eclass
+++ b/eclass/preserve-libs.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: preserve-libs.eclass
@@ -7,14 +7,18 @@
# @SUPPORTED_EAPIS: 5 6 7 8
# @BLURB: preserve libraries after SONAME changes
+if [[ -z ${_PRESERVE_LIBS_ECLASS} ]]; then
+_PRESERVE_LIBS_ECLASS=1
+
case ${EAPI} in
- 5|6|7|8) ;;
+ 5|6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_PRESERVE_LIBS_ECLASS} ]]; then
-_PRESERVE_LIBS_ECLASS=1
-
# @FUNCTION: preserve_old_lib
# @USAGE: <libs to preserve> [more libs]
# @DESCRIPTION:
diff --git a/eclass/readme.gentoo-r1.eclass b/eclass/readme.gentoo-r1.eclass
index 48023d9c049f..3d2d8244687c 100644
--- a/eclass/readme.gentoo-r1.eclass
+++ b/eclass/readme.gentoo-r1.eclass
@@ -21,7 +21,11 @@ if [[ -z ${_README_GENTOO_ECLASS} ]]; then
_README_GENTOO_ECLASS=1
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
diff --git a/eclass/rocm.eclass b/eclass/rocm.eclass
index 7039455dec6b..cf501d5a8861 100644
--- a/eclass/rocm.eclass
+++ b/eclass/rocm.eclass
@@ -15,9 +15,13 @@
# edit USE flag to control which GPU architecture to compile. Using
# ${ROCM_USEDEP} can ensure coherence among dependencies. Ebuilds can call the
# function get_amdgpu_flag to translate activated target to GPU compile flags,
-# passing it to configuration. Function check_amdgpu can help ebuild ensure
+# passing it to configuration. Function rocm_use_hipcc switches active compiler
+# to hipcc and cleans incompatible flags (useful for users with gcc-only flags
+# in /etc/portage/make.conf). Function check_amdgpu can help ebuild ensure
# read and write permissions to GPU device in src_test phase, throwing friendly
-# error message if unavailable.
+# error message if unavailable. However src_configure in general should not
+# access any AMDGPU devices. If it does, it usually means that CMakeLists.txt
+# ignores AMDGPU_TARGETS in favor of autodetected GPU, which is not desired.
#
# @EXAMPLE:
# Example ebuild for ROCm library in https://github.com/ROCmSoftwarePlatform
@@ -39,14 +43,12 @@
# "
#
# src_configure() {
-# # avoid sandbox violation
-# addpredict /dev/kfd
-# addpredict /dev/dri/
+# rocm_use_hipcc
# local mycmakeargs=(
# -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
# -DBUILD_CLIENTS_TESTS=$(usex test ON OFF)
# )
-# CXX=hipcc cmake_src_configure
+# cmake_src_configure
# }
#
# src_test() {
@@ -90,6 +92,8 @@ esac
if [[ ! ${_ROCM_ECLASS} ]]; then
_ROCM_ECLASS=1
+inherit flag-o-matic
+
# @ECLASS_VARIABLE: ROCM_VERSION
# @REQUIRED
# @PRE_INHERIT
@@ -231,3 +235,27 @@ check_amdgpu() {
}
fi
+
+# @FUNCTION: rocm_use_hipcc
+# @USAGE: rocm_use_hipcc
+# @DESCRIPTION:
+# switch active C and C++ compilers to hipcc, clean unsupported flags and setup ROCM_TARGET_LST file.
+rocm_use_hipcc() {
+ # During the configuration stage, CMake tests whether the compiler is able to compile a simple program.
+ # Since CMake checker does not specify --offload-arch=, hipcc enumerates devices using four methods
+ # until it finds at least one device. Last way is by accessing them (via rocminfo).
+ # To prevent potential sandbox violations, we set the ROCM_TARGET_LST variable (which is checked first).
+ local target_lst="${T}"/gentoo_rocm_target.lst
+ if [[ "${AMDGPU_TARGETS[@]}" = "" ]]; then
+ # Expected no GPU code; still need to calm down sandbox
+ echo "gfx000" > "${target_lst}" || die
+ else
+ printf "%s\n" ${AMDGPU_TARGETS[@]} > "${target_lst}" || die
+ fi
+ export ROCM_TARGET_LST="${target_lst}"
+
+ # Export updated CC and CXX. Note that CC is needed even if no C code used,
+ # as CMake checks that C compiler can compile a simple test program.
+ export CC=hipcc CXX=hipcc
+ strip-unsupported-flags
+}
diff --git a/eclass/ruby-fakegem.eclass b/eclass/ruby-fakegem.eclass
index 40ff76ce900e..04099a82ef4f 100644
--- a/eclass/ruby-fakegem.eclass
+++ b/eclass/ruby-fakegem.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: ruby-fakegem.eclass
@@ -139,7 +139,11 @@ RUBY_FAKEGEM_BINDIR="${RUBY_FAKEGEM_BINDIR-bin}"
RUBY_FAKEGEM_EXTENSION_LIBDIR="${RUBY_FAKEGEM_EXTENSION_LIBDIR-lib}"
case ${EAPI} in
- 5|6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index d80ae96dd40b..2ef6d2247435 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: ruby-ng.eclass
@@ -67,7 +67,11 @@
# passed to "grep -E" to remove reporting of these shared objects.
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
diff --git a/eclass/ruby-utils.eclass b/eclass/ruby-utils.eclass
index 789f57ce25f6..48a25114b396 100644
--- a/eclass/ruby-utils.eclass
+++ b/eclass/ruby-utils.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: ruby-utils.eclass
@@ -15,13 +15,17 @@
# This eclass does not set any metadata variables nor export any phase
# functions. It can be inherited safely.
-case ${EAPI:-0} in
- [5678]) ;;
+if [[ ! ${_RUBY_UTILS} ]]; then
+
+case ${EAPI} in
+ 5|6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_RUBY_UTILS} ]]; then
-
# @ECLASS_VARIABLE: RUBY_TARGETS_PREFERENCE
# @INTERNAL
# @DESCRIPTION:
diff --git a/eclass/strip-linguas.eclass b/eclass/strip-linguas.eclass
index 718341b4a626..b31f414c87c3 100644
--- a/eclass/strip-linguas.eclass
+++ b/eclass/strip-linguas.eclass
@@ -1,4 +1,4 @@
-# Copyright 2004-2021 Gentoo Authors
+# Copyright 2004-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: strip-linguas.eclass
@@ -9,15 +9,19 @@
# @SUPPORTED_EAPIS: 5 6 7 8
# @BLURB: convenience function for LINGUAS support
+if [[ -z ${_STRIP_LINGUAS_ECLASS} ]]; then
+_STRIP_LINGUAS_ECLASS=1
+
case ${EAPI} in
- 5|6|7|8) ;;
+ 5|6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_STRIP_LINGUAS_ECLASS} ]]; then
-_STRIP_LINGUAS_ECLASS=1
-
-# @FUNCTION: strip-linguas
+# FUNCTION: strip-linguas
# @USAGE: [<allow LINGUAS>|<-i|-u> <directories of .po files>]
# @DESCRIPTION:
# Make sure that LINGUAS only contains languages that a package can
diff --git a/eclass/systemd.eclass b/eclass/systemd.eclass
index 03d6a82fd310..a5f0decde1e3 100644
--- a/eclass/systemd.eclass
+++ b/eclass/systemd.eclass
@@ -1,4 +1,4 @@
-# Copyright 2011-2023 Gentoo Authors
+# Copyright 2011-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: systemd.eclass
@@ -25,7 +25,11 @@
# @CODE
case ${EAPI} in
- 5|6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
diff --git a/eclass/tmpfiles.eclass b/eclass/tmpfiles.eclass
index 39650401a6a0..63889a275fef 100644
--- a/eclass/tmpfiles.eclass
+++ b/eclass/tmpfiles.eclass
@@ -1,4 +1,4 @@
-# Copyright 2016-2022 Gentoo Authors
+# Copyright 2016-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: tmpfiles.eclass
@@ -55,9 +55,13 @@
if [[ -z ${_TMPFILES_ECLASS} ]]; then
_TMPFILES_ECLASS=1
-case "${EAPI}" in
-5|6|7|8) ;;
-*) die "API is undefined for EAPI ${EAPI}" ;;
+case ${EAPI} in
+ 5|6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
# @ECLASS_VARIABLE: TMPFILES_OPTIONAL
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 5e36fa275dcd..66819996ea33 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -13,14 +13,18 @@
# in such a way that you can rely on the function always returning
# something sane.
+if [[ -z ${_TOOLCHAIN_FUNCS_ECLASS} ]]; then
+_TOOLCHAIN_FUNCS_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_TOOLCHAIN_FUNCS_ECLASS} ]]; then
-_TOOLCHAIN_FUNCS_ECLASS=1
-
inherit multilib
# tc-getPROG <VAR [search vars]> <default> [tuple]
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index ac236f3127f9..c03312be43ad 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -353,6 +353,7 @@ fi
BDEPEND="
app-alternatives/yacc
+ sys-devel/binutils:*
>=sys-devel/flex-2.5.4
nls? ( sys-devel/gettext )
test? (
diff --git a/eclass/udev.eclass b/eclass/udev.eclass
index ac94f98221aa..7fd99cbba8b0 100644
--- a/eclass/udev.eclass
+++ b/eclass/udev.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: udev.eclass
@@ -36,14 +36,18 @@
# }
# @CODE
+if [[ -z ${_UDEV_ECLASS} ]]; then
+_UDEV_ECLASS=1
+
case ${EAPI} in
- 5|6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_UDEV_ECLASS} ]]; then
-_UDEV_ECLASS=1
-
inherit toolchain-funcs
if [[ ${EAPI} == [56] ]]; then
diff --git a/eclass/vcs-clean.eclass b/eclass/vcs-clean.eclass
index e4c61ac7164a..719bdec17676 100644
--- a/eclass/vcs-clean.eclass
+++ b/eclass/vcs-clean.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: vcs-clean.eclass
@@ -9,14 +9,18 @@
# @SUPPORTED_EAPIS: 5 6 7 8
# @BLURB: helper functions to remove VCS directories
+if [[ -z ${_VCS_CLEAN_ECLASS} ]] ; then
+_VCS_CLEAN_ECLASS=1
+
case ${EAPI} in
- 5|6|7|8) ;;
+ 5|6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_VCS_CLEAN_ECLASS} ]] ; then
-_VCS_CLEAN_ECLASS=1
-
# @FUNCTION: ecvs_clean
# @USAGE: [list of dirs]
# @DESCRIPTION:
diff --git a/eclass/vim-doc.eclass b/eclass/vim-doc.eclass
index 119ce793071d..f20f7397cf65 100644
--- a/eclass/vim-doc.eclass
+++ b/eclass/vim-doc.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: vim-doc.eclass
@@ -16,13 +16,17 @@
# DEPEND in vim-plugin or by whatever version of vim is being
# installed by the eclass.
+if [[ ! ${_VIM_DOC_ECLASS} ]] ; then
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_VIM_DOC_ECLASS} ]] ; then
-
# @FUNCTION: update_vim_helptags
# @USAGE:
# @DESCRIPTION:
diff --git a/eclass/vim-plugin.eclass b/eclass/vim-plugin.eclass
index ee4f1b6e0f81..b2ae0cb9e4c3 100644
--- a/eclass/vim-plugin.eclass
+++ b/eclass/vim-plugin.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: vim-plugin.eclass
@@ -12,14 +12,18 @@
# which is read automatically by vim. The only exception is
# documentation, for which we make a special case via vim-doc.eclass.
+if [[ -z ${_VIM_PLUGIN_ECLASS} ]]; then
+_VIM_PLUGIN_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_VIM_PLUGIN_ECLASS} ]]; then
-_VIM_PLUGIN_ECLASS=1
-
inherit vim-doc
[[ ${EAPI} != [67] ]] && _DEFINE_VIM_PLUGIN_SRC_PREPARE=true
diff --git a/eclass/vim-spell.eclass b/eclass/vim-spell.eclass
index 607771ae8035..57bcb0dc8021 100644
--- a/eclass/vim-spell.eclass
+++ b/eclass/vim-spell.eclass
@@ -62,14 +62,18 @@
# spell files. It's best to let upstream know if you've generated spell files
# for another language rather than keeping them Gentoo-specific.
+if [[ -z ${_VIM_SPELL_ECLASS} ]] ; then
+_VIM_SPELL_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_VIM_SPELL_ECLASS} ]] ; then
-_VIM_SPELL_ECLASS=1
-
SRC_URI="mirror://gentoo/${P}.tar.bz2"
SLOT="0"
diff --git a/eclass/virtualx.eclass b/eclass/virtualx.eclass
index f7318eafc59e..07d303899582 100644
--- a/eclass/virtualx.eclass
+++ b/eclass/virtualx.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: virtualx.eclass
@@ -9,14 +9,18 @@
# @SUPPORTED_EAPIS: 6 7 8
# @BLURB: This eclass can be used for packages that need a working X environment to build.
+if [[ -z ${_VIRTUALX_ECLASS} ]]; then
+_VIRTUALX_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_VIRTUALX_ECLASS} ]]; then
-_VIRTUALX_ECLASS=1
-
# @ECLASS_VARIABLE: VIRTUALX_REQUIRED
# @PRE_INHERIT
# @DESCRIPTION:
diff --git a/eclass/webapp.eclass b/eclass/webapp.eclass
index 5b091c84851f..e8bc127e1b96 100644
--- a/eclass/webapp.eclass
+++ b/eclass/webapp.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: webapp.eclass
@@ -10,14 +10,18 @@
# The webapp eclass contains functions to handle web applications with
# webapp-config. Part of the implementation of GLEP #11
+if [[ -z ${_WEBAPP_ECLASS} ]]; then
+_WEBAPP_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_WEBAPP_ECLASS} ]]; then
-_WEBAPP_ECLASS=1
-
# @ECLASS_VARIABLE: WEBAPP_DEPEND
# @DESCRIPTION:
# An ebuild should use WEBAPP_DEPEND if a custom DEPEND needs to be built, most
diff --git a/eclass/wrapper.eclass b/eclass/wrapper.eclass
index 8d3d273d81c6..a62bb51d0fe7 100644
--- a/eclass/wrapper.eclass
+++ b/eclass/wrapper.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: wrapper.eclass
@@ -7,15 +7,19 @@
# @SUPPORTED_EAPIS: 5 6 7 8
# @BLURB: create a shell wrapper script
+if [[ -z ${_WRAPPER_ECLASS} ]]; then
+_WRAPPER_ECLASS=1
+
case ${EAPI} in
- 5|6|7|8) ;;
+ 5|6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_WRAPPER_ECLASS} ]]; then
-_WRAPPER_ECLASS=1
-
-# @FUNCTION: make_wrapper
+# FUNCTION: make_wrapper
# @USAGE: <wrapper> <target> [chdir] [libpaths] [installpath]
# @DESCRIPTION:
# Create a shell wrapper script named wrapper in installpath
diff --git a/eclass/xdg-utils.eclass b/eclass/xdg-utils.eclass
index 34535a129e33..84f88eee18fc 100644
--- a/eclass/xdg-utils.eclass
+++ b/eclass/xdg-utils.eclass
@@ -1,4 +1,4 @@
-# Copyright 2004-2023 Gentoo Authors
+# Copyright 2004-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: xdg-utils.eclass
@@ -18,7 +18,11 @@
# * XDG mime information database management
case ${EAPI} in
- 5|6|7|8) ;;
+ 5|6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
diff --git a/eclass/xdg.eclass b/eclass/xdg.eclass
index 14c56047af45..6af4b91875fc 100644
--- a/eclass/xdg.eclass
+++ b/eclass/xdg.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: xdg.eclass
@@ -13,14 +13,18 @@
# Utility eclass to update the desktop, icon and shared mime info as laid
# out in the freedesktop specs & implementations
+if [[ -z ${_XDG_ECLASS} ]]; then
+_XDG_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_XDG_ECLASS} ]]; then
-_XDG_ECLASS=1
-
inherit xdg-utils
# Avoid dependency loop as both depend on glib-2