summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* autotools.eclass: fix autoconf 2.13 minimum boundSam James2022-11-231-1/+1
| | | | | Fixes: cece5b154234aa8c9982feae05f67df8db39e270 Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: depend on modern libtoolSam James2022-11-231-1/+1
| | | | | | | 2.4.7 has been stable for a while, and for older versions, we can't be sure that our elibtoolize (elt-patches) bits will work anyway. Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: crank up autoconf minimum versionsSam James2022-11-231-2/+2
| | | | | | | | This ensures we have versions which have Clang 16 / GCC 14 / stricter compiler fixes, so 'eautoreconf' will Do The Right Thing. Closes: https://bugs.gentoo.org/870412 Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: Drop support for EAPI 5Ulrich Müller2022-07-181-7/+7
| | | | Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* autotools.eclass: import ::prefix automake has_version edgecase logicSam James2022-06-291-2/+12
| | | | | | | | | | | | | During bootstrapping, an automake may not exist yet (which is sometimes fine if an ebuild doesn't actually need it). Make the check non-fatal for prefix where automake doesn't yet exist inside BROOT. We could probably do a bit better here and inspect PATH but this is the logic which has been used in ::prefix for a looong time, and it's currently breaking bootstraps, so let's get it fixed. Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: egrep -> grep -ESam James2022-05-161-1/+1
| | | | | | Deprecated for a while but newer grep emits deprecation warnings. Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: drop ROOT=/ in has_version callSam James2022-04-301-1/+1
| | | | | | | | | | | | | | | | | | | Noticed when doing a read-through of the eclass (which is how I noticed c8e74a7dfe477dea008548553141f083c5d03782 too). Forcing ROOT=/ is, at best, going to confuse matters, and at worst, do entirely the wrong thing. In EAPI 5 and 6, we had --host-root (which we use in the eclass), and in EAPI 7+, we have -b/-d (which we use in the eclass too). The ROOT= setting was there for pre-EAPI 5 times. The aforementioned toggles (--host-root and then later on, -b/-d) are the correct methods to specify (B)ROOT for has_version. Using one of those with ROOT= have undefined behaviour, so drop it. Bug: https://bugs.gentoo.org/312687 Thanks-to: James Le Cuirot <chewi@gentoo.org> Thanks-to: Ulrich Müller <ulm@gentoo.org> Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: fix EAPI 8 conditional; simplifySam James2022-04-281-3/+3
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: update automake 1.16 stable versionSam James2022-04-161-1/+1
| | | | | Closes: https://bugs.gentoo.org/833654 Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: don't use reserved variable (__)Sam James2022-04-121-4/+4
| | | | | Closes: https://bugs.gentoo.org/806368 Signed-off-by: Sam James <sam@gentoo.org>
* *.eclass: @ECLASS-VARIABLE renamed to @ECLASS_VARIABLEUlrich Müller2022-03-241-12/+12
| | | | | Bug: https://bugs.gentoo.org/835396 Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* autotools.eclass: update for autoconf 2.71Sam James2022-01-221-2/+2
| | | | | Closes: https://bugs.gentoo.org/827852 Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: update for latest automake 1.16.4Sam James2022-01-221-1/+1
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: use --system-acdir for aclocalSam James2022-01-221-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to instruct aclocal that it might find macros in both ${BROOT} _and_ ${SYSROOT}. - A classic example within BROOT is autoconf-archive. - A classic example within SYSROOT is, say, libogg. A fair amount of codec software installs its own macro to help locating it (but this is in no ways limited to that genre/area). The correct position for a dependency like libogg is DEPEND, and yet the status quo doesn't mean that aclocal is obligated to check in ${ESYSROOT} which is where DEPEND-class dependencies are guaranteed to be installed. We can't rely on these being in BDEPEND -- in fact, most of the time, they won't be. If we wanted to rely on macros always being provided by BDEPEND, we'd have to duplicate a considerable number of dependencies in both BDEPEND + DEPEND, with the unnecessary cross-compilation that would entail too: it makes far more sense to just tell aclocal to look in the right place (an extra location). Bug: https://bugs.gentoo.org/710792 Closes: https://bugs.gentoo.org/677002 Closes: https://bugs.gentoo.org/738918 Thanks-to: David Michael <fedora.dm0@gmail.com> (for the suggestion) Thanks-to: James Le Cuirot <chewi@gentoo.org> (rubberducking & sounding board) Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: don't inject -I${SYSROOT} to aclocalSam James2022-01-221-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When -I${SYSROOT} is injected, it'll override the default of -Im4, which results in trying to install macros to ${SYSROOT} (a sandbox violation) when they can't be found. From aclocal(1): ``` -I DIR add directory to search list for .m4 files --install copy third-party files to the first -I directory ``` The first directory is normally -Im4 if anything, whereas when injected (when ${SYSROOT} is defined), it ends up being ${SYSROOT}, not m4 (so we try to copy macros to somewhere outside of the build directory). [We could drop this just for > EAPI 7, but I'm not sure there's much point there either. As Chewi observed in bug 677002, you can't assume they'll be present in ${SYSROOT} anyway, and frankly, the cross-compilation (and --root, --sysroot, and so on) situation is rather bleak for earlier EAPIs, which is why we did all that work for 7.] Bug: https://bugs.gentoo.org/710792 Closes: https://bugs.gentoo.org/677002 Closes: https://bugs.gentoo.org/738918 Thanks-to: James Le Cuirot <chewi@gentoo.org> Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: mark AUTOTOOLS_DEPEND as an output variableMike Gilbert2021-10-011-1/+1
| | | | | | This variable is used in several ebuilds for optional dependencies. Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* autotools.eclass: fix EAPI 8 supportSam James2021-08-151-1/+1
| | | | | | Fixes: 0d6f1fbaa1198c04f6efb5bb8be505b4394c3541 Reported-by: Joonas Niilola <juippis@gentoo.org> Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: add EAPI 8 supportSam James2021-07-101-2/+2
| | | | | | Signed-off-by: Sam James <sam@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/21584 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
* autotools.eclass: rename configure.in to configure.ac on new EAPIsSam James2021-07-101-3/+14
| | | | | | | | | | | | | | | automake is "eventually" going to fail when it detects configure.in. Don't do this immediately - instead only on new EAPIs to avoid breaking existing ebuilds. We give an eqawarn (which is triggered by e.g. PORTAGE_ELOG_CLASSES="qa" and is opt-in) for maintainers to upstream these where possible, but this isn't always the case for software ehich otherwise works but is unmaintained upstream. Bug: https://bugs.gentoo.org/426262 Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
* Revert "autotools.eclass: add explicit GNU awk dependency"Lars Wendler2021-04-121-3/+1
| | | | | | | This reverts commit 307c855dc6d7842098fae8738a7a5228670a71f6. Change was done without maintainer consent Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
* Revert "autotools.eclass: rename configure.in to configure.ac on new EAPIs"Lars Wendler2021-04-121-13/+3
| | | | | | | This reverts commit fe3f65790fabb6e98d0b851d3013714c7706eccc. Change was done without maintainer consent Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
* Revert "autotools.eclass: more case-style changes for consistency"Lars Wendler2021-04-121-3/+3
| | | | | | | This reverts commit 45afdd17d7eecc191399315c88bc4b67aa796d32. Change was done without maintainer consent Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
* autotools.eclass: more case-style changes for consistencySam James2021-04-111-3/+3
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: drop obsolete EAPI 0 compatibility codeSam James2021-04-111-16/+9
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: fix EAPI support logic in config_rpath_updateSam James2021-04-111-1/+1
| | | | | | ${EPREFIX} doesn't exist pre-EAPI 3, so let's make that clear. Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: use gnuconfig.eclass for finding latest config.{guess, sub}Sam James2021-04-111-10/+2
| | | | | | No need to duplicate logic. Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: rename configure.in to configure.ac on new EAPIsSam James2021-04-111-3/+13
| | | | | | | | | | automake is eventually going to fail when it detects configure.in. Don't do this immediately - instead only on new EAPIs to avoid breaking existing ebuilds. Bug: https://bugs.gentoo.org/426262 Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: add explicit GNU awk dependencySam James2021-04-111-1/+3
| | | | | | | | autotools_check_macro_val specifically requires GNU awk (sys-apps/gawk) rather than any awk (virtual/awk). Closes: https://bugs.gentoo.org/584254 Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: document AUTOTOOLS_DEPENDSam James2021-04-111-0/+5
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: use same ${WANT_AUTOCONF} comparison test throughoutSam James2021-04-111-1/+1
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: explicitly blank and mark variables as @DEFAULT_UNSETSam James2021-04-111-0/+4
| | | | | | Provides consistency with existing style. Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: convert phase test to EBUILD_PHASE_FUNCSam James2021-04-111-2/+2
| | | | | | Introduced in EAPI 5. Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: drop support for < EAPI 5Sam James2021-04-111-3/+3
| | | | | | | Needed for a subsequent change. < EAPI 5 is no longer in ::gentoo (since December). Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: consistent variable referencesSam James2021-04-111-9/+9
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: consistently use ${ECLASS}, not "autotools.eclass"Sam James2021-04-111-2/+2
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: use consistent 'case' styleSam James2021-04-111-14/+15
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: add @DESCRIPTION for _at_uses_pkgSam James2021-04-111-0/+1
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: convert ewarn to eqawarnSam James2021-04-111-1/+1
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: inherit eutils for < EAPI 7 for eqawarnSam James2021-04-111-1/+5
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: minor cosmetic changes to various elogsSam James2021-03-311-5/+5
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: fix whitespace/phrasing in commentSam James2021-03-311-3/+3
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: consistent references to bugs in commentsSam James2021-03-311-9/+9
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: mark AT_SYS_M4DIR variable as @DEFAULT_UNSETSam James2021-03-311-0/+1
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: mark WANT_AUTO*, AUTOTOOLS_AUTO_DEPEND as @PRE_INHERITSam James2021-03-311-0/+4
| | | | | | | These must be defined before the point of inherit because *DEPEND in the eclass (depending on these) in global scope. Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: mark AT_M4DIR as @DEFAULT_UNSETSam James2021-03-311-0/+1
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* autotools.eclass: config_rpath_update(): Fix path to config.rpath.Arfrever Frehtes Taifersar Arahesis2021-03-211-1/+10
| | | | | | Closes: https://bugs.gentoo.org/775914 Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* autotools.eclass: Rename gnuconfig variable to _gnuconfigLars Wendler2021-01-121-4/+4
| | | | Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
* autotools.eclass: Updated _LATEST_AUTOMAKE variableLars Wendler2021-01-111-1/+3
| | | | | Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/19034
* autotools.eclass: Introduce AT_NOEAUTOHEADER variableLars Wendler2021-01-111-2/+8
| | | | | | | | | | Sometimes packages get their headers being broken by autoheader (see media-libs/freetype for example) or get unwanted defines added (see media-libs/libsdl2). In that case we want to run eautoreconf without call to eautoheader. Bug: https://bugs.gentoo.org/764959 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
* eclass: [QA] Revert multiple meaningless doc changesMichał Górny2020-12-281-104/+6
| | | | | | | | | | | Revert multiple meaningless eclass documentation changes, notably adding a lot of placeholders and documenting implementation details. These changes were aimed at silencing (valid) documentation warnings without actually providing valuable documentation to the end users. While some of these changes were beneficial, it would take a lot of effort to review them all and the author is unwilling to fix his mistakes. Signed-off-by: Michał Górny <mgorny@gentoo.org>