mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-09 22:16:58 +02:00
sys-apps/gawk: Sync with Gentoo
It's from Gentoo commit 6f8ef094bd4fb0dfaf7ab70fc79fc826eb0540b8.
This commit is contained in:
parent
92c834a8b0
commit
a67a063791
193
sdk_container/src/third_party/portage-stable/sys-apps/gawk/files/gawk-5.3.0-str2wstr.patch
vendored
Normal file
193
sdk_container/src/third_party/portage-stable/sys-apps/gawk/files/gawk-5.3.0-str2wstr.patch
vendored
Normal file
@ -0,0 +1,193 @@
|
||||
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" <arnold@skeeve.com>
|
||||
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
|
140
sdk_container/src/third_party/portage-stable/sys-apps/gawk/gawk-5.3.0-r1.ebuild
vendored
Normal file
140
sdk_container/src/third_party/portage-stable/sys-apps/gawk/gawk-5.3.0-r1.ebuild
vendored
Normal file
@ -0,0 +1,140 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
#GAWK_IS_BETA=yes
|
||||
|
||||
DESCRIPTION="GNU awk pattern-matching language"
|
||||
HOMEPAGE="https://www.gnu.org/software/gawk/gawk.html"
|
||||
|
||||
if [[ ${GAWK_IS_BETA} == yes || ${PV} == *_beta* ]] ; then
|
||||
if [[ ${PV} == *_beta* ]] ; then
|
||||
# Beta versioning is sometimes for the release prior, e.g.
|
||||
# 5.2.1_beta is labelled upstream as 5.2.0b.
|
||||
MY_PV=${PV/_beta/b}
|
||||
MY_PV=$(ver_cut 1-2 ${MY_PV}).$(($(ver_cut 3 ${MY_PV}) - 1))$(ver_cut 4- ${MY_PV})
|
||||
MY_P=${PN}-${MY_PV}
|
||||
|
||||
S="${WORKDIR}"/${MY_P}
|
||||
else
|
||||
MY_P=${P}
|
||||
fi
|
||||
|
||||
SRC_URI="https://www.skeeve.com/gawk/${MY_P}.tar.gz"
|
||||
else
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gawk.asc
|
||||
inherit verify-sig
|
||||
|
||||
SRC_URI="mirror://gnu/gawk/${P}.tar.xz"
|
||||
SRC_URI+=" verify-sig? ( mirror://gnu/gawk/${P}.tar.xz.sig )"
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
# While tempting to enable mpfr by default as e.g. Fedora do, as of 5.2.x,
|
||||
# MPFR support is "on parole" and may be removed:
|
||||
# https://www.gnu.org/software/gawk/manual/html_node/MPFR-On-Parole.html.
|
||||
IUSE="mpfr pma nls readline"
|
||||
|
||||
RDEPEND="
|
||||
mpfr? (
|
||||
dev-libs/gmp:=
|
||||
dev-libs/mpfr:=
|
||||
)
|
||||
readline? ( sys-libs/readline:= )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
>=sys-apps/texinfo-7.1
|
||||
>=sys-devel/bison-3.5.4
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
|
||||
if [[ ${GAWK_IS_BETA} != yes ]] ; then
|
||||
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-gawk )"
|
||||
fi
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-str2wstr.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Use symlinks rather than hardlinks, and disable version links
|
||||
sed -i \
|
||||
-e '/^LN =/s:=.*:= $(LN_S):' \
|
||||
-e '/install-exec-hook:/s|$|\nfoo:|' \
|
||||
Makefile.in doc/Makefile.in || die
|
||||
|
||||
# bug #413327
|
||||
sed -i '/^pty1:$/s|$|\n_pty1:|' test/Makefile.in || die
|
||||
|
||||
# Fix standards conflict on Solaris
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
sed -i \
|
||||
-e '/\<_XOPEN_SOURCE\>/s/1$/600/' \
|
||||
-e '/\<_XOPEN_SOURCE_EXTENDED\>/s/1//' \
|
||||
extension/inplace.c || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# README says gawk may not work properly if built with non-Bison.
|
||||
# We already BDEPEND on Bison, so just unset YACC rather than
|
||||
# guessing if we need to do yacc.bison or bison -y.
|
||||
unset YACC
|
||||
|
||||
local myeconfargs=(
|
||||
--cache-file="${S}"/config.cache
|
||||
--libexec='$(libdir)/misc'
|
||||
$(use_with mpfr)
|
||||
$(use_enable nls)
|
||||
$(use_enable pma)
|
||||
$(use_with readline)
|
||||
)
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Automatic dodocs barfs
|
||||
rm -rf README_d || die
|
||||
|
||||
default
|
||||
|
||||
# Install headers
|
||||
insinto /usr/include/awk
|
||||
doins *.h
|
||||
rm "${ED}"/usr/include/awk/config.h || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Symlink creation here as the links do not belong to gawk, but to any awk
|
||||
if has_version app-admin/eselect && has_version app-eselect/eselect-awk ; then
|
||||
eselect awk update ifunset
|
||||
else
|
||||
local l
|
||||
for l in "${EROOT}"/usr/share/man/man1/gawk.1* "${EROOT}"/usr/bin/gawk ; do
|
||||
if [[ -e ${l} ]] && ! [[ -e ${l/gawk/awk} ]] ; then
|
||||
ln -s "${l##*/}" "${l/gawk/awk}" || die
|
||||
fi
|
||||
done
|
||||
|
||||
if ! [[ -e ${EROOT}/bin/awk ]] ; then
|
||||
# /bin might not exist yet (stage1)
|
||||
[[ -d "${EROOT}/bin" ]] || mkdir "${EROOT}/bin" || die
|
||||
|
||||
ln -s "../usr/bin/gawk" "${EROOT}/bin/awk" || die
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
if has_version app-admin/eselect && has_version app-eselect/eselect-awk ; then
|
||||
eselect awk update ifunset
|
||||
fi
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
@ -29,7 +29,7 @@ else
|
||||
SRC_URI="mirror://gnu/gawk/${P}.tar.xz"
|
||||
SRC_URI+=" verify-sig? ( mirror://gnu/gawk/${P}.tar.xz.sig )"
|
||||
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
|
Loading…
Reference in New Issue
Block a user