commit: 23563cc79951888cd3334ec4a5c261d73a411830 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Sun Feb 22 17:48:28 2026 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sun Feb 22 17:51:44 2026 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=23563cc7
sys-apps/gawk: add 5.4.0 Decided not to add a USE=debug for: +9. Assertions in the C code are now enabled. To disable them, manually + edit the various Makefiles after running configure and before + running make. You will need to add -DNDEBUG to the CFLAGS variable. because it was enabled to avoid serious problems at runtime: https://lists.gnu.org/archive/html/bug-gawk/2025-10/msg00042.html (There was another discussion but I can't find it now.) I also think a default-on USE=debug would confuse people, so just go with the upstream default. Signed-off-by: Sam James <sam <AT> gentoo.org> sys-apps/gawk/Manifest | 2 + sys-apps/gawk/gawk-5.4.0.ebuild | 112 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 114 insertions(+) diff --git a/sys-apps/gawk/Manifest b/sys-apps/gawk/Manifest index 0efcc0864953..eae7dfd53138 100644 --- a/sys-apps/gawk/Manifest +++ b/sys-apps/gawk/Manifest @@ -2,3 +2,5 @@ DIST gawk-5.3.2.tar.xz 3749260 BLAKE2B 8536777bb45c63d737ef08b3f1b98285cb29ec544 DIST gawk-5.3.2.tar.xz.sig 488 BLAKE2B ea843fce8ca2b93a8006260e8022f3426daccc18b93bd75ef1fb18e391ce110a10682e75509d771ba9c419d1e22a584f66ff9a436512b76b039a85afed6c7596 SHA512 490f29271d06f374e25e13724f5944215734d0c6da465da5b2a723e83fa31a03c7a16e5c8853465561bc0676139588b1046c598554ccde4ae24563455ee28b65 DIST gawk-5.3.66.tar.gz 6631201 BLAKE2B 5bf2151f3f75b0239c94cfbfdbc8d767871cfafa5f595ca91cb2ffc504f2673a186405bd9ea051a6f872a6a8bfd0346b0987e5d807f9e8bea2b8e6396e62b00b SHA512 03af8ad55dcb29ab61ad5cf7871e463f8f9582232d54ac04646a1694d1c362619079c923270716ef104902e0dab8f55718563329ae7534efeb337ce9010606db DIST gawk-5.3.67.tar.gz 6636798 BLAKE2B 42e0d20b36e72f5568acb049b9005a7468bd969197620f18abf61d813243b5dd3b192a46ce2ebca2acb9249d3adc24b754b9e7254b8b41bb1ef054b6eaa5363d SHA512 13ecb3784fc57a07e6eba6086c2c80f7829e63ac23649c1fc6dda1546d7fba82049f8280a1149b70685cad7422ec7c34b8220b864f4d19e4fd86a03bc898fd9e +DIST gawk-5.4.0.tar.xz 3803276 BLAKE2B ce326dc386e62d288c4fe1268ba493f9c3a1e8af7dec90f95b2942588370f5a3538837d71dc4208534ace2aa84fce46ab6d5d681451b560fdf884aaf1b89fb11 SHA512 b212c6ffd235d5e7f98f0cae5a4fbe9a7139c420400710a747dc2c33dcbda445adc2f6f8ebab330c52c432da67b92be1806c628d261db826a72c89011b2d9d77 +DIST gawk-5.4.0.tar.xz.sig 488 BLAKE2B 7e2c6e6fadba3fdd758563221c2f45b45512262f5f7ca49b6bf60993fc59825c7be7d526e8f014e0bc0304b74a07182d0701817db6726bafc5106c27f5687d3b SHA512 428a35d7183032fa58eb6edcc8b352c956218086476d42b1f1064cdec58c1e233ec421559e859f4a5df235709c932e88b54303081b549e9ced3a82c4abaaf030 diff --git a/sys-apps/gawk/gawk-5.4.0.ebuild b/sys-apps/gawk/gawk-5.4.0.ebuild new file mode 100644 index 000000000000..2682721d84e6 --- /dev/null +++ b/sys-apps/gawk/gawk-5.4.0.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +GAWK_IS_BETA=no + +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 flag-o-matic + + 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 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +fi + +LICENSE="GPL-3+ pma? ( AGPL-3+ )" +SLOT="0" +# The gawk docs claim MPFR support is "on parole" and may be removed, +# https://www.gnu.org/software/gawk/manual/html_node/MPFR-On-Parole.html +# however this is somewhat outdated information, see +# https://public-inbox.org/libc-alpha/[email protected]/ +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 + +src_prepare() { + default + + use elibc_musl && append-cppflags -D__GNU_LIBRARY__ + + # 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 +}
