diff options
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/Manifest.gz | bin | 39840 -> 39847 bytes | |||
-rw-r--r-- | eclass/ecm.eclass | 136 | ||||
-rw-r--r-- | eclass/elisp-common.eclass | 55 | ||||
-rw-r--r-- | eclass/llvm.org.eclass | 3 | ||||
-rw-r--r-- | eclass/toolchain.eclass | 2 |
5 files changed, 110 insertions, 86 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz Binary files differindex 86a7a86682d6..87b8b55f9495 100644 --- a/eclass/Manifest.gz +++ b/eclass/Manifest.gz 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 :; |