autoconf: Add autoconf 2.72

All the removed patches (compared to 2.71) are included in this new release
This commit is contained in:
Christoph Reiter 2023-12-23 09:34:08 +01:00
parent 92920104fd
commit 1e012af1a5
7 changed files with 229 additions and 3 deletions

View File

@ -0,0 +1,30 @@
From 81a57fbd4c10db5f35a1ad233abd27a71f4009cf Mon Sep 17 00:00:00 2001
From: Jannick <thirdedition@gmx.net>
Date: Wed, 9 Dec 2020 00:36:38 +0100
Subject: [PATCH 1/3] autoconf-2.70-msys-specifics-AC_CYGWIN
---
lib/autoconf/specific.m4 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4
index 275938c..3ffb417 100644
--- a/lib/autoconf/specific.m4
+++ b/lib/autoconf/specific.m4
@@ -319,11 +319,11 @@ AU_DEFUN([AC_GNU_SOURCE], [AC_USE_SYSTEM_EXTENSIONS])
AU_DEFUN([AC_CYGWIN],
[AC_CANONICAL_HOST
case $host_os in
- *cygwin* ) CYGWIN=yes;;
+ *cygwin* | *msys* ) CYGWIN=yes;;
* ) CYGWIN=no;;
esac
], [$0 is obsolete: use AC_CANONICAL_HOST and check if $host_os
-matches *cygwin*])# AC_CYGWIN
+matches *cygwin* or *msys*])# AC_CYGWIN
# AC_EMXOS2
--
2.29.2.windows.2

View File

@ -0,0 +1,89 @@
From f4c17d4c349fab3a74c261c342494af7f077bf1b Mon Sep 17 00:00:00 2001
From: Jannick <thirdedition@gmx.net>
Date: Wed, 9 Dec 2020 00:43:24 +0100
Subject: [PATCH 2/3] autoconf-2.70-MSYS2-Autotest-Unify-EOLs-By-Default
This commit tackles the end-of-line (EOL) issue on Windows when running
an AUTOTEST testsuite which might compare files and/or program outputs.
This commit sets the default behaviour of any AUTOTEST testsuite generated
with AUTOCONF 2.70: When running an AUTOTEST test suite and comparing files
or program outputs, EOL differences (like LF vs CRLF) are ignored **BY
DEFAULT**, iff the program DIFF allows the flag '--strip-trailing-cr'.
In order to switch off this feature and run the testsuite mocking
differences between different EOL patterns, run the testsuite with the
environment variable 'MSYS2_AUTOTEST_NO_UNIFY_EOL' set to '1', e.g.:
tests/testsuite -C tests MSYS2_AUTOTEST_NO_UNIFY_EOL=1
* lib/autotest/general.m4:
- add the diff flag '--strip-trailing-cr' when possible and not
prohibited every time the testsuite is run.
* tests/autotest.at:
- add a test checking the interplay of 'MSYS2_AUTOTEST_NO_UNIFY_EOL'
and the difference between files with CRLF and LF.
---
lib/autotest/general.m4 | 23 +++++++++++++++++++++++
tests/autotest.at | 14 ++++++++++++++
2 files changed, 37 insertions(+)
diff --git a/lib/autotest/general.m4 b/lib/autotest/general.m4
index 0c0e3c5..12fb14a 100644
--- a/lib/autotest/general.m4
+++ b/lib/autotest/general.m4
@@ -1018,6 +1018,29 @@ else
at_diff=diff
fi
+### ------------------------------------------------- ###
+### MSYS2 patch for Windows specificity (EOL issue) ###
+### ------------------------------------------------- ###
+# By default try to treat any end of line identfier 'LF' and 'CRLF' the same
+# in testsuites when comparing files or output of programs.
+# This feature can be switched off if the testsuite script is run with the
+# environment variable 'MSYS2_AUTOTEST_NO_UNIFY_EOL' set to a non-empty string
+# other than '0', e.g. simply by setting 'MSYS2_AUTOTEST_NO_UNIFY_EOL=1'.
+# Sample calls:
+# - tests/testsuite -C tests ... Differences in EOLs are ignored
+# for file comparisons.
+# - tests/testsuite -C tests MSYS2_AUTOTEST_NO_UNIFY_EOL=1 ... EOLs do matter for file comparisons.
+case "x$MSYS2_AUTOTEST_NO_UNIFY_EOL" in
+ x|x0)
+ # Use the diff flag '--strip-trailing-cr' when possible.
+ if at_ret=`$at_diff --strip-trailing-cr "$at_devnull" "$at_devnull" 2>&1` && test -z "$at_ret"
+ then
+ at_diff="$at_diff --strip-trailing-cr"
+ fi
+ at_ret='';;
+esac
+
+
# Get the last needed group.
for at_group in : $at_groups; do :; done
diff --git a/tests/autotest.at b/tests/autotest.at
index b5a9c40..3637fc5 100644
--- a/tests/autotest.at
+++ b/tests/autotest.at
@@ -2142,3 +2142,17 @@ else
fi
AT_CLEANUP
+
+## -------------------------------------------- ##
+## MSYS patched feature: unify EOLs on Windows ##
+## -------------------------------------------- ##
+
+AT_SETUP([MSYS2: Unfiy EOLs])
+AT_KEYWORDS([msys2 windows unify.eol])
+printf "a\n" > a.LF
+printf "a\r\n" > a.CRLF
+AS_ECHO(["MSYS2_AUTOTEST_NO_UNIFY_EOL='$MSYS2_AUTOTEST_NO_UNIFY_EOL'"])
+AS_CASE(["x$MSYS2_AUTOTEST_NO_UNIFY_EOL"],
+ [x|x0],[at_ret_diff=0],[at_ret_diff=1])
+AT_CHECK([$at_diff a.LF a.CRLF],[$at_ret_diff],[stdout],[stderr])
+AT_CLEANUP
--
2.29.2.windows.2

