diff options
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/eutils.eclass | 100 |
1 files changed, 5 insertions, 95 deletions
diff --git a/eclass/eutils.eclass b/eclass/eutils.eclass index 207d05e7f975..0b84e3c82c00 100644 --- a/eclass/eutils.eclass +++ b/eclass/eutils.eclass @@ -1,10 +1,10 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: eutils.eclass # @MAINTAINER: # base-system@gentoo.org -# @SUPPORTED_EAPIS: 5 6 7 +# @SUPPORTED_EAPIS: 6 7 # @BLURB: many extra (but common) functions that are used in ebuilds # @DESCRIPTION: # The eutils eclass contains a suite of functions that complement @@ -24,10 +24,8 @@ _EUTILS_ECLASS=1 # implicitly inherited (now split) eclasses case ${EAPI} in - 5|6) - inherit desktop edos2unix epatch estack ltprune multilib \ - preserve-libs strip-linguas toolchain-funcs vcs-clean wrapper - ;; + 6) inherit desktop edos2unix epatch estack ltprune multilib \ + preserve-libs strip-linguas toolchain-funcs vcs-clean wrapper ;; 7) inherit edos2unix strip-linguas wrapper ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac @@ -90,105 +88,17 @@ use_if_iuse() { use $1 } -if [[ ${EAPI} == 5 ]] ; then - -# @FUNCTION: einstalldocs -# @DESCRIPTION: -# Install documentation using DOCS and HTML_DOCS, in EAPIs that do not -# provide this function. When available (i.e., in EAPI 6 or later), -# the package manager implementation should be used instead. -# -# If DOCS is declared and non-empty, all files listed in it are -# installed. The files must exist, otherwise the function will fail. -# In EAPI 4 and 5, DOCS may specify directories as well; in earlier -# EAPIs using directories is unsupported. -# -# If DOCS is not declared, the files matching patterns given -# in the default EAPI implementation of src_install will be installed. -# If this is undesired, DOCS can be set to empty value to prevent any -# documentation from being installed. -# -# If HTML_DOCS is declared and non-empty, all files and/or directories -# listed in it are installed as HTML docs (using dohtml). -# -# Both DOCS and HTML_DOCS can either be an array or a whitespace- -# separated list. Whenever directories are allowed, '<directory>/.' may -# be specified in order to install all files within the directory -# without creating a sub-directory in docdir. -# -# Passing additional options to dodoc and dohtml is not supported. -# If you needed such a thing, you need to call those helpers explicitly. -einstalldocs() { - debug-print-function ${FUNCNAME} "${@}" - - local dodoc_opts=-r - - if ! declare -p DOCS &>/dev/null ; then - local d - for d in README* ChangeLog AUTHORS NEWS TODO CHANGES \ - THANKS BUGS FAQ CREDITS CHANGELOG ; do - if [[ -s ${d} ]] ; then - dodoc "${d}" || die - fi - done - elif [[ $(declare -p DOCS) == "declare -a"* ]] ; then - if [[ ${DOCS[@]} ]] ; then - dodoc ${dodoc_opts} "${DOCS[@]}" || die - fi - else - if [[ ${DOCS} ]] ; then - dodoc ${dodoc_opts} ${DOCS} || die - fi - fi - - if [[ $(declare -p HTML_DOCS 2>/dev/null) == "declare -a"* ]] ; then - if [[ ${HTML_DOCS[@]} ]] ; then - dohtml -r "${HTML_DOCS[@]}" || die - fi - else - if [[ ${HTML_DOCS} ]] ; then - dohtml -r ${HTML_DOCS} || die - fi - fi - - return 0 -} - -# @FUNCTION: in_iuse -# @USAGE: <flag> -# @DESCRIPTION: -# Determines whether the given flag is in IUSE. Strips IUSE default -# prefixes as necessary. In EAPIs where it is available (i.e., EAPI 6 -# or later), the package manager implementation should be used instead. -# -# Note that this function must not be used in the global scope. -in_iuse() { - debug-print-function ${FUNCNAME} "${@}" - [[ ${#} -eq 1 ]] || die "Invalid args to ${FUNCNAME}()" - - local flag=${1} - local liuse=( ${IUSE} ) - - has "${flag}" "${liuse[@]#[+-]}" -} - -fi # EAPI 5 - -if [[ ${EAPI} == [56] ]] ; then - # @FUNCTION: eqawarn # @USAGE: [message] # @DESCRIPTION: # Proxy to ewarn for package managers that don't provide eqawarn and use the PM # implementation if available. Reuses PORTAGE_ELOG_CLASSES as set by the dev # profile. -if ! declare -F eqawarn >/dev/null ; then +if [[ ${EAPI} == 6 ]] && ! declare -F eqawarn >/dev/null ; then eqawarn() { has qa ${PORTAGE_ELOG_CLASSES} && ewarn "$@" : } fi -fi # EAPI [56] - fi |