diff --git a/main/gawk/APKBUILD b/main/gawk/APKBUILD index adcb1d6c7fc..390e64f967a 100644 --- a/main/gawk/APKBUILD +++ b/main/gawk/APKBUILD @@ -3,8 +3,8 @@ # Contributor: Bartłomiej Piotrowski # Contributor: TBK pkgname=gawk -pkgver=5.3.0 -pkgrel=1 +pkgver=5.3.1 +pkgrel=0 pkgdesc="GNU awk pattern-matching language" url="https://www.gnu.org/software/gawk/gawk.html" arch="all" @@ -13,7 +13,6 @@ checkdepends="coreutils diffutils" subpackages="$pkgname-doc" source="https://ftp.gnu.org/gnu/gawk/gawk-$pkgver.tar.xz echild-strerror.patch - fix-str2wstr.patch " case "$CARCH" in @@ -52,7 +51,6 @@ package() { } sha512sums=" -c274a62c7420e7b7769b8ed94db40024bd5917ff49bd50a77ad6df1f16ecf116968aaf85da94015479466bf5570b370b6fdd197f95212ae0c3509dfcb7d9e35a gawk-5.3.0.tar.xz +c6b4c50ce565e6355ca162955072471e37541c51855c0011e834243a7390db8811344b0c974335844770e408e1f63d72d0d81459a081c392e0245c726019eaff gawk-5.3.1.tar.xz 5bbb175da2d93c9c1d422a4e5a2c2400486c0204929ac6771bf2c2effbee37b84ef9441821a47e1fdc4a337e3cb8ad92cb67d473822876ea790dd373822d4dbd echild-strerror.patch -5038182b65d4ae3224a96371e5aec5fa73dc863508c5ad7e2c569cea5b87a30ce401925845276d5ee827d4dda98732b7ce075e3cf900df6e91de3b995da87970 fix-str2wstr.patch " diff --git a/main/gawk/fix-str2wstr.patch b/main/gawk/fix-str2wstr.patch deleted file mode 100644 index 078ba8b1c74..00000000000 --- a/main/gawk/fix-str2wstr.patch +++ /dev/null @@ -1,193 +0,0 @@ -https://bugs.gentoo.org/921503 -https://lists.gnu.org/archive/html/bug-gawk/2024-01/msg00013.html -https://git.savannah.gnu.org/cgit/gawk.git/commit/?h=gawk-5.3-stable&id=e05040b5d81b5a0e809fc56df2a7c3d654c77e1d - -From e05040b5d81b5a0e809fc56df2a7c3d654c77e1d Mon Sep 17 00:00:00 2001 -From: "Arnold D. Robbins" -Date: Sun, 28 Jan 2024 20:24:09 +0200 -Subject: Bug fix in str2wstr. - ---- - node.c | 26 ++++++++++++++------------ - pc/Makefile.tst | 6 ++++++ - test/Makefile.am | 5 ++++- - test/Makefile.in | 10 +++++++++- - test/Maketests | 5 +++++ - test/match4.awk | 1 + - test/match4.ok | 1 + - 10 files changed, 56 insertions(+), 14 deletions(-) - create mode 100644 test/match4.awk - create mode 100644 test/match4.ok - -diff --git a/node.c b/node.c -index de12f05..5aac5e8 100644 ---- a/node.c -+++ b/node.c -@@ -816,6 +816,20 @@ str2wstr(NODE *n, size_t **ptr) - assert((n->flags & (STRING|STRCUR)) != 0); - - /* -+ * For use by do_match, create and fill in an array. -+ * For each byte `i' in n->stptr (the original string), -+ * a[i] is equal to `j', where `j' is the corresponding wchar_t -+ * in the converted wide string. -+ * -+ * This is needed even for Nnull_string or Null_field. -+ * -+ * Create the array. -+ */ -+ if (ptr != NULL) { -+ ezalloc(*ptr, size_t *, sizeof(size_t) * (n->stlen + 1), "str2wstr"); -+ } -+ -+ /* - * Don't convert global null string or global null field - * variables to a wide string. They are both zero-length anyway. - * This also avoids future double-free errors while releasing -@@ -848,18 +862,6 @@ str2wstr(NODE *n, size_t **ptr) - emalloc(n->wstptr, wchar_t *, sizeof(wchar_t) * (n->stlen + 1), "str2wstr"); - wsp = n->wstptr; - -- /* -- * For use by do_match, create and fill in an array. -- * For each byte `i' in n->stptr (the original string), -- * a[i] is equal to `j', where `j' is the corresponding wchar_t -- * in the converted wide string. -- * -- * Create the array. -- */ -- if (ptr != NULL) { -- ezalloc(*ptr, size_t *, sizeof(size_t) * (n->stlen + 1), "str2wstr"); -- } -- - sp = n->stptr; - src_count = n->stlen; - memset(& mbs, 0, sizeof(mbs)); -diff --git a/pc/Makefile.tst b/pc/Makefile.tst -index daf3c56..9ab61c7 100644 ---- a/pc/Makefile.tst -+++ b/pc/Makefile.tst -@@ -180,6 +180,7 @@ BASIC_TESTS = \ - substr swaplns synerr1 synerr2 synerr3 tailrecurse tradanch \ - trailbs tweakfld uninit2 uninit3 uninit4 uninit5 uninitialized \ - unterm uparrfs uplus wideidx wideidx2 widesub widesub2 widesub3 \ -+ match4 \ - widesub4 wjposer1 zero2 zeroe0 zeroflag - - UNIX_TESTS = \ -@@ -2602,6 +2603,11 @@ widesub3: - AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ - @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ - -+match4: -+ @echo $@ -+ @-AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ -+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ -+ - widesub4: - @echo $@ $(ZOS_FAIL) - @-[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=ENU_USA.1252; export GAWKLOCALE; \ -diff --git a/test/Makefile.am b/test/Makefile.am -index a876b3a..e1e1f3f 100644 ---- a/test/Makefile.am -+++ b/test/Makefile.am -@@ -1,7 +1,7 @@ - # - # test/Makefile.am --- automake input file for gawk - # --# Copyright (C) 1988-2023 the Free Software Foundation, Inc. -+# Copyright (C) 1988-2024 the Free Software Foundation, Inc. - # - # This file is part of GAWK, the GNU implementation of the - # AWK Programming Language. -@@ -763,6 +763,8 @@ EXTRA_DIST = \ - match3.awk \ - match3.in \ - match3.ok \ -+ match4.awk \ -+ match4.ok \ - math.awk \ - math.ok \ - mbfw1.awk \ -@@ -1544,6 +1546,7 @@ BASIC_TESTS = \ - substr swaplns synerr1 synerr2 synerr3 tailrecurse tradanch \ - trailbs tweakfld uninit2 uninit3 uninit4 uninit5 uninitialized \ - unterm uparrfs uplus wideidx wideidx2 widesub widesub2 widesub3 \ -+ match4 \ - widesub4 wjposer1 zero2 zeroe0 zeroflag - - UNIX_TESTS = \ -diff --git a/test/Makefile.in b/test/Makefile.in -index 1ef143f..681a85b 100644 ---- a/test/Makefile.in -+++ b/test/Makefile.in -@@ -17,7 +17,7 @@ - # - # test/Makefile.am --- automake input file for gawk - # --# Copyright (C) 1988-2023 the Free Software Foundation, Inc. -+# Copyright (C) 1988-2024 the Free Software Foundation, Inc. - # - # This file is part of GAWK, the GNU implementation of the - # AWK Programming Language. -@@ -1027,6 +1027,8 @@ EXTRA_DIST = \ - match3.awk \ - match3.in \ - match3.ok \ -+ match4.awk \ -+ match4.ok \ - math.awk \ - math.ok \ - mbfw1.awk \ -@@ -1808,6 +1810,7 @@ BASIC_TESTS = \ - substr swaplns synerr1 synerr2 synerr3 tailrecurse tradanch \ - trailbs tweakfld uninit2 uninit3 uninit4 uninit5 uninitialized \ - unterm uparrfs uplus wideidx wideidx2 widesub widesub2 widesub3 \ -+ match4 \ - widesub4 wjposer1 zero2 zeroe0 zeroflag - - UNIX_TESTS = \ -@@ -4414,6 +4417,11 @@ widesub3: - AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ - @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ - -+match4: -+ @echo $@ -+ @-AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ -+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ -+ - widesub4: - @echo $@ $(ZOS_FAIL) - @-[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; export GAWKLOCALE; \ -diff --git a/test/Maketests b/test/Maketests -index bac220f..9a00140 100644 ---- a/test/Maketests -+++ b/test/Maketests -@@ -1288,6 +1288,11 @@ widesub3: - AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ - @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ - -+match4: -+ @echo $@ -+ @-AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ -+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ -+ - widesub4: - @echo $@ $(ZOS_FAIL) - @-[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; export GAWKLOCALE; \ -diff --git a/test/match4.awk b/test/match4.awk -new file mode 100644 -index 0000000..e50150a ---- /dev/null -+++ b/test/match4.awk -@@ -0,0 +1 @@ -+BEGIN { print match (m, /a?/) } -diff --git a/test/match4.ok b/test/match4.ok -new file mode 100644 -index 0000000..d00491f ---- /dev/null -+++ b/test/match4.ok -@@ -0,0 +1 @@ -+1 --- -cgit v1.1