summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass')
-rw-r--r--eclass/Manifest.gzbin39840 -> 39847 bytes
-rw-r--r--eclass/ecm.eclass136
-rw-r--r--eclass/elisp-common.eclass55
-rw-r--r--eclass/llvm.org.eclass3
-rw-r--r--eclass/toolchain.eclass2
5 files changed, 110 insertions, 86 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz
index 86a7a86682d6..87b8b55f9495 100644
--- a/eclass/Manifest.gz
+++ b/eclass/Manifest.gz
Binary files differ
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index 21e2330ac34d..e433952903e8 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -29,7 +29,7 @@ esac
if [[ -z ${_ECM_ECLASS} ]]; then
_ECM_ECLASS=1
-inherit cmake flag-o-matic toolchain-funcs
+inherit cmake flag-o-matic
if [[ ${EAPI} == 8 ]]; then
# @ECLASS_VARIABLE: VIRTUALX_REQUIRED
@@ -39,23 +39,18 @@ if [[ ${EAPI} == 8 ]]; then
# for tests you should proceed with setting VIRTUALX_REQUIRED=test.
: "${VIRTUALX_REQUIRED:=manual}"
-inherit virtualx
+inherit toolchain-funcs virtualx
fi
# @ECLASS_VARIABLE: ECM_NONGUI
-# @DEFAULT_UNSET
# @DESCRIPTION:
# By default, for all CATEGORIES except kde-frameworks, assume we are building
# a GUI application. Add dependency on kde-frameworks/breeze-icons or
-# kde-frameworks/oxygen-icons and run the xdg.eclass routines for pkg_preinst,
-# pkg_postinst and pkg_postrm. If set to "true", do nothing.
-if [[ ${CATEGORY} = kde-frameworks ]] ; then
- : "${ECM_NONGUI:=true}"
-fi
+# kde-frameworks/oxygen-icons. With KFMIN lower than 6.9.0, inherit xdg.eclass,
+# run pkg_preinst, pkg_postinst and pkg_postrm. If set to "true", do nothing.
: "${ECM_NONGUI:=false}"
-
-if [[ ${ECM_NONGUI} = false ]] ; then
- inherit xdg
+if [[ ${CATEGORY} == kde-frameworks ]]; then
+ ECM_NONGUI=true
fi
# @ECLASS_VARIABLE: ECM_KDEINSTALLDIRS
@@ -181,6 +176,10 @@ if [[ ${CATEGORY} = kde-frameworks ]]; then
fi
: "${KFMIN:=5.116.0}"
+if ver_test ${KFMIN} -lt 6.9 && [[ ${ECM_NONGUI} == false ]]; then
+ inherit xdg
+fi
+
# @ECLASS_VARIABLE: _KFSLOT
# @INTERNAL
# @DESCRIPTION:
@@ -197,6 +196,14 @@ else
fi
fi
+# @ECLASS_VARIABLE: KDE_GCC_MINIMAL
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Minimum version of active GCC to require. This is checked in
+# ecm_pkg_pretend and ecm_pkg_setup.
+[[ ${KDE_GCC_MINIMAL} ]] && ver_test ${KFMIN} -ge 6.9 &&
+ die "KDE_GCC_MINIMAL has been banned with KFMIN >=6.9.0."
+
case ${ECM_NONGUI} in
true) ;;
false)
@@ -327,30 +334,6 @@ DEPEND+=" ${COMMONDEPEND}"
RDEPEND+=" ${COMMONDEPEND}"
unset COMMONDEPEND
-# @ECLASS_VARIABLE: KDE_GCC_MINIMAL
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# Minimum version of active GCC to require. This is checked in
-# ecm_pkg_pretend and ecm_pkg_setup.
-
-# @FUNCTION: _ecm_check_gcc_version
-# @INTERNAL
-# @DESCRIPTION:
-# Determine if the current GCC version is acceptable, otherwise die.
-_ecm_check_gcc_version() {
- if [[ ${MERGE_TYPE} != binary && -v KDE_GCC_MINIMAL ]] && tc-is-gcc; then
-
- local version=$(gcc-version)
-
- debug-print "GCC version check activated"
- debug-print "Version detected: ${version}"
- debug-print "Version required: ${KDE_GCC_MINIMAL}"
-
- ver_test ${version} -lt ${KDE_GCC_MINIMAL} &&
- die "Sorry, but gcc-${KDE_GCC_MINIMAL} or later is required for this package (found ${version})."
- fi
-}
-
# @FUNCTION: _ecm_strip_handbook_translations
# @INTERNAL
# @DESCRIPTION:
@@ -496,22 +479,49 @@ ecm_punt_po_install() {
-i CMakeLists.txt || die
}
+if [[ ${EAPI} == 8 ]]; then
+# @FUNCTION: _ecm_deprecated_check_gcc_version
+# @INTERNAL
+# @DESCRIPTION:
+# Determine if the current GCC version is acceptable, otherwise die.
+_ecm_deprecated_check_gcc_version() {
+ if ver_test ${KFMIN} -ge 6.9; then
+ eqawarn "QA notice: ecm_pkg_${1} has become a no-op."
+ eqawarn "It is no longer being exported with KFMIN >=6.9.0."
+ return
+ fi
+ if [[ ${MERGE_TYPE} != binary && -v KDE_GCC_MINIMAL ]] && tc-is-gcc; then
+
+ local version=$(gcc-version)
+
+ debug-print "GCC version check activated"
+ debug-print "Version detected: ${version}"
+ debug-print "Version required: ${KDE_GCC_MINIMAL}"
+
+ ver_test ${version} -lt ${KDE_GCC_MINIMAL} &&
+ die "Sorry, but gcc-${KDE_GCC_MINIMAL} or later is required for this package (found ${version})."
+ fi
+}
+
# @FUNCTION: ecm_pkg_pretend
# @DESCRIPTION:
# Checks if the active compiler meets the minimum version requirements.
-# phase function is only exported if KDE_GCC_MINIMAL is defined.
+# Phase function is only exported if KFMIN is <6.9.0 and KDE_GCC_MINIMAL
+# is defined.
ecm_pkg_pretend() {
debug-print-function ${FUNCNAME} "$@"
- _ecm_check_gcc_version
+ _ecm_deprecated_check_gcc_version pretend
}
# @FUNCTION: ecm_pkg_setup
# @DESCRIPTION:
# Checks if the active compiler meets the minimum version requirements.
+# Phase function is only exported if KFMIN is <6.9.0.
ecm_pkg_setup() {
debug-print-function ${FUNCNAME} "$@"
- _ecm_check_gcc_version
+ _ecm_deprecated_check_gcc_version setup
}
+fi
# @FUNCTION: ecm_src_prepare
# @DESCRIPTION:
@@ -579,7 +589,7 @@ ecm_src_prepare() {
diff -Naur ${f}.old ${f} 1>>${pf}
rm ${f}.old || die "Failed to clean up"
done
- eqawarn "Build system was modified by ECM_TEST=forceoptional-recursive."
+ eqawarn "QA notice: Build system modified by ECM_TEST=forceoptional-recursive."
eqawarn "Unified diff file ready for pickup in:"
eqawarn " ${pf}"
eqawarn "Push it upstream to make this message go away."
@@ -760,46 +770,58 @@ ecm_src_install() {
done
}
+if [[ ${EAPI} == 8 ]]; then
+# @FUNCTION: _ecm_nongui_deprecated
+# @INTERNAL
+# @DESCRIPTION:
+# Carryall for ecm_pkg_preinst, ecm_pkg_postinst and ecm_pkg_postrm.
+_ecm_nongui_deprecated() {
+ if ver_test ${KFMIN} -ge 6.9; then
+ eqawarn "QA notice: ecm_pkg_${1} has become a no-op."
+ eqawarn "It is no longer being exported with KFMIN >=6.9.0."
+ else
+ case ${ECM_NONGUI} in
+ false) xdg_pkg_${1} ;;
+ *) ;;
+ esac
+ fi
+}
+
# @FUNCTION: ecm_pkg_preinst
# @DESCRIPTION:
# Sets up environment variables required in ecm_pkg_postinst.
+# Phase function is only exported if KFMIN is <6.9.0.
ecm_pkg_preinst() {
debug-print-function ${FUNCNAME} "$@"
-
- case ${ECM_NONGUI} in
- false) xdg_pkg_preinst ;;
- *) ;;
- esac
+ _ecm_nongui_deprecated preinst
}
# @FUNCTION: ecm_pkg_postinst
# @DESCRIPTION:
# Updates the various XDG caches (icon, desktop, mime) if necessary.
+# Phase function is only exported if KFMIN is <6.9.0.
ecm_pkg_postinst() {
debug-print-function ${FUNCNAME} "$@"
-
- case ${ECM_NONGUI} in
- false) xdg_pkg_postinst ;;
- *) ;;
- esac
+ _ecm_nongui_deprecated postinst
}
# @FUNCTION: ecm_pkg_postrm
# @DESCRIPTION:
# Updates the various XDG caches (icon, desktop, mime) if necessary.
+# Phase function is only exported if KFMIN is <6.9.0.
ecm_pkg_postrm() {
debug-print-function ${FUNCNAME} "$@"
-
- case ${ECM_NONGUI} in
- false) xdg_pkg_postrm ;;
- *) ;;
- esac
+ _ecm_nongui_deprecated postrm
}
+fi
fi
-if [[ -v ${KDE_GCC_MINIMAL} ]]; then
- EXPORT_FUNCTIONS pkg_pretend
+if ver_test ${KFMIN} -lt 6.9; then
+ EXPORT_FUNCTIONS pkg_setup pkg_preinst pkg_postinst pkg_postrm
+ if [[ -v ${KDE_GCC_MINIMAL} ]]; then
+ EXPORT_FUNCTIONS pkg_pretend
+ fi
fi
-EXPORT_FUNCTIONS pkg_setup src_prepare src_configure src_test src_install pkg_preinst pkg_postinst pkg_postrm
+EXPORT_FUNCTIONS src_prepare src_configure src_test src_install
diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index ad9d3c7e60c6..117544e94b35 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -25,7 +25,7 @@
# When relying on the emacs USE flag, you need to add
#
# @CODE
-# emacs? ( >=app-editors/emacs-25.3:* )
+# emacs? ( >=app-editors/emacs-25.3:* )
# @CODE
#
# to your DEPEND/RDEPEND line and use the functions provided here to
@@ -39,7 +39,7 @@
# NEED_EMACS with the Emacs version, as in the following example:
#
# @CODE
-# NEED_EMACS=26.1
+# NEED_EMACS=26.1
# @CODE
#
# Please note that this should be done only for packages that are known
@@ -54,7 +54,7 @@
# are loadable.
#
# @CODE
-# elisp-compile *.el
+# elisp-compile *.el
# @CODE
#
# Function elisp-make-autoload-file() can be used to generate a file
@@ -75,7 +75,7 @@
# (see below) the change, as it defaults to ${PN}.
#
# @CODE
-# elisp-install ${PN} *.el *.elc
+# elisp-install ${PN} *.el *.elc
# @CODE
#
# To let the Emacs support be activated by Emacs on startup, you need
@@ -84,9 +84,9 @@
# Normally this would look like this:
#
# @CODE
-# (add-to-list 'load-path "@SITELISP@")
-# (add-to-list 'auto-mode-alist '("\\.csv\\'" . csv-mode))
-# (autoload 'csv-mode "csv-mode" "Major mode for csv files." t)
+# (add-to-list 'load-path "@SITELISP@")
+# (add-to-list 'auto-mode-alist '("\\.csv\\'" . csv-mode))
+# (autoload 'csv-mode "csv-mode" "Major mode for csv files." t)
# @CODE
#
# If your Emacs support files are installed in a subdirectory of
@@ -117,13 +117,13 @@
# your ebuild (e.g., right after S or RDEPEND):
#
# @CODE
-# SITEFILE="50${PN}-gentoo.el"
+# SITEFILE="50${PN}-gentoo.el"
# @CODE
#
# Which is then installed by
#
# @CODE
-# elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+# elisp-site-file-install "${FILESDIR}/${SITEFILE}"
# @CODE
#
# in src_install(). Any characters after the "-gentoo" part and before
@@ -137,7 +137,7 @@
# and install a site-init file that does just that:
#
# @CODE
-# elisp-make-site-file "${SITEFILE}"
+# elisp-make-site-file "${SITEFILE}"
# @CODE
#
# Again, this must be called in src_install(). See the function's
@@ -153,7 +153,7 @@
# version. In this case, you can add an explicit check in pkg_setup:
#
# @CODE
-# elisp-check-emacs-version
+# elisp-check-emacs-version
# @CODE
#
# When having optional Emacs support, you should prepend "use emacs &&"
@@ -165,13 +165,13 @@
# emerging and unmerging by using
#
# @CODE
-# pkg_postinst() {
-# elisp-site-regen
-# }
+# pkg_postinst() {
+# elisp-site-regen
+# }
#
-# pkg_postrm() {
-# elisp-site-regen
-# }
+# pkg_postrm() {
+# elisp-site-regen
+# }
# @CODE
#
# Again, with optional Emacs support, you should prepend "use emacs &&"
@@ -260,7 +260,6 @@ elisp-emacs-version() {
}
# @FUNCTION: elisp-check-emacs-version
-# @USAGE: [version]
# @DESCRIPTION:
# Test if the eselected Emacs version is at least the version of
# GNU Emacs specified in the NEED_EMACS variable, or die otherwise.
@@ -356,8 +355,8 @@ elisp-make-autoload-file() {
#
# Example:
# @CODE
-# elisp-org-export-to texinfo README.org
-# mv README.texi ${PN}.texi || die
+# elisp-org-export-to texinfo README.org
+# mv README.texi ${PN}.texi || die
# @CODE
elisp-org-export-to() {
@@ -512,16 +511,16 @@ elisp-test-ert() {
#
# Example:
# @CODE
-# inherit elisp-common
+# inherit elisp-common
#
-# ...
+# ...
#
-# elisp-enable-tests --optional ert-runner "${S}"/elisp -t "!org"
+# elisp-enable-tests --optional ert-runner "${S}"/elisp -t "!org"
#
-# src_test() {
-# emake -C tests test
-# elisp-test
-# }
+# src_test() {
+# emake -C tests test
+# elisp-test
+# }
# @CODE
elisp-enable-tests() {
@@ -662,7 +661,7 @@ elisp-site-file-install() {
# this will add the package's SITELISP subdirectory to Emacs' load-path:
#
# @CODE
-# (add-to-list 'load-path "@SITELISP@")
+# (add-to-list 'load-path "@SITELISP@")
# @CODE
#
# Additional arguments are appended as lines to the destination file.
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index a7685a38575b..6a68bde89a46 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
+ 20.0.0_pre20241215)
+ EGIT_COMMIT=49a5ad8e5714fd404210279303acc97b495d66d0
+ ;;
20.0.0_pre20241207)
EGIT_COMMIT=32f7f0010bca99ee4bd917f57272733fb2bf3bd9
;;
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 55b2127a4f11..8d2c04b6bf25 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1323,7 +1323,7 @@ toolchain_src_configure() {
confgcc+=( --enable-lto )
# Build compiler itself using LTO
- if tc_use_if_iuse lto ; then
+ if _tc_use_if_iuse lto ; then
# GCC 11 at least has a -Wlto-type-mismatch issue with Ada
if ! tc_version_is_at_least 12.1 && is_ada ; then
:;