View File

@ -0,0 +1,12 @@
--- autoconf-2.72/build-aux/config.guess.orig 2023-12-23 09:15:46.672145000 +0100
+++ autoconf-2.72/build-aux/config.guess 2023-12-23 09:16:58.657560200 +0100
@@ -954,6 +954,9 @@
amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
GUESS=x86_64-pc-cygwin
;;
+ amd64:MSYS*:*:* | x86_64:MSYS*:*:*)
+ GUESS=x86_64-unknown-msys
+ ;;
prep*:SunOS:5.*:*)
SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
GUESS=powerpcle-unknown-solaris2$SUN_REL

View File

@ -0,0 +1,11 @@
--- autoconf-2.72/configure.orig 2021-12-27 17:08:45.948999800 +0100
+++ autoconf-2.72/configure 2021-12-27 17:08:51.894818700 +0100
@@ -2214,7 +2214,7 @@
# Define the identity of the package.
- PACKAGE='autoconf'
+ PACKAGE='autoconf-2.72'
VERSION='2.72'

64
autoconf2.72/PKGBUILD Normal file
View File

@ -0,0 +1,64 @@
# Maintainer: Christoph Reiter <reiter.christoph@gmail.com>
_realname=autoconf
pkgname=${_realname}2.72
pkgver=2.72
pkgrel=1
pkgdesc="A GNU tool for automatically configuring source code"
arch=('any')
license=('spdx:GPL-2.0-or-later' 'spdx:GPL-3.0-or-later' 'spdx:Autoconf-exception-3.0')
url="https://www.gnu.org/software/autoconf"
depends=('awk' 'm4' 'diffutils' 'bash' 'perl' 'sed')
makedepends=('make')
source=(https://ftp.gnu.org/pub/gnu/${_realname}/${_realname}-${pkgver}.tar.xz
0001-autoconf-2.70-MSYS2-specifics-AC_CYGWIN.patch
0002-autoconf-2.70-MSYS2-Autotest-Unify-EOLs-By-Default.patch
0003-autoconf-2.70-MSYS2-specifics-config.guess.patch
0005-package.patch)
sha256sums=('ba885c1319578d6c94d46e9b0dceb4014caafe2490e437a0dbca3f270a223f5a'
'3a5337e2269407405ee4c7feb12dbe2ae711610c3144c07cd085272676005db6'
'c4e4952cc63a2ddaf7bf539f6e59353c4fadbf04cd48c3cfa789f8b175d0bd27'
'e3819dac51673591148e56872ad09d6c46527e7e48bc69fe9d49475fac2af179'
'5743a28cf0af0c10ec049c6d8df6801c675c9656ff623fbda5c2a29b3b15e8f4')
msys2_references=(
'archlinux: autoconf'
)
prepare() {
cd ${srcdir}/${_realname}-${pkgver}
# MSYS2
patch -p1 -i ${srcdir}/0001-autoconf-2.70-MSYS2-specifics-AC_CYGWIN.patch
patch -p1 -i ${srcdir}/0002-autoconf-2.70-MSYS2-Autotest-Unify-EOLs-By-Default.patch
patch -p1 -i ${srcdir}/0003-autoconf-2.70-MSYS2-specifics-config.guess.patch
patch -p1 -i ${srcdir}/0005-package.patch
}
build() {
mkdir -p build-${MSYSTEM} && cd build-${MSYSTEM}
../${_realname}-${pkgver}/configure \
--prefix=/usr \
--program-suffix=-2.72
make
}
check() {
cd build-${MSYSTEM}
# CAUTION: The tests run very very long, even on a server.
make check TESTSUITEFLAGS='-j16'
}
package() {
make -C build-${MSYSTEM} DESTDIR=${pkgdir} install
# license exception
install -Dm644 ${_realname}-${pkgver}/COPYING.EXCEPTION \
$pkgdir/usr/share/licenses/autoconf${pkgver}/COPYING.EXCEPTION
# Note: Remove these files once a newer autoconf is added, and add
# a versioned conflict to the old version of this package to make
# upgrades work.
# rm -rf ${pkgdir}/usr/share/info
}

