From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <gentoo-commits+bounces-1269150-garchives=archives.gentoo.org@lists.gentoo.org> Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 3B9411382C5 for <garchives@archives.gentoo.org>; Sat, 10 Apr 2021 07:15:16 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 149B1E085B; Sat, 10 Apr 2021 07:15:15 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id DD8D0E085B for <gentoo-commits@lists.gentoo.org>; Sat, 10 Apr 2021 07:15:14 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id E295A335C47 for <gentoo-commits@lists.gentoo.org>; Sat, 10 Apr 2021 07:15:13 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 3724F644 for <gentoo-commits@lists.gentoo.org>; Sat, 10 Apr 2021 07:15:12 +0000 (UTC) From: "Sam James" <sam@gentoo.org> To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" <sam@gentoo.org> Message-ID: <1618038794.00e19f7ec43cd9d94d894f87114fbfab0b405df3.sam@gentoo> Subject: [gentoo-commits] repo/proj/prefix:master commit in: eclass/ X-VCS-Repository: repo/proj/prefix X-VCS-Files: eclass/autotools.eclass X-VCS-Directories: eclass/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 00e19f7ec43cd9d94d894f87114fbfab0b405df3 X-VCS-Branch: master Date: Sat, 10 Apr 2021 07:15:12 +0000 (UTC) Precedence: bulk List-Post: <mailto:gentoo-commits@lists.gentoo.org> List-Help: <mailto:gentoo-commits+help@lists.gentoo.org> List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org> List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org> List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org> X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: a3df9a4c-5c17-45cf-a1c8-66d313cd95d2 X-Archives-Hash: 1a33484c0aaaeaac74627ec931060413 commit: 00e19f7ec43cd9d94d894f87114fbfab0b405df3 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Sat Apr 10 07:12:24 2021 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sat Apr 10 07:13:14 2021 +0000 URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=00e19f7e autotools.eclass: sync with ::gentoo Signed-off-by: Sam James <sam <AT> gentoo.org> eclass/autotools.eclass | 78 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 57 insertions(+), 21 deletions(-) diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass index 5a59c8d2d5..ded5436a45 100644 --- a/eclass/autotools.eclass +++ b/eclass/autotools.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: autotools.eclass @@ -34,16 +34,19 @@ esac inherit libtool # @ECLASS-VARIABLE: WANT_AUTOCONF +# @PRE_INHERIT # @DESCRIPTION: # The major version of autoconf your package needs : ${WANT_AUTOCONF:=latest} # @ECLASS-VARIABLE: WANT_AUTOMAKE +# @PRE_INHERIT # @DESCRIPTION: # The major version of automake your package needs : ${WANT_AUTOMAKE:=latest} # @ECLASS-VARIABLE: WANT_LIBTOOL +# @PRE_INHERIT # @DESCRIPTION: # Do you want libtool? Valid values here are "latest" and "none". : ${WANT_LIBTOOL:=latest} @@ -54,18 +57,20 @@ inherit libtool # CONSTANT! # The latest major unstable and stable version/slot of automake available # on each arch. +# Only add unstable version if it is in a different slot than latest stable +# version. # List latest unstable version first to boost testing adoption rate because # most package manager dependency resolver will pick the first suitable # version. # If a newer slot is stable on any arch, and is NOT reflected in this list, # then circular dependencies may arise during emerge @system bootstraps. -# -# See bug 312315 and 465732 for further information and context. -# +# +# See bug #312315 and bug #465732 for further information and context. +# # Do NOT change this variable in your ebuilds! # If you want to force a newer minor version, you can specify the correct # WANT value by using a colon: <PV>:<WANT_AUTOMAKE> -_LATEST_AUTOMAKE=( 1.16.1:1.16 1.15.1:1.15 ) +_LATEST_AUTOMAKE=( 1.16.2-r1:1.16 ) _automake_atom="sys-devel/automake" _autoconf_atom="sys-devel/autoconf" @@ -73,7 +78,7 @@ if [[ -n ${WANT_AUTOMAKE} ]]; then case ${WANT_AUTOMAKE} in # Even if the package doesn't use automake, we still need to depend # on it because we run aclocal to process m4 macros. This matches - # the autoreconf tool, so this requirement is correct. #401605 + # the autoreconf tool, so this requirement is correct, bug #401605. none) ;; latest) # Use SLOT deps if we can. For EAPI=0, we get pretty close. @@ -118,6 +123,7 @@ AUTOTOOLS_DEPEND="!<sys-devel/gettext-0.18.1.1-r3 RDEPEND="" # @ECLASS-VARIABLE: AUTOTOOLS_AUTO_DEPEND +# @PRE_INHERIT # @DESCRIPTION: # Set to 'no' to disable automatically adding to DEPEND. This lets # ebuilds form conditional depends by using ${AUTOTOOLS_DEPEND} in @@ -139,6 +145,12 @@ unset _automake_atom _autoconf_atom # Additional options to pass to automake during # eautoreconf call. +# @ECLASS-VARIABLE: AT_NOEAUTOHEADER +# @DEFAULT_UNSET +# @DESCRIPTION: +# Don't run eautoheader command if set to 'yes'; only used to work around +# packages that don't want their headers being modified. + # @ECLASS-VARIABLE: AT_NOEAUTOMAKE # @DEFAULT_UNSET # @DESCRIPTION: @@ -154,11 +166,13 @@ unset _automake_atom _autoconf_atom # particular options # @ECLASS-VARIABLE: AT_M4DIR +# @DEFAULT_UNSET # @DESCRIPTION: # Additional director(y|ies) aclocal should search : ${AT_M4DIR:=} # @ECLASS-VARIABLE: AT_SYS_M4DIR +# @DEFAULT_UNSET # @INTERNAL # @DESCRIPTION: # For system integrators, a list of additional aclocal search paths. @@ -177,13 +191,13 @@ unset _automake_atom _autoconf_atom eautoreconf() { local x g - # Subdirs often share a common build dir #529404. If so, we can't safely + # Subdirs often share a common build dir, bug #529404. If so, we can't safely # run in parallel because many tools clobber the content in there. Libtool # and automake both `rm && cp` while aclocal reads the output. We might be # able to handle this if we split the steps and grab locks on the dirs the # tools actually write to. Then we'd run all the common tools that use # those inputs. Doing this in bash does not scale easily. - # If we do re-enable parallel support, make sure #426512 is handled. + # If we do re-enable parallel support, make sure bug #426512 is handled. if [[ -z ${AT_NO_RECURSIVE} ]] ; then # Take care of subdirs for x in $(autotools_check_macro_val AC_CONFIG_SUBDIRS) ; do @@ -239,7 +253,7 @@ eautoreconf() { else eautoconf --force fi - eautoheader + [[ ${AT_NOEAUTOHEADER} != "yes" ]] && eautoheader [[ ${AT_NOEAUTOMAKE} != "yes" ]] && FROM_EAUTORECONF="yes" eautomake ${AM_OPTS} if [[ ${AT_NOELIBTOOLIZE} != "yes" ]] ; then @@ -289,8 +303,8 @@ eaclocal_amflags() { [[ -e ${amflags_file} ]] || continue # setup the env in case the pkg does something crazy # in their ACLOCAL_AMFLAGS. like run a shell script - # which turns around and runs autotools. #365401 - # or split across multiple lines. #383525 + # which turns around and runs autotools (bug #365401) + # or split across multiple lines (bug #383525) autotools_env_setup aclocal_opts=$(sed -n \ "/^ACLOCAL_AMFLAGS[[:space:]]*=/{ \ @@ -312,7 +326,7 @@ eaclocal_amflags() { # specified parametes. The name of the tool run is the same of the function # without e prefix. # They also force installing the support files for safety. -# Respects AT_M4DIR for additional directories to search for macro's. +# Respects AT_M4DIR for additional directories to search for macros. eaclocal() { [[ ! -f aclocal.m4 || -n $(grep -e 'generated.*by aclocal' aclocal.m4) ]] && \ autotools_run_tool --at-m4flags aclocal "$@" $(eaclocal_amflags) @@ -360,6 +374,19 @@ eautoconf() { eqawarn "when it finds this file. See https://bugs.gentoo.org/426262 for details." fi + # Install config.guess and config.sub which are required by many macros + # in autoconf >=2.70. + local _gnuconfig + case ${EAPI:-0} in + 0|1|2|3|4|5|6) + _gnuconfig="${EPREFIX}/usr/share/gnuconfig" + ;; + *) + _gnuconfig="${BROOT}/usr/share/gnuconfig" + ;; + esac + cp "${_gnuconfig}"/config.{guess,sub} . || die + autotools_run_tool --at-m4flags autoconf "$@" } @@ -406,7 +433,7 @@ eautomake() { || extra_opts+=( --foreign ) # Older versions of automake do not support --force-missing. But we want - # to use this whenever possible to update random bundled files #133489. + # to use this whenever possible to update random bundled files, bug #133489. case $(_automake_version) in 1.4|1.4[.-]*) ;; *) extra_opts+=( --force-missing ) ;; @@ -429,7 +456,16 @@ eautopoint() { # use gettext directly. So we have to copy it in manually since # we can't let `autopoint` do it for us. config_rpath_update() { - local dst src=$(type -P gettext | sed 's:bin/gettext:share/gettext/config.rpath:') + local dst src + + case ${EAPI:-0} in + 0|1|2|3|4|5|6) + src="${EPREFIX}/usr/share/gettext/config.rpath" + ;; + *) + src="${BROOT}/usr/share/gettext/config.rpath" + ;; + esac [[ $# -eq 0 ]] && set -- $(find -name config.rpath) [[ $# -eq 0 ]] && return 0 @@ -496,17 +532,17 @@ autotools_run_tool() { done if [[ ${EBUILD_PHASE} != "unpack" && ${EBUILD_PHASE} != "prepare" ]]; then - ewarn "QA Warning: running $1 in ${EBUILD_PHASE} phase" + ewarn "QA Warning: running '$1' in ${EBUILD_PHASE} phase" fi if ${missing_ok} && ! type -P ${1} >/dev/null ; then - einfo "Skipping '$*' due $1 not installed" + einfo "Skipping '$*' because '$1' not installed" return 0 fi autotools_env_setup - # Allow people to pass in full paths. #549268 + # Allow people to pass in full paths, bug #549268 local STDERR_TARGET="${T}/${1##*/}.out" # most of the time, there will only be one run, but if there are # more, make sure we get unique log filenames @@ -520,7 +556,7 @@ autotools_run_tool() { fi if ${m4flags} ; then - set -- "${1}" $(autotools_m4dir_include) "${@:2}" $(autotools_m4sysdir_include) + set -- "${1}" $(autotools_m4dir_include) $(autotools_m4sysdir_include) "${@:2}" fi # If the caller wants to probe something, then let them do it directly. @@ -535,13 +571,13 @@ autotools_run_tool() { "$@" >> "${STDERR_TARGET}" 2>&1 if ! eend $? && ${autofail} ; then echo - eerror "Failed Running $1 !" + eerror "Failed running '$1'!" eerror - eerror "Include in your bugreport the contents of:" + eerror "Include in your bug report the contents of:" eerror eerror " ${STDERR_TARGET}" echo - die "Failed Running $1 !" + die "Failed running '$1'!" fi }