From e26a7b5ef1fe42a66a3c91fe878da93c7cf83737 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 18 Jul 2022 20:36:58 +0100 Subject: gentoo auto-resync : 18:07:2022 - 20:36:57 --- eclass/Manifest.gz | Bin 36609 -> 36634 bytes eclass/autotools.eclass | 14 ++-- eclass/dotnet.eclass | 6 +- eclass/epatch.eclass | 88 +----------------------- eclass/eutils.eclass | 152 ++++-------------------------------------- eclass/flag-o-matic.eclass | 17 +++-- eclass/multilib.eclass | 33 +-------- eclass/optfeature.eclass | 6 +- eclass/perl-functions.eclass | 46 +++++++------ eclass/perl-module.eclass | 123 +++++++++++----------------------- eclass/toolchain-funcs.eclass | 7 +- 11 files changed, 106 insertions(+), 386 deletions(-) (limited to 'eclass') diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz index 3b34080724e7..1f2c535031f7 100644 Binary files a/eclass/Manifest.gz and b/eclass/Manifest.gz differ diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass index 025a93d207a4..ab9040d99c73 100644 --- a/eclass/autotools.eclass +++ b/eclass/autotools.eclass @@ -4,7 +4,7 @@ # @ECLASS: autotools.eclass # @MAINTAINER: # base-system@gentoo.org -# @SUPPORTED_EAPIS: 5 6 7 8 +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: Regenerates auto* build scripts # @DESCRIPTION: # This eclass is for safely handling autotooled software packages that need to @@ -27,7 +27,7 @@ if [[ -z ${_AUTOTOOLS_ECLASS} ]] ; then _AUTOTOOLS_ECLASS=1 case ${EAPI} in - 5|6) + 6) # Needed for eqawarn inherit eutils ;; @@ -130,7 +130,7 @@ RDEPEND="" : ${AUTOTOOLS_AUTO_DEPEND:=yes} if [[ ${AUTOTOOLS_AUTO_DEPEND} != "no" ]] ; then case ${EAPI} in - 5|6) DEPEND=${AUTOTOOLS_DEPEND} ;; + 6) DEPEND=${AUTOTOOLS_DEPEND} ;; *) BDEPEND=${AUTOTOOLS_DEPEND} ;; esac fi @@ -336,7 +336,7 @@ eaclocal() { # - ${BROOT}/usr/share/aclocal # - ${ESYSROOT}/usr/share/aclocal # See bug #677002 - if [[ ${EAPI} != [56] ]] ; then + if [[ ${EAPI} != 6 ]] ; then if [[ ! -f "${T}"/aclocal/dirlist ]] ; then mkdir "${T}"/aclocal || die cat <<- EOF > "${T}"/aclocal/dirlist || die @@ -394,7 +394,7 @@ eautoconf() { if [[ ${WANT_AUTOCONF} != "2.1" && -e configure.in ]] ; then case ${EAPI} in - 5|6|7) + 6|7) eqawarn "This package has a configure.in file which has long been deprecated. Please" eqawarn "update it to use configure.ac instead as newer versions of autotools will die" eqawarn "when it finds this file. See https://bugs.gentoo.org/426262 for details." @@ -485,7 +485,7 @@ config_rpath_update() { local dst src case ${EAPI} in - 5|6) + 6) src="${EPREFIX}/usr/share/gettext/config.rpath" ;; *) @@ -516,7 +516,7 @@ autotools_env_setup() { # Break on first hit to respect _LATEST_AUTOMAKE order. local hv_args="" case ${EAPI} in - 5|6) + 6) hv_args="--host-root" ;; *) diff --git a/eclass/dotnet.eclass b/eclass/dotnet.eclass index 3affc00ba458..319fde893116 100644 --- a/eclass/dotnet.eclass +++ b/eclass/dotnet.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: dotnet.eclass @@ -12,7 +12,7 @@ # MONO_SHARED_DIR and sets LC_ALL in order to prevent errors during compilation # of dotnet packages. -case ${EAPI:-0} in +case ${EAPI} in 6) inherit eapi7-ver multilib DEPEND="dev-lang/mono" @@ -98,7 +98,6 @@ exbuild() { # @DESCRIPTION: # Install package to GAC. egacinstall() { - use !prefix && has "${EAPI:-0}" 0 1 2 && ED="${D}" gacutil -i "${1}" \ -root "${ED}"/usr/$(get_libdir) \ -gacdir /usr/$(get_libdir) \ @@ -110,7 +109,6 @@ egacinstall() { # @DESCRIPTION: # multilib comply dotnet_multilib_comply() { - use !prefix && has "${EAPI:-0}" 0 1 2 && ED="${D}" local dir finddirs=() mv_command=${mv_command:-mv} if [[ -d "${ED}/usr/lib" && "$(get_libdir)" != "lib" ]] then diff --git a/eclass/epatch.eclass b/eclass/epatch.eclass index 181cd8963e4f..07f802583fc7 100644 --- a/eclass/epatch.eclass +++ b/eclass/epatch.eclass @@ -4,7 +4,7 @@ # @ECLASS: epatch.eclass # @MAINTAINER: # base-system@gentoo.org -# @SUPPORTED_EAPIS: 5 6 +# @SUPPORTED_EAPIS: 6 # @BLURB: easy patch application functions # @DEPRECATED: eapply from EAPI 7 # @DESCRIPTION: @@ -14,10 +14,8 @@ if [[ -z ${_EPATCH_ECLASS} ]]; then case ${EAPI} in - 5|6) - ;; - *) - die "${ECLASS}: EAPI ${EAPI:-0} not supported";; + 6) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac inherit estack @@ -378,85 +376,5 @@ epatch() { : # everything worked } -case ${EAPI:-0} in -0|1|2|3|4|5) - -# @ECLASS_VARIABLE: EPATCH_USER_SOURCE -# @USER_VARIABLE -# @DESCRIPTION: -# Location for user patches, see the epatch_user function. -# Should be set by the user. Don't set this in ebuilds. -: ${EPATCH_USER_SOURCE:=${PORTAGE_CONFIGROOT%/}/etc/portage/patches} - -# @FUNCTION: epatch_user -# @USAGE: -# @DESCRIPTION: -# Applies user-provided patches to the source tree. The patches are -# taken from /etc/portage/patches//[:SLOT]/, where the first -# of these three directories to exist will be the one to use, ignoring -# any more general directories which might exist as well. They must end -# in ".patch" to be applied. -# -# User patches are intended for quick testing of patches without ebuild -# modifications, as well as for permanent customizations a user might -# desire. Obviously, there can be no official support for arbitrarily -# patched ebuilds. So whenever a build log in a bug report mentions that -# user patches were applied, the user should be asked to reproduce the -# problem without these. -# -# Not all ebuilds do call this function, so placing patches in the -# stated directory might or might not work, depending on the package and -# the eclasses it inherits and uses. It is safe to call the function -# repeatedly, so it is always possible to add a call at the ebuild -# level. The first call is the time when the patches will be -# applied. -# -# Ideally, this function should be called after gentoo-specific patches -# have been applied, so that their code can be modified as well, but -# before calls to e.g. eautoreconf, as the user patches might affect -# autotool input files as well. -epatch_user() { - [[ $# -ne 0 ]] && die "epatch_user takes no options" - - # Allow multiple calls to this function; ignore all but the first - local applied="${T}/epatch_user.log" - [[ -e ${applied} ]] && return 2 - - # don't clobber any EPATCH vars that the parent might want - local EPATCH_SOURCE check - for check in ${CATEGORY}/{${P}-${PR},${P},${PN}}{,:${SLOT%/*}}; do - EPATCH_SOURCE=${EPATCH_USER_SOURCE}/${CTARGET}/${check} - [[ -r ${EPATCH_SOURCE} ]] || EPATCH_SOURCE=${EPATCH_USER_SOURCE}/${CHOST}/${check} - [[ -r ${EPATCH_SOURCE} ]] || EPATCH_SOURCE=${EPATCH_USER_SOURCE}/${check} - if [[ -d ${EPATCH_SOURCE} ]] ; then - local old_n_applied_patches=${EPATCH_N_APPLIED_PATCHES:-0} - EPATCH_SOURCE=${EPATCH_SOURCE} \ - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - EPATCH_MULTI_MSG="Applying user patches from ${EPATCH_SOURCE} ..." \ - epatch - echo "${EPATCH_SOURCE}" > "${applied}" - if [[ ${old_n_applied_patches} -lt ${EPATCH_N_APPLIED_PATCHES} ]]; then - has epatch_user_death_notice ${EBUILD_DEATH_HOOKS} || \ - EBUILD_DEATH_HOOKS+=" epatch_user_death_notice" - fi - return 0 - fi - done - echo "none" > "${applied}" - return 1 -} - -# @FUNCTION: epatch_user_death_notice -# @INTERNAL -# @DESCRIPTION: -# Include an explicit notice in the die message itself that user patches were -# applied to this build. -epatch_user_death_notice() { - ewarn "!!! User patches were applied to this build!" -} - -esac - _EPATCH_ECLASS=1 fi #_EPATCH_ECLASS diff --git a/eclass/eutils.eclass b/eclass/eutils.eclass index 207d05e7f975..e7fae2c656c6 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,49 +24,16 @@ _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 -# @FUNCTION: emktemp -# @USAGE: [temp dir] -# @DESCRIPTION: -# Cheap replacement for when coreutils (and thus mktemp) does not exist -# on the user's system. emktemp() { - eqawarn "emktemp is deprecated. Create a temporary file in \${T} instead." - - local exe="touch" - [[ $1 == -d ]] && exe="mkdir" && shift - local topdir=$1 - - if [[ -z ${topdir} ]] ; then - [[ -z ${T} ]] \ - && topdir="/tmp" \ - || topdir=${T} - fi - - if ! type -P mktemp > /dev/null ; then - # system lacks `mktemp` so we have to fake it - local tmp=/ - while [[ -e ${tmp} ]] ; do - tmp=${topdir}/tmp.${RANDOM}.${RANDOM}.${RANDOM} - done - ${exe} "${tmp}" || ${exe} -p "${tmp}" - echo "${tmp}" - else - # the args here will give slightly wierd names on BSD, - # but should produce a usable file on all userlands - if [[ ${exe} == "touch" ]] ; then - TMPDIR="${topdir}" mktemp -t tmp.XXXXXXXXXX - else - TMPDIR="${topdir}" mktemp -dt tmp.XXXXXXXXXX - fi - fi + eerror "emktemp has been removed." + eerror "Create a temporary file in \${T} instead." + die "emktemp is banned" } path_exists() { @@ -76,119 +43,24 @@ path_exists() { die "path_exists is banned" } -# @FUNCTION: use_if_iuse -# @USAGE: -# @DESCRIPTION: -# Return true if the given flag is in USE and IUSE. -# -# Note that this function should not be used in the global scope. use_if_iuse() { - eqawarn "use_if_iuse is deprecated." - eqawarn "Define it as a local function, or inline it:" - eqawarn " in_iuse foo && use foo" - in_iuse $1 || return 1 - 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, '/.' 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: -# @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[@]#[+-]}" + eerror "use_if_iuse has been removed." + eerror "Define it as a local function, or inline it:" + eerror " in_iuse foo && use foo" + die "use_if_iuse is banned" } -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 diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass index 0e15d7423547..0dd2c1191273 100644 --- a/eclass/flag-o-matic.eclass +++ b/eclass/flag-o-matic.eclass @@ -4,16 +4,15 @@ # @ECLASS: flag-o-matic.eclass # @MAINTAINER: # toolchain@gentoo.org -# @SUPPORTED_EAPIS: 5 6 7 8 +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: common functions to manipulate and query toolchain flags # @DESCRIPTION: # This eclass contains a suite of functions to help developers sanely # and safely manage toolchain flags in their builds. -case ${EAPI:-0} in - 0|1|2|3|4) die "flag-o-matic.eclass: EAPI ${EAPI} is too old." ;; - 5|6|7|8) ;; - *) die "EAPI ${EAPI} is not supported by flag-o-matic.eclass." ;; +case ${EAPI} in + 6|7|8) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac if [[ -z ${_FLAG_O_MATIC_ECLASS} ]]; then @@ -21,7 +20,7 @@ _FLAG_O_MATIC_ECLASS=1 inherit toolchain-funcs -[[ ${EAPI} == [567] ]] && inherit eutils +[[ ${EAPI} == [67] ]] && inherit eutils # @FUNCTION: all-flag-vars # @DESCRIPTION: @@ -36,7 +35,7 @@ all-flag-vars() { # {C,CPP,CXX,CCAS,F,FC,LD}FLAGS that we allow in strip-flags # Note: shell globs and character lists are allowed setup-allowed-flags() { - [[ ${EAPI} == [567] ]] || + [[ ${EAPI} == [67] ]] || die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}." _setup-allowed-flags "$@" } @@ -512,7 +511,7 @@ strip-flags() { # Returns shell true if is supported by given , # else returns shell false. test-flag-PROG() { - [[ ${EAPI} == [567] ]] || + [[ ${EAPI} == [67] ]] || die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}." _test-flag-PROG "$@" } @@ -651,7 +650,7 @@ test-flag-CCLD() { _test-flag-PROG CC c+ld "$@"; } # Returns shell true if are supported by given , # else returns shell false. test-flags-PROG() { - [[ ${EAPI} == [567] ]] || + [[ ${EAPI} == [67] ]] || die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}." _test-flags-PROG "$@" } diff --git a/eclass/multilib.eclass b/eclass/multilib.eclass index 8590bbdfbff0..e3c0d78a6e43 100644 --- a/eclass/multilib.eclass +++ b/eclass/multilib.eclass @@ -4,14 +4,13 @@ # @ECLASS: multilib.eclass # @MAINTAINER: # toolchain@gentoo.org -# @SUPPORTED_EAPIS: 5 6 7 8 +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: This eclass is for all functions pertaining to handling multilib configurations. # @DESCRIPTION: # This eclass is for all functions pertaining to handling multilib configurations. -case ${EAPI:-0} in - # EAPI=0 is still used by crossdev, bug #797367 - 0|5|6|7|8) ;; +case ${EAPI} in + 6|7|8) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac @@ -40,32 +39,6 @@ has_multilib_profile() { [ -n "${MULTILIB_ABIS}" -a "${MULTILIB_ABIS}" != "${MULTILIB_ABIS/ /}" ] } -# @FUNCTION: get_libdir -# @RETURN: the libdir for the selected ABI -# @DESCRIPTION: -# This function simply returns the desired lib directory. With portage -# 2.0.51, we now have support for installing libraries to lib32/lib64 -# to accomidate the needs of multilib systems. It's no longer a good idea -# to assume all libraries will end up in lib. Replace any (sane) instances -# where lib is named directly with $(get_libdir) if possible. -# -# Jeremy Huddleston (23 Dec 2004): -# Added support for ${ABI} and ${DEFAULT_ABI}. If they're both not set, -# fall back on old behavior. Any profile that has these set should also -# depend on a newer version of portage (not yet released) which uses these -# over CONF_LIBDIR in econf, dolib, etc... -if [[ ${EAPI} == [05] ]] ; then - get_libdir() { - local CONF_LIBDIR - if [ -n "${CONF_LIBDIR_OVERRIDE}" ] ; then - # if there is an override, we want to use that... always. - echo ${CONF_LIBDIR_OVERRIDE} - else - get_abi_LIBDIR - fi - } -fi - # @FUNCTION: get_abi_var # @USAGE: [ABI] # @RETURN: returns the value of ${_} which should be set in make.defaults diff --git a/eclass/optfeature.eclass b/eclass/optfeature.eclass index acf8584e6dbc..b44fc1b85251 100644 --- a/eclass/optfeature.eclass +++ b/eclass/optfeature.eclass @@ -1,14 +1,14 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: optfeature.eclass # @MAINTAINER: # base-system@gentoo.org -# @SUPPORTED_EAPIS: 6 7 8 +# @SUPPORTED_EAPIS: 7 8 # @BLURB: Advertise optional functionality that might be useful to users case ${EAPI} in - 6|7|8) ;; + 7|8) ;; *) die "${ECLASS}: EAPI=${EAPI:-0} is not supported" ;; esac diff --git a/eclass/perl-functions.eclass b/eclass/perl-functions.eclass index 106394afa15a..142fdeb8cfbd 100644 --- a/eclass/perl-functions.eclass +++ b/eclass/perl-functions.eclass @@ -8,7 +8,7 @@ # Seemant Kulleen # Andreas K. Huettel # Kent Fredric -# @SUPPORTED_EAPIS: 6 7 8 +# @SUPPORTED_EAPIS: 7 8 # @BLURB: helper functions eclass for perl modules # @DESCRIPTION: # The perl-functions eclass is designed to allow easier installation of perl @@ -17,7 +17,7 @@ # global scope. case ${EAPI} in - 6|7|8) + 7|8) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" @@ -44,7 +44,8 @@ perlinfo_done=false # echo $PERL_VERSION # @CODE perl_set_version() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" + debug-print "$FUNCNAME: perlinfo_done=${perlinfo_done}" ${perlinfo_done} && return 0 perlinfo_done=true @@ -65,7 +66,7 @@ perl_set_version() { # # This function used to be called fixlocalpod as well. perl_delete_localpod() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" find "${D}" -type f -name perllocal.pod -delete find "${D}" -depth -mindepth 1 -type d -empty -delete @@ -75,7 +76,7 @@ perl_delete_localpod() { # @DESCRIPTION: # Look through ${S} for AppleDouble encoded files and get rid of them. perl_fix_osx_extra() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" local f find "${S}" -type f -name "._*" -print0 | while read -rd '' f ; do @@ -92,7 +93,7 @@ perl_fix_osx_extra() { # Bump off manpages installed by the current module such as *.3pm files as well # as empty directories. perl_delete_module_manpages() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" if [[ -d "${ED}"/usr/share/man ]] ; then find "${ED}"/usr/share/man -type f -name "*.3pm" -delete @@ -105,7 +106,8 @@ perl_delete_module_manpages() { # Look through ${D} for .packlist files, empty .bs files and empty directories, # and get rid of items found. perl_delete_packlist() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" + perl_set_version if [[ -d ${D}/${VENDOR_ARCH} ]] ; then find "${D}/${VENDOR_ARCH}" -type f -a -name .packlist -delete @@ -118,7 +120,8 @@ perl_delete_packlist() { # Look through ${D} for empty .bs files and empty directories, # and get rid of items found. perl_delete_emptybsdir() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" + perl_set_version if [[ -d ${D}/${VENDOR_ARCH} ]] ; then find "${D}/${VENDOR_ARCH}" -type f \ @@ -132,7 +135,8 @@ perl_delete_emptybsdir() { # Make all of ${D} user-writable, since EU::MM does silly things with # the w bit. See bug 554346. perl_fix_permissions() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" + perl_set_version einfo Fixing installed file permissions fperms -R u+w / @@ -145,7 +149,7 @@ perl_fix_permissions() { # Remove duplicate entries; then validate all entries in the packlist against ${D} # and prune entries that do not correspond to installed files. perl_fix_packlist() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" local packlist_temp="${T}/.gentoo_packlist_temp" find "${D}" -type f -name '.packlist' -print0 | while read -rd '' f ; do @@ -176,7 +180,7 @@ perl_fix_packlist() { # Look through ${D} for text files containing the temporary installation # folder (i.e. ${D}). If the pattern is found, replace it with `/' and warn. perl_remove_temppath() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" find "${D}" -type f -not -name '*.so' -print0 | while read -rd '' f ; do if file "${f}" | grep -q -i " text" ; then @@ -209,7 +213,8 @@ perl_remove_temppath() { # } # @CODE perl_rm_files() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" + local skipfile="${T}/.gentoo_makefile_skip" local manifile="${S}/MANIFEST" local manitemp="${T}/.gentoo_manifest_temp" @@ -236,7 +241,8 @@ perl_rm_files() { # lead to file collisions. Mainly for use in pkg_postinst and pkg_postrm, and makes # only sense for perl-core packages. perl_link_duallife_scripts() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" + [[ ${CATEGORY} != perl-core ]] && return 0 local i ff @@ -328,7 +334,7 @@ perl_check_env() { # } # @CODE perl_doexamples() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" einfo "Installing examples into /usr/share/doc/${PF}/examples" @@ -362,7 +368,7 @@ perl_doexamples() { # @CODE perl_has_module() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" [[ $# -gt 0 ]] || die "${FUNCNAME}: No module name provided" [[ $# -lt 2 ]] || die "${FUNCNAME}: Too many parameters ($#)" @@ -400,7 +406,7 @@ perl_has_module() { # && echo "Test::Tester 0.017 or greater installed" # @CODE perl_has_module_version() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" [[ $# -gt 0 ]] || die "${FUNCNAME}: No module name provided" [[ $# -gt 1 ]] || die "${FUNCNAME}: No module version provided" @@ -441,7 +447,7 @@ perl_has_module_version() { # @CODE perl_get_module_version() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" [[ $# -gt 0 ]] || die "${FUNCNAME}: No module name provided" [[ $# -lt 2 ]] || die "${FUNCNAME}: Too many parameters ($#)" @@ -487,7 +493,7 @@ perl_get_module_version() { # @CODE perl_get_raw_vendorlib() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" [[ $# -lt 1 ]] || die "${FUNCNAME}: Too many parameters ($#)" @@ -508,7 +514,7 @@ perl_get_raw_vendorlib() { # @CODE perl_get_vendorlib() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" [[ $# -lt 1 ]] || die "${FUNCNAME}: Too many parameters ($#)" @@ -607,7 +613,7 @@ perl_domodule() { # @CODE perl_get_wikiurl() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" if [[ -z "${1}" ]]; then echo "https://wiki.gentoo.org/wiki/Project:Perl/maint-notes/${CATEGORY}/${PN}" diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass index d1f9dc6ffccd..25490c25058a 100644 --- a/eclass/perl-module.eclass +++ b/eclass/perl-module.eclass @@ -7,7 +7,7 @@ # @AUTHOR: # Seemant Kulleen # Andreas K. Hüttel -# @SUPPORTED_EAPIS: 6 7 8 +# @SUPPORTED_EAPIS: 7 8 # @PROVIDES: perl-functions # @BLURB: eclass for installing Perl module distributions # @DESCRIPTION: @@ -20,7 +20,7 @@ # instead. case ${EAPI} in - 6|7) + 7) inherit multiprocessing perl-functions PERL_EXPF="src_prepare src_configure src_compile src_test src_install" ;; @@ -39,39 +39,12 @@ esac # This variable controls whether a runtime and build time dependency on # dev-lang/perl is automatically added by the eclass. It defaults to yes. # Set to no to disable, set to noslotop to add a perl dependency without -# slot operator (EAPI=6). All packages installing into the vendor_perl +# slot operator. All packages installing into the vendor_perl # path must use yes here. (EAPI=8 and later) Also adds a test useflag, # a use-conditional build time dependency on virtual/perl-Test-Simple, and # the required RESTRICT setting. case ${EAPI} in - 6) - [[ ${CATEGORY} == perl-core ]] && \ - PERL_EXPF+=" pkg_postinst pkg_postrm" - - case "${GENTOO_DEPEND_ON_PERL:-yes}" in - yes) - DEPEND="dev-lang/perl" - RDEPEND="dev-lang/perl:=" - ;; - noslotop) - DEPEND="dev-lang/perl" - RDEPEND="dev-lang/perl" - ;; - esac - - if [[ "${GENTOO_DEPEND_ON_PERL_SUBSLOT:-yes}" != "yes" ]]; then - eerror "GENTOO_DEPEND_ON_PERL_SUBSLOT=no is banned in EAPI=6 and later. If you don't want a slot operator" - die "set GENTOO_DEPEND_ON_PERL=noslotop instead." - fi - - if [[ "${PERL_EXPORT_PHASE_FUNCTIONS}" ]]; then - eerror "PERL_EXPORT_PHASE_FUNCTIONS is banned in EAPI=6 and later. Use perl-module.eclass if you need" - die "phase functions, perl-functions.eclass if not." - fi - - EXPORT_FUNCTIONS ${PERL_EXPF} - ;; 7) [[ ${CATEGORY} == perl-core ]] && \ PERL_EXPF+=" pkg_postinst pkg_postrm" @@ -90,11 +63,11 @@ case ${EAPI} in esac if [[ "${GENTOO_DEPEND_ON_PERL_SUBSLOT:-yes}" != "yes" ]]; then - die "GENTOO_DEPEND_ON_PERL_SUBSLOT=no is banned in EAPI=6 and later." + die "GENTOO_DEPEND_ON_PERL_SUBSLOT=no is banned." fi if [[ "${PERL_EXPORT_PHASE_FUNCTIONS}" ]]; then - die "PERL_EXPORT_PHASE_FUNCTIONS is banned in EAPI=6 and later." + die "PERL_EXPORT_PHASE_FUNCTIONS is banned." fi EXPORT_FUNCTIONS ${PERL_EXPF} @@ -120,11 +93,11 @@ case ${EAPI} in esac if [[ "${GENTOO_DEPEND_ON_PERL_SUBSLOT:-yes}" != "yes" ]]; then - die "GENTOO_DEPEND_ON_PERL_SUBSLOT=no is banned in EAPI=6 and later." + die "GENTOO_DEPEND_ON_PERL_SUBSLOT=no is banned." fi if [[ "${PERL_EXPORT_PHASE_FUNCTIONS}" ]]; then - die "PERL_EXPORT_PHASE_FUNCTIONS is banned in EAPI=6 and later." + die "PERL_EXPORT_PHASE_FUNCTIONS is banned." fi EXPORT_FUNCTIONS ${PERL_EXPF} @@ -218,7 +191,7 @@ pm_echovar="" # Get the ebuild sources ready. # This function is to be called during the ebuild src_prepare() phase. perl-module_src_prepare() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" default @@ -234,7 +207,7 @@ perl-module_src_prepare() { # Configure the ebuild sources. # This function is to be called during the ebuild src_configure() phase. perl-module_src_configure() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" perl_check_env @@ -251,38 +224,20 @@ perl-module_src_configure() { fi if [[ ( ${PREFER_BUILDPL} == yes || ! -f Makefile.PL ) && -f Build.PL ]] ; then - case ${EAPI} in - 6) - if grep -q '\(use\|require\)\s*Module::Build::Tiny' Build.PL ; then - einfo "Using Module::Build::Tiny" - if [[ ${DEPEND} != *dev-perl/Module-Build-Tiny* && ${PN} != Module-Build-Tiny ]]; then - eerror "QA Notice: The ebuild uses Module::Build::Tiny but doesn't depend on it." - die " Add dev-perl/Module-Build-Tiny to DEPEND!" - fi - else - einfo "Using Module::Build" - if [[ ${DEPEND} != *virtual/perl-Module-Build* && ${DEPEND} != *dev-perl/Module-Build* && ${PN} != Module-Build ]] ; then - eerror "QA Notice: The ebuild uses Module::Build but doesn't depend on it." - die " Add dev-perl/Module-Build to DEPEND!" - fi - fi - ;; - *) - if grep -q '\(use\|require\)\s*Module::Build::Tiny' Build.PL ; then - einfo "Using Module::Build::Tiny" - if [[ ${BDEPEND} != *dev-perl/Module-Build-Tiny* && ${PN} != Module-Build-Tiny ]]; then - eerror "QA Notice: The ebuild uses Module::Build::Tiny but doesn't depend on it." - eerror " Add dev-perl/Module-Build-Tiny to BDEPEND!" - fi - else - einfo "Using Module::Build" - if [[ ${BDEPEND} != *virtual/perl-Module-Build* && ${BDEPEND} != *dev-perl/Module-Build* && ${PN} != Module-Build ]] ; then - eerror "QA Notice: The ebuild uses Module::Build but doesn't depend on it." - eerror " Add dev-perl/Module-Build to BDEPEND!" - fi - fi - ;; - esac + if grep -q '\(use\|require\)\s*Module::Build::Tiny' Build.PL ; then + einfo "Using Module::Build::Tiny" + if [[ ${BDEPEND} != *dev-perl/Module-Build-Tiny* && ${PN} != Module-Build-Tiny ]]; then + eerror "QA Notice: The ebuild uses Module::Build::Tiny but doesn't depend on it." + eerror " Add dev-perl/Module-Build-Tiny to BDEPEND!" + fi + else + einfo "Using Module::Build" + if [[ ${BDEPEND} != *virtual/perl-Module-Build* && ${BDEPEND} != *dev-perl/Module-Build* && ${PN} != Module-Build ]] ; then + eerror "QA Notice: The ebuild uses Module::Build but doesn't depend on it." + eerror " Add dev-perl/Module-Build to BDEPEND!" + fi + fi + set -- \ --installdirs=vendor \ --libdoc= \ @@ -315,11 +270,12 @@ perl-module_src_configure() { # Compile the ebuild sources. # This function is to be called during the ebuild src_compile() phase. perl-module_src_compile() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" + perl_set_version case ${EAPI} in - 6|7) + 7) if [[ $(declare -p mymake 2>&-) != "declare -a mymake="* ]]; then local mymake_local=(${mymake}) else @@ -338,10 +294,7 @@ perl-module_src_compile() { set -- \ OTHERLDFLAGS="${LDFLAGS}" \ "${mymake_local[@]}" - einfo "emake" "$@" - emake "$@" \ - || die "Compilation failed" -# OPTIMIZE="${CFLAGS}" \ + emake "$@" fi } @@ -372,7 +325,8 @@ perl-module_src_compile() { # This code attempts to work out your threadingness and runs tests # according to the settings of DIST_TEST using Test::Harness. perl-module_src_test() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" + local my_test_control local my_test_verbose @@ -401,7 +355,7 @@ perl-module_src_test() { fi case ${EAPI} in - 6|7) + 7) ;; *) if has 'tests' ${DIST_WIKI} ; then @@ -416,7 +370,7 @@ perl-module_src_test() { if [[ -f Build ]] ; then ./Build test verbose=${my_test_verbose} || die "test failed" elif [[ -f Makefile ]] ; then - emake test TEST_VERBOSE=${my_test_verbose} || die "test failed" + emake test TEST_VERBOSE=${my_test_verbose} fi } @@ -425,7 +379,7 @@ perl-module_src_test() { # Install a Perl ebuild. # This function is to be called during the ebuild src_install() phase. perl-module_src_install() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" perl_set_version @@ -447,12 +401,11 @@ perl-module_src_install() { else local myinst_local=("${myinst[@]}") fi - emake "${myinst_local[@]}" ${mytargets} \ - || die "emake ${myinst_local[@]} ${mytargets} failed" + emake "${myinst_local[@]}" ${mytargets} fi case ${EAPI} in - 6|7) + 7) ;; *) perl_fix_permissions @@ -476,7 +429,7 @@ perl-module_src_install() { perl_link_duallife_scripts case ${EAPI} in - 6|7) + 7) ;; *) if has 'features' ${DIST_WIKI} ; then @@ -499,7 +452,8 @@ perl-module_src_install() { # links that prevent file collisions for dual-life packages installing scripts. # In any other category it immediately exits. perl-module_pkg_postinst() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" + if [[ ${CATEGORY} != perl-core ]] ; then eerror "perl-module.eclass: You are calling perl-module_pkg_postinst outside the perl-core category." die " This does not do anything; the call can be removed." @@ -514,7 +468,8 @@ perl-module_pkg_postinst() { # links that prevent file collisions for dual-life packages installing scripts. # In any other category it immediately exits. perl-module_pkg_postrm() { - debug-print-function $FUNCNAME "$@" + debug-print-function ${FUNCNAME} "$@" + if [[ ${CATEGORY} != perl-core ]] ; then eerror "perl-module.eclass: You are calling perl-module_pkg_postrm outside the perl-core category." die " This does not do anything; the call can be removed." diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass index d725f2f47e59..48bf11606c4a 100644 --- a/eclass/toolchain-funcs.eclass +++ b/eclass/toolchain-funcs.eclass @@ -4,7 +4,7 @@ # @ECLASS: toolchain-funcs.eclass # @MAINTAINER: # Toolchain Ninjas -# @SUPPORTED_EAPIS: 5 6 7 8 +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: functions to query common info about the toolchain # @DESCRIPTION: # The toolchain-funcs aims to provide a complete suite of functions @@ -13,9 +13,8 @@ # in such a way that you can rely on the function always returning # something sane. -case ${EAPI:-0} in - # EAPI=0 is still used by crossdev, bug #797367 - 0|5|6|7|8) ;; +case ${EAPI} in + 6|7|8) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac -- cgit v1.2.3