View File

@ -0,0 +1,11 @@
--- autotools-wrappers/ac-wrapper.sh.orig 2023-12-23 09:24:41.791445600 +0100
+++ autotools-wrappers/ac-wrapper.sh 2023-12-23 09:25:17.970262800 +0100
@@ -79,7 +79,7 @@
# Set up bindings between actual version and WANT_AUTOCONF;
# Start with last known versions to speed up lookup process.
#
-LAST_KNOWN_VER="71"
+LAST_KNOWN_VER="72"
vers="9999"
vers="${vers} $(printf '2.%s ' `seq ${LAST_KNOWN_VER} -1 50`)"

View File

@ -3,14 +3,22 @@
pkgbase=autotools-wrappers
pkgname=('automake-wrapper' 'autoconf-wrapper' )
pkgver=20221207
pkgrel=1
pkgrel=2
arch=('any')
license=('spdx:GPL-2.0-only')
makedepends=('git')
url="https://gitweb.gentoo.org/proj/autotools-wrappers.git/"
_commit="afe80def609c91d72df73837ce2c51fed8b69f28" # at-20221207
source=("git+https://anongit.gentoo.org/git/proj/autotools-wrappers.git#commit=${_commit}")
sha256sums=('SKIP')
source=("git+https://anongit.gentoo.org/git/proj/autotools-wrappers.git#commit=${_commit}"
"0001-bump-latest-autoconf-version.patch")
sha256sums=('SKIP'
'facedfdd9a3520e58fb040d314dd64edc00c6e0e30dbcedb8dce20b347d6e73d')
prepare() {
cd "${srcdir}/${pkgbase}"
patch -Np1 -i "${srcdir}/0001-bump-latest-autoconf-version.patch"
}
package_automake-wrapper() {
pkgdesc="Wrapper scripts for automake commands"
@ -38,6 +46,7 @@ package_autoconf-wrapper() {
depends=(
'bash'
'sed'
'autoconf2.72'
'autoconf2.71'
'autoconf2.69'
'autoconf2.13')