diff options
Diffstat (limited to 'meta/recipes-extended/gawk')
-rw-r--r-- | meta/recipes-extended/gawk/gawk/run-ptest | 29 | ||||
-rw-r--r-- | meta/recipes-extended/gawk/gawk_4.2.0.bb | 48 | ||||
-rw-r--r-- | meta/recipes-extended/gawk/gawk_5.3.0.bb | 87 |
3 files changed, 110 insertions, 54 deletions
diff --git a/meta/recipes-extended/gawk/gawk/run-ptest b/meta/recipes-extended/gawk/gawk/run-ptest index d23f0bf6d7..f4ef3e7bd4 100644 --- a/meta/recipes-extended/gawk/gawk/run-ptest +++ b/meta/recipes-extended/gawk/gawk/run-ptest @@ -1,10 +1,27 @@ #!/bin/sh cd test -for i in `grep -vE "@|^$|#|Gt-dummy" Maketests |awk -F: '{print $1}'`; \ - do LC_ALL=${GAWKLOCALE:-C} LANG=${GAWKLOCALE:-C} srcdir=`pwd` AWK=gawk CMP=cmp \ - make -f Maketests $i >$i.tmp 2>&1; \ - grep -q "Error" $i.tmp; \ - if [ $? -eq 0 ]; then echo "FAIL: $i"; \ - else echo "PASS: $i"; rm -f $i.tmp; fi; \ +for i in `grep -E "^[a-z0-9_-]*:$" Maketests |awk -F: '{print $1}'`; do + unset LANG + grep -q "^$i$" skipped.txt + if [ $? -eq 0 ]; then + echo "SKIP: $i" + continue + fi + srcdir=`pwd` AWKPROG=gawk AWK=gawk CMP=cmp make -f Maketests $i >$i.tmp 2>&1 + if [ -e _$i ]; then + cat _$i + grep -q "support not compiled in" _$i + if [ $? -eq 0 ]; then + echo "SKIP: $i" + continue + fi + fi + grep -q "Error" $i.tmp + if [ $? -eq 0 ]; then + echo "FAIL: $i" + else + echo "PASS: $i" + rm -f $i.tmp + fi done diff --git a/meta/recipes-extended/gawk/gawk_4.2.0.bb b/meta/recipes-extended/gawk/gawk_4.2.0.bb deleted file mode 100644 index 27f79a2bed..0000000000 --- a/meta/recipes-extended/gawk/gawk_4.2.0.bb +++ /dev/null @@ -1,48 +0,0 @@ -SUMMARY = "GNU awk text processing utility" -DESCRIPTION = "The GNU version of awk, a text processing utility. \ -Awk interprets a special-purpose programming language to do \ -quick and easy text pattern matching and reformatting jobs." -HOMEPAGE = "https://www.gnu.org/software/gawk/" -BUGTRACKER = "bug-gawk@gnu.org" -SECTION = "console/utils" - -# gawk <= 3.1.5: GPLv2 -# gawk >= 3.1.6: GPLv3 -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -DEPENDS += "readline" - -PACKAGECONFIG[mpfr] = "--with-mpfr,--without-mpfr, mpfr" - -SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \ - file://run-ptest \ -" - -SRC_URI[md5sum] = "0b598c31bc703d66082bd958d4189980" -SRC_URI[sha256sum] = "c88046c6e8396ee548bcb941e16def809b7b55b60a1044b5dd254094f347c7d9" - -inherit autotools gettext texinfo update-alternatives - -FILES_${PN} += "${datadir}/awk" -FILES_${PN}-dev += "${libdir}/${BPN}/*.la" - -ALTERNATIVE_${PN} = "awk" -ALTERNATIVE_TARGET[awk] = "${bindir}/gawk" -ALTERNATIVE_PRIORITY = "100" - -do_install_append() { - # remove the link since we don't package it - rm ${D}${bindir}/awk -} - -inherit ptest - -do_install_ptest() { - mkdir ${D}${PTEST_PATH}/test - for i in `grep -vE "@|^$|#|Gt-dummy" ${S}/test/Maketests |awk -F: '{print $1}'` Maketests inclib.awk; \ - do cp ${S}/test/$i* ${D}${PTEST_PATH}/test; \ - done -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-extended/gawk/gawk_5.3.0.bb b/meta/recipes-extended/gawk/gawk_5.3.0.bb new file mode 100644 index 0000000000..d7a0fc616d --- /dev/null +++ b/meta/recipes-extended/gawk/gawk_5.3.0.bb @@ -0,0 +1,87 @@ +SUMMARY = "GNU awk text processing utility" +DESCRIPTION = "The GNU version of awk, a text processing utility. \ +Awk interprets a special-purpose programming language to do \ +quick and easy text pattern matching and reformatting jobs." +HOMEPAGE = "https://www.gnu.org/software/gawk/" +BUGTRACKER = "bug-gawk@gnu.org" +SECTION = "console/utils" + +# gawk <= 3.1.5: GPL-2.0-only +# gawk >= 3.1.6: GPL-3.0-only +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +PACKAGECONFIG ??= "readline" +PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" +PACKAGECONFIG[mpfr] = "--with-mpfr,--without-mpfr, mpfr" + +SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \ + file://run-ptest \ + " + +SRC_URI[sha256sum] = "378f8864ec21cfceaa048f7e1869ac9b4597b449087caf1eb55e440d30273336" + +inherit autotools gettext texinfo update-alternatives + +FILES:${PN} += "${datadir}/awk" +FILES:${PN}-dev += "${libdir}/${BPN}/*.la" + +PACKAGES =+ "${PN}-gawkbug" +FILES:${PN}-gawkbug += "${bindir}/gawkbug" + +ALTERNATIVE:${PN} = "awk" +ALTERNATIVE_TARGET[awk] = "${bindir}/gawk" +ALTERNATIVE_PRIORITY = "100" + +do_install:append() { + # remove the link since we don't package it + rm ${D}${bindir}/awk + # Strip non-reproducible build flags (containing build paths) + sed -i -e 's|^CC.*|CC=""|g' -e 's|^CFLAGS.*|CFLAGS=""|g' ${D}${bindir}/gawkbug +} + +inherit ptest + +do_install_ptest() { + mkdir ${D}${PTEST_PATH}/test + ln -s ${bindir}/gawk ${D}${PTEST_PATH}/gawk + # The list of tests is all targets in Maketests, apart from the dummy Gt-dummy + TESTS=$(awk -F: '$1 == "Gt-dummy" { next } /[[:alnum:]]+:$/ { print $1 }' ${S}/test/Maketests) + for i in $TESTS Maketests inclib.awk; do + cp ${S}/test/$i* ${D}${PTEST_PATH}/test + done + sed -i \ + -e 's|#!${base_bindir}/awk|#!${bindir}/awk|g' ${D}${PTEST_PATH}/test/*.awk + + sed -i -e "s|GAWKLOCALE|LANG|g" ${D}${PTEST_PATH}/test/Maketests + + # These tests require an unloaded host as otherwise timing sensitive tests can fail + # https://bugzilla.yoctoproject.org/show_bug.cgi?id=14371 + rm -f ${D}${PTEST_PATH}/test/time.* + rm -f ${D}${PTEST_PATH}/test/timeout.* + for t in time timeout; do + echo $t >> ${D}${PTEST_PATH}/test/skipped.txt + done +} + +do_install_ptest:append:libc-musl() { + # Reported https://lists.gnu.org/archive/html/bug-gawk/2021-02/msg00005.html + rm -f ${D}${PTEST_PATH}/test/clos1way6.* + # Needs en_US.UTF-8 but then does not work with musl + rm -f ${D}${PTEST_PATH}/test/backsmalls1.* + # Needs en_US.UTF-8 but then does not work with musl + rm -f ${D}${PTEST_PATH}/test/commas.* + # The below two need LANG=C inside the make rule for musl + rm -f ${D}${PTEST_PATH}/test/rebt8b1.* + rm -f ${D}${PTEST_PATH}/test/regx8bit.* + for t in clos1way6 backsmalls1 commas rebt8b1 regx8bit; do + echo $t >> ${D}${PTEST_PATH}/test/skipped.txt + done +} + +RDEPENDS:${PN}-ptest += "make locale-base-en-us coreutils" + +RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-en-us.iso-8859-1" +RDEPENDS:${PN}-ptest:append:libc-musl = " musl-locales" + +BBCLASSEXTEND = "native nativesdk" |