diff options
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/Manifest.gz | bin | 35982 -> 35993 bytes | |||
-rw-r--r-- | eclass/ada.eclass | 14 | ||||
-rw-r--r-- | eclass/go-module.eclass | 2 | ||||
-rw-r--r-- | eclass/java-utils-2.eclass | 3 | ||||
-rw-r--r-- | eclass/kernel-2.eclass | 2 | ||||
-rw-r--r-- | eclass/llvm.org.eclass | 73 | ||||
-rw-r--r-- | eclass/meson.eclass | 2 | ||||
-rw-r--r-- | eclass/stardict.eclass | 8 | ||||
-rw-r--r-- | eclass/systemd.eclass | 21 | ||||
-rw-r--r-- | eclass/toolchain.eclass | 5 | ||||
-rw-r--r-- | eclass/udev.eclass | 2 |
11 files changed, 113 insertions, 19 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz Binary files differindex bb556c30ed38..c024f3a9237d 100644 --- a/eclass/Manifest.gz +++ b/eclass/Manifest.gz diff --git a/eclass/ada.eclass b/eclass/ada.eclass index 683417c6afe0..6089ed6e737f 100644 --- a/eclass/ada.eclass +++ b/eclass/ada.eclass @@ -58,7 +58,7 @@ EXPORT_FUNCTIONS pkg_setup # @DESCRIPTION: # All supported Ada implementations, most preferred last. _ADA_ALL_IMPLS=( - gnat_2017 gnat_2018 gnat_2019 gnat_2020 gnat_2021 + gnat_2019 gnat_2020 gnat_2021 ) readonly _ADA_ALL_IMPLS @@ -83,7 +83,7 @@ _ada_impl_supported() { # keep in sync with _ADA_ALL_IMPLS! # (not using that list because inline patterns shall be faster) case "${impl}" in - gnat_201[789]) + gnat_2019) return 0 ;; gnat_202[01]) @@ -200,14 +200,6 @@ ada_export() { local gcc_pv local slot case "${impl}" in - gnat_2017) - gcc_pv=6.3.0 - slot=6.3.0 - ;; - gnat_2018) - gcc_pv=7.3.1 - slot=7.3.1 - ;; gnat_2019) gcc_pv=8.3.1 slot=8.3.1 @@ -287,7 +279,7 @@ _ada_single_set_globals() { local flags=( "${_ADA_SUPPORTED_IMPLS[@]/#/ada_target_}" ) local unflags=( "${_ADA_UNSUPPORTED_IMPLS[@]/#/-ada_target_}" ) - local allflags=( ${flags[@]} ${unflags[@]} ) + local allflags=( "${_ADA_ALL_IMPLS[@]/#/ada_target_}" ) local optflags=${flags[@]/%/(-)?} diff --git a/eclass/go-module.eclass b/eclass/go-module.eclass index d1e81babf1f8..3ad8542a28ae 100644 --- a/eclass/go-module.eclass +++ b/eclass/go-module.eclass @@ -75,7 +75,7 @@ export GOCACHE="${T}/go-build" # The following go flags should be used for all builds. # -v prints the names of packages as they are compiled # -x prints commands as they are executed -export GOFLAGS="-v -x" +export GOFLAGS="-v -x -modcacherw" # Do not complain about CFLAGS etc since go projects do not use them. QA_FLAGS_IGNORED='.*' diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass index 0e2ed2902842..2c93cbdf0eeb 100644 --- a/eclass/java-utils-2.eclass +++ b/eclass/java-utils-2.eclass @@ -1565,8 +1565,7 @@ java-pkg_ensure-vm-version-ge() { # Parameters: # $@ - VM version to compare current VM to # @CODE -# @RETURN: zero - current VM version is greater than checked version; -# non-zero - current VM version is not greater than checked version +# @RETURN: zero - current VM version is greater than checked version; non-zero - current VM version is not greater than checked version java-pkg_is-vm-version-ge() { debug-print-function ${FUNCNAME} $* diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass index 983ba916931d..adc1425bc2e2 100644 --- a/eclass/kernel-2.eclass +++ b/eclass/kernel-2.eclass @@ -599,7 +599,7 @@ if [[ ${ETYPE} == sources ]]; then K_DEBLOB_AVAILABLE=0 fi if [[ ${K_DEBLOB_AVAILABLE} == 1 ]]; then - PYTHON_COMPAT=( python3_{7..10} ) + PYTHON_COMPAT=( python3_{8..10} ) inherit python-any-r1 diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index fa426f91dff8..f33599c3bb58 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -95,6 +95,60 @@ inherit multiprocessing # @DESCRIPTION: # LLVM patchset version. No patchset is used if unset. +# @ECLASS-VARIABLE: LLVM_USE_TARGETS +# @DEFAULT_UNSET +# @DESCRIPTION: +# Add LLVM_TARGETS flags. The following values are supported: +# +# - provide - this package provides LLVM targets. USE flags +# and REQUIRED_USE will be added but no dependencies. +# +# - llvm - this package uses targets from LLVM. RDEPEND+DEPEND +# on matching sys-devel/llvm versions with requested flags will +# be added. +# +# Note that you still need to pass enabled targets to the build system, +# usually grabbing them from ${LLVM_TARGETS} (via USE_EXPAND). + + +# == global data == + +# @ECLASS-VARIABLE: ALL_LLVM_EXPERIMENTAL_TARGETS +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# The complete list of LLVM experimental targets available in this LLVM +# version. The value depends on ${PV}. + +# @ECLASS-VARIABLE: ALL_LLVM_PRODUCTION_TARGETS +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# The complete list of LLVM production-ready targets available in this +# LLVM version. The value depends on ${PV}. + +# @ECLASS-VARIABLE: ALL_LLVM_TARGET_FLAGS +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# The list of USE flags corresponding to all LLVM targets in this LLVM +# version. The value depends on ${PV}. + +case ${PV} in + 10*|11*|12*) + # this API is not present for old LLVM versions + ;; + *) + ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY M68k VE ) + ALL_LLVM_PRODUCTION_TARGETS=( + AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430 NVPTX + PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore + ) + ;; +esac + +ALL_LLVM_TARGET_FLAGS=( + "${ALL_LLVM_PRODUCTION_TARGETS[@]/#/llvm_targets_}" + "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]/#/llvm_targets_}" +) + # == global scope logic == @@ -156,6 +210,25 @@ llvm.org_set_globals() { https://dev.gentoo.org/~mgorny/dist/llvm/llvm-gentoo-patchset-${LLVM_PATCHSET}.tar.xz" fi + local x + case ${LLVM_USE_TARGETS:-__unset__} in + __unset__) + ;; + provide|llvm) + IUSE+=" ${ALL_LLVM_TARGET_FLAGS[*]}" + REQUIRED_USE+=" || ( ${ALL_LLVM_TARGET_FLAGS[*]} )" + ;;& + llvm) + local dep= + for x in "${ALL_LLVM_TARGET_FLAGS[@]}"; do + dep+=" + ${x}? ( ~sys-devel/llvm-${PV}[${x}] )" + done + RDEPEND+=" ${dep}" + DEPEND+=" ${dep}" + ;; + esac + # === useful defaults for cmake-based packages === # least intrusive of all diff --git a/eclass/meson.eclass b/eclass/meson.eclass index eaff26709a75..4ba364924e40 100644 --- a/eclass/meson.eclass +++ b/eclass/meson.eclass @@ -47,7 +47,7 @@ inherit multiprocessing ninja-utils python-utils-r1 toolchain-funcs EXPORT_FUNCTIONS src_configure src_compile src_test src_install -_MESON_DEPEND=">=dev-util/meson-0.57.0 +_MESON_DEPEND=">=dev-util/meson-0.58.2-r1 >=dev-util/ninja-1.8.2 dev-util/meson-format-array " diff --git a/eclass/stardict.eclass b/eclass/stardict.eclass index d07fee03b446..74a93b3f7c56 100644 --- a/eclass/stardict.eclass +++ b/eclass/stardict.eclass @@ -1,10 +1,14 @@ # Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# @NAME: stardict.eclass -# @AUTHOR: Alastair Tse <liquidx@gentoo.org> +# @ECLASS: stardict.eclass +# @MAINTAINER: +# No maintainer <maintainer-needed@gentoo.org> +# @AUTHOR: +# Alastair Tse <liquidx@gentoo.org> # @SUPPORTED_EAPIS: 6 7 # @BLURB: Convenience class to do stardict dictionary installations. +# @DESCRIPTION: # Usage: # - Variables to set : # * FROM_LANG - From this language diff --git a/eclass/systemd.eclass b/eclass/systemd.eclass index 27e4dcae1ff7..7731bede094e 100644 --- a/eclass/systemd.eclass +++ b/eclass/systemd.eclass @@ -48,6 +48,9 @@ _systemd_get_dir() { [[ ${#} -eq 2 ]] || die "Usage: ${FUNCNAME} <variable-name> <fallback-directory>" local variable=${1} fallback=${2} d + # https://github.com/pkgconf/pkgconf/issues/205 + local -x PKG_CONFIG_FDO_SYSROOT_RULES=1 + if $(tc-getPKG_CONFIG) --exists systemd; then d=$($(tc-getPKG_CONFIG) --variable="${variable}" systemd) || die d=${d#${EPREFIX}} @@ -142,6 +145,24 @@ systemd_get_systemgeneratordir() { echo "${EPREFIX}$(_systemd_get_systemgeneratordir)" } +# @FUNCTION: _systemd_get_systempresetdir +# @INTERNAL +# @DESCRIPTION: +# Get unprefixed systempresetdir. +_systemd_get_systempresetdir() { + _systemd_get_dir systemdsystempresetdir /lib/systemd/system-preset +} + +# @FUNCTION: systemd_get_systempresetdir +# @DESCRIPTION: +# Output the path for the systemd system preset directory (not including +# ${D}). This function always succeeds, even if systemd is not installed. +systemd_get_systempresetdir() { + debug-print-function ${FUNCNAME} "${@}" + + echo "${EPREFIX}$(_systemd_get_systempresetdir)" +} + # @FUNCTION: systemd_dounit # @USAGE: <unit>... # @DESCRIPTION: diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 5bfa58e4a207..b68ac30e89fd 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1,8 +1,11 @@ # Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Maintainer: Toolchain Ninjas <toolchain@gentoo.org> +# @ECLASS: toolchain.eclass +# @MAINTAINER: +# Toolchain Ninjas <toolchain@gentoo.org> # @SUPPORTED_EAPIS: 5 6 7 8 +# @BLURB: Common code for sys-devel/gcc ebuilds DESCRIPTION="The GNU Compiler Collection" HOMEPAGE="https://gcc.gnu.org/" diff --git a/eclass/udev.eclass b/eclass/udev.eclass index 7f9415914cd2..073e5d8acbc9 100644 --- a/eclass/udev.eclass +++ b/eclass/udev.eclass @@ -49,6 +49,8 @@ fi # @DESCRIPTION: # Get unprefixed udevdir. _udev_get_udevdir() { + # https://github.com/pkgconf/pkgconf/issues/205 + 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%/}}" |