diff --git a/internal/rosa/package/gawk/broken-tests.patch b/internal/rosa/package/gawk/broken-tests.patch new file mode 100644 index 00000000..f62af1bf --- /dev/null +++ b/internal/rosa/package/gawk/broken-tests.patch @@ -0,0 +1,77 @@ +diff --git a/test/Makefile.am b/test/Makefile.am +index b7d00100f..c16cfe382 100644 +--- a/test/Makefile.am ++++ b/test/Makefile.am +@@ -1693,7 +1693,7 @@ LOCALE_CHARSET_TESTS = \ + SHLIB_TESTS = \ + apiterm filefuncs fnmatch fork fork2 fts functab4 functab5 \ + getfile indirectbuiltin2 inplace1 inplace2 inplace2bcomp inplace3 \ +- inplace3bcomp ordchr ordchr2 readall readdir readdir_retest \ ++ inplace3bcomp ordchr ordchr2 readall readdir_retest \ + readdir_test readfile readfile2 revout revtwoway rwarray \ + testext time + +@@ -2552,20 +2552,6 @@ getfile: + @-AWKPATH="$(srcdir)" $(AWK) -v TESTEXT_QUIET=1 -ltestext -f $@.awk < $(srcdir)/$@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ + +-readdir: +- @echo $@ +- @-if [ "`uname`" = Linux ] && [ "`stat -f . 2>/dev/null | awk 'NR == 2 { print $$NF }'`" = nfs ]; then \ +- echo This test may fail on GNU/Linux systems when run on NFS or JFS filesystems.; \ +- echo If it does, try rerunning on an ext'[234]' filesystem. ; \ +- fi +- @-$(AWK) -f "$(srcdir)"/readdir.awk "$(top_srcdir)" > _$@ || echo EXIT CODE: $$? >> _$@ +- @-ls -afi "$(top_srcdir)" > _dirlist +- @-ls -lna "$(top_srcdir)" | sed 1d > _longlist +- @-$(AWK) -f "$(srcdir)"/readdir0.awk -v extout=_$@ \ +- -v dirlist=_dirlist -v longlist=_longlist > $@.ok +- @-rm -f _dirlist _longlist +- @-$(CMP) $@.ok _$@ && rm -f $@.ok _$@ +- + readdir_test: + @echo $@ + @-$(AWK) -lreaddir -F/ '{printf "[%s] [%s] [%s] [%s]\n", $$1, $$2, $$3, $$4}' "$(top_srcdir)" > $@.ok +diff --git a/test/Makefile.in b/test/Makefile.in +index 9f130d256..373447ed7 100644 +--- a/test/Makefile.in ++++ b/test/Makefile.in +@@ -1953,7 +1953,7 @@ LOCALE_CHARSET_TESTS = \ + SHLIB_TESTS = \ + apiterm filefuncs fnmatch fork fork2 fts functab4 functab5 \ + getfile indirectbuiltin2 inplace1 inplace2 inplace2bcomp inplace3 \ +- inplace3bcomp ordchr ordchr2 readall readdir readdir_retest \ ++ inplace3bcomp ordchr ordchr2 readall readdir_retest \ + readdir_test readfile readfile2 revout revtwoway rwarray \ + testext time + +@@ -3003,20 +3003,6 @@ getfile: + @-AWKPATH="$(srcdir)" $(AWK) -v TESTEXT_QUIET=1 -ltestext -f $@.awk < $(srcdir)/$@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ + +-readdir: +- @echo $@ +- @-if [ "`uname`" = Linux ] && [ "`stat -f . 2>/dev/null | awk 'NR == 2 { print $$NF }'`" = nfs ]; then \ +- echo This test may fail on GNU/Linux systems when run on NFS or JFS filesystems.; \ +- echo If it does, try rerunning on an ext'[234]' filesystem. ; \ +- fi +- @-$(AWK) -f "$(srcdir)"/readdir.awk "$(top_srcdir)" > _$@ || echo EXIT CODE: $$? >> _$@ +- @-ls -afi "$(top_srcdir)" > _dirlist +- @-ls -lna "$(top_srcdir)" | sed 1d > _longlist +- @-$(AWK) -f "$(srcdir)"/readdir0.awk -v extout=_$@ \ +- -v dirlist=_dirlist -v longlist=_longlist > $@.ok +- @-rm -f _dirlist _longlist +- @-$(CMP) $@.ok _$@ && rm -f $@.ok _$@ +- + readdir_test: + @echo $@ + @-$(AWK) -lreaddir -F/ '{printf "[%s] [%s] [%s] [%s]\n", $$1, $$2, $$3, $$4}' "$(top_srcdir)" > $@.ok +diff --git a/test/clos1way6.ok b/test/clos1way6.ok +index 5768617d3..be4d73e79 100644 +--- a/test/clos1way6.ok ++++ b/test/clos1way6.ok +@@ -1,3 +1,3 @@ + gawk: clos1way6.awk:5: warning: fflush: cannot flush: two-way pipe `cat - 1>&2; sleep 2' has closed write end +-test1 + Bad file descriptor ++test1 diff --git a/internal/rosa/package/gawk/musl-errno.patch b/internal/rosa/package/gawk/musl-errno.patch new file mode 100644 index 00000000..7949fec3 --- /dev/null +++ b/internal/rosa/package/gawk/musl-errno.patch @@ -0,0 +1,39 @@ +diff --git a/test/testext-mpfr.ok b/test/testext-mpfr.ok +index 6a5f98147..adf8685e2 100644 +--- a/test/testext-mpfr.ok ++++ b/test/testext-mpfr.ok +@@ -21,7 +21,7 @@ var_test: sym_update of ARGC failed - correctly + var_test: sym_update("testvar") succeeded + var_test() returned 1, test_var = 42 + +-test_errno() returned 1, ERRNO = No child processes ++test_errno() returned 1, ERRNO = No child process + + fubar = 9 + rumpus = -5 +diff --git a/test/testext.ok b/test/testext.ok +index 3e0c1328c..11d150fe3 100644 +--- a/test/testext.ok ++++ b/test/testext.ok +@@ -21,7 +21,7 @@ var_test: sym_update of ARGC failed - correctly + var_test: sym_update("testvar") succeeded + var_test() returned 1, test_var = 42 + +-test_errno() returned 1, ERRNO = No child processes ++test_errno() returned 1, ERRNO = No child process + + fubar = 9 + rumpus = -5 +diff --git a/vms/vmstest.com b/vms/vmstest.com +index a042764b1..c47984e38 100644 +--- a/vms/vmstest.com ++++ b/vms/vmstest.com +@@ -917,7 +917,7 @@ $ set noOn + $ AWKLIBPATH_dir + $ gawk -f _'test'.awk >_'test'.tmp 2>&1 + $ if .not. $status then call exit_code '$status' _'test'.tmp +-$ gawk "{gsub(""no children"",""No child processes"")}1" - ++$ gawk "{gsub(""no children"",""No child process"")}1" - + _'test'.tmp >_'test'.tmp1 + $ rm sys$disk:[]_'test'.tmp;* + $ mv sys$disk:[]_'test'.tmp1 sys$disk:[]_'test'.tmp diff --git a/internal/rosa/package/gawk/package.az b/internal/rosa/package/gawk/package.az new file mode 100644 index 00000000..b4abb2f6 --- /dev/null +++ b/internal/rosa/package/gawk/package.az @@ -0,0 +1,23 @@ +package gawk { + description = "an implementation of awk with GNU extensions"; + website = "https://www.gnu.org/software/gawk"; + anitya = 868; + + version# = "5.4.0"; + source = remoteTar { + url = "https://ftpmirror.gnu.org/gnu/gawk/gawk-"+version+".tar.gz"; + checksum = "m0RkIolC-PI7EY5q8pcx5Y-0twlIW0Yp3wXXmV-QaHorSdf8BhZ7kW9F8iWomz0C"; + compress = gzip; + }; + patches = [ + "musl-errno.patch", + "broken-tests.patch", + ]; + + exec = make {}; + + inputs = [ + diffutils, + util-linux, + ]; +}