--- a/components/gawk/Makefile Wed Jan 13 10:30:45 2016 -0800
+++ b/components/gawk/Makefile Wed Jan 13 13:09:32 2016 -0800
@@ -23,12 +23,12 @@
include ../../make-rules/shared-macros.mk
COMPONENT_NAME= gawk
-COMPONENT_VERSION= 3.1.8
+COMPONENT_VERSION= 4.1.3
COMPONENT_PROJECT_URL= http://www.gnu.org/software/gawk/
COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
-COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.bz2
+COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.xz
COMPONENT_ARCHIVE_HASH= \
- sha256:5dbc7b2c4c328711337c2aacd09a122c7313122262e3ff034590f014067412b4
+ sha256:e3cf55e91e31ea2845f8338bedd91e40671fc30e4d82ea147d220e687abda625
COMPONENT_ARCHIVE_URL= http://ftp.gnu.org/gnu/gawk/$(COMPONENT_ARCHIVE)
COMPONENT_BUGDB= utility/gawk
@@ -37,7 +37,7 @@
COMPONENT_TEST_TRANSFORMS += \
'-e "s|\(^/usr/gnu/bin/make\).*|\1|" '
-TPNO= 6808
+TPNO= 26217
include $(WS_MAKE_RULES)/prep.mk
include $(WS_MAKE_RULES)/configure.mk
@@ -66,8 +66,8 @@
# must build tests before using
system-test: build $(SYSTEM_TEST_64)
-
REQUIRED_PACKAGES += library/libsigsegv
+REQUIRED_PACKAGES += library/readline
REQUIRED_PACKAGES += shell/ksh93
REQUIRED_PACKAGES += system/library
REQUIRED_PACKAGES += system/library/math
--- a/components/gawk/gawk.p5m Wed Jan 13 10:30:45 2016 -0800
+++ b/components/gawk/gawk.p5m Wed Jan 13 13:09:32 2016 -0800
@@ -21,6 +21,9 @@
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
#
+# pkg.linted actions are needed to prevent lint errors for 64-bit binaries in
+# 32-bit path.
+<transform file path=usr/lib/gawk/.*\.so -> default pkg.linted.userland.action001.2 true>
<transform file path=usr.*/man/.+ -> default mangler.man.stability volatile>
set name=pkg.fmri value=pkg:/text/gawk@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
set name=pkg.summary value="GNU awk"
@@ -36,11 +39,23 @@
set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
link path=usr/bin/gawk target=../gnu/bin/awk facet.compat.gnulinks=true
file path=usr/bin/igawk
-file path=usr/bin/pgawk
file usr/bin/gawk path=usr/gnu/bin/awk
file usr/share/man/man1/gawk.1 path=usr/gnu/share/man/man1/awk.1
+file path=usr/include/gawkapi.h
file path=usr/lib/awk/grcat mode=0555
file path=usr/lib/awk/pwcat mode=0555
+file path=usr/lib/gawk/filefuncs.so
+file path=usr/lib/gawk/fnmatch.so
+file path=usr/lib/gawk/fork.so
+file path=usr/lib/gawk/inplace.so
+file path=usr/lib/gawk/ordchr.so
+file path=usr/lib/gawk/readdir.so
+file path=usr/lib/gawk/readfile.so
+file path=usr/lib/gawk/revoutput.so
+file path=usr/lib/gawk/revtwoway.so
+file path=usr/lib/gawk/rwarray.so
+file path=usr/lib/gawk/testext.so
+file path=usr/lib/gawk/time.so
file path=usr/share/awk/assert.awk
file path=usr/share/awk/bits2str.awk
file path=usr/share/awk/cliff_rand.awk
@@ -49,41 +64,49 @@
file path=usr/share/awk/getopt.awk
file path=usr/share/awk/gettime.awk
file path=usr/share/awk/group.awk
+file path=usr/share/awk/inplace.awk
file path=usr/share/awk/join.awk
file path=usr/share/awk/libintl.awk
-file path=usr/share/awk/nextfile.awk
file path=usr/share/awk/noassign.awk
file path=usr/share/awk/ord.awk
file path=usr/share/awk/passwd.awk
+file path=usr/share/awk/processarray.awk
+file path=usr/share/awk/quicksort.awk
file path=usr/share/awk/readable.awk
+file path=usr/share/awk/readfile.awk
file path=usr/share/awk/rewind.awk
file path=usr/share/awk/round.awk
+file path=usr/share/awk/shellquote.awk
file path=usr/share/awk/strtonum.awk
+file path=usr/share/awk/walkarray.awk
file path=usr/share/awk/zerofile.awk
file path=usr/share/info/gawk.info
file path=usr/share/info/gawkinet.info
-file path=usr/share/locale/ast/LC_MESSAGES/gawk.mo
file path=usr/share/locale/ca/LC_MESSAGES/gawk.mo
file path=usr/share/locale/da/LC_MESSAGES/gawk.mo
file path=usr/share/locale/de/LC_MESSAGES/gawk.mo
file path=usr/share/locale/es/LC_MESSAGES/gawk.mo
+file path=usr/share/locale/fi/LC_MESSAGES/gawk.mo
file path=usr/share/locale/fr/LC_MESSAGES/gawk.mo
-file path=usr/share/locale/ga/LC_MESSAGES/gawk.mo
-file path=usr/share/locale/he/LC_MESSAGES/gawk.mo
-file path=usr/share/locale/id/LC_MESSAGES/gawk.mo
file path=usr/share/locale/it/LC_MESSAGES/gawk.mo
file path=usr/share/locale/ja/LC_MESSAGES/gawk.mo
+file path=usr/share/locale/ms/LC_MESSAGES/gawk.mo
file path=usr/share/locale/nl/LC_MESSAGES/gawk.mo
file path=usr/share/locale/pl/LC_MESSAGES/gawk.mo
-file path=usr/share/locale/pt_BR/LC_MESSAGES/gawk.mo
-file path=usr/share/locale/ro/LC_MESSAGES/gawk.mo
-file path=usr/share/locale/rw/LC_MESSAGES/gawk.mo
file path=usr/share/locale/sv/LC_MESSAGES/gawk.mo
-file path=usr/share/locale/tr/LC_MESSAGES/gawk.mo
file path=usr/share/locale/vi/LC_MESSAGES/gawk.mo
-file path=usr/share/locale/zh_CN/LC_MESSAGES/gawk.mo
link path=usr/share/man/man1/gawk.1 target=../../../gnu/share/man/man1/awk.1 \
facet.compat.gnulinks=all
file path=usr/share/man/man1/igawk.1
-link path=usr/share/man/man1/pgawk.1 target=../../../gnu/share/man/man1/awk.1
+file path=usr/share/man/man3/filefuncs.3am
+file path=usr/share/man/man3/fnmatch.3am
+file path=usr/share/man/man3/fork.3am
+file path=usr/share/man/man3/inplace.3am
+file path=usr/share/man/man3/ordchr.3am
+file path=usr/share/man/man3/readdir.3am
+file path=usr/share/man/man3/readfile.3am
+file path=usr/share/man/man3/revoutput.3am
+file path=usr/share/man/man3/revtwoway.3am
+file path=usr/share/man/man3/rwarray.3am
+file path=usr/share/man/man3/time.3am
license gawk.license license="GPLv3, FDLv1.3"
--- a/components/gawk/patches/Makefile_in.patch Wed Jan 13 10:30:45 2016 -0800
+++ b/components/gawk/patches/Makefile_in.patch Wed Jan 13 13:09:32 2016 -0800
@@ -1,21 +1,14 @@
-Internally produced patch to allow both test and system-test to work.
-Will offer to upstream.
-
+Solaris specific patch to allow both test and system-test to work.
+Has been offered upstream.
---- gawk-3.1.8/test/Makefile.in_orig 2015-08-03 15:16:05.007746388 -0700
-+++ gawk-3.1.8/test/Makefile.in 2015-08-03 15:16:57.152891167 -0700
-@@ -1187,12 +1187,12 @@
+--- gawk-4.1.3/test/Makefile.in 2015-12-08 10:50:43.203348353 -0800
++++ gawk-4.1.3/test/Makefile.in 2015-12-08 10:51:00.745983630 -0800
+@@ -1695,7 +1695,7 @@ lc_num1:
# so this can still fail
poundbang::
@echo $@
-- @sed "s;/tmp/gawk;`pwd`/$(AWKPROG);" < $(srcdir)/poundbang.awk > ./_pbd.awk
-+ @sed "s;/tmp/gawk;$(AWKPROG);" < $(srcdir)/poundbang.awk > ./_pbd.awk
+- @sed "s;/tmp/gawk;`pwd`/$(AWKPROG);" < "$(srcdir)"/poundbang.awk > ./_pbd.awk
++ @sed "s;/tmp/gawk;$(AWKPROG);" < "$(srcdir)"/poundbang.awk > ./_pbd.awk
@chmod +x ./_pbd.awk
- @if ./_pbd.awk $(srcdir)/poundbang.awk > _`basename $@` ; \
+ @if ./_pbd.awk "$(srcdir)"/poundbang.awk > _`basename $@` ; \
then : ; \
- else \
-- sed "s;/tmp/gawk;../$(AWKPROG);" < $(srcdir)/poundbang.awk > ./_pbd.awk ; \
-+ sed "s;/tmp/gawk;$(AWKPROG);" < $(srcdir)/poundbang.awk > ./_pbd.awk ; \
- chmod +x ./_pbd.awk ; \
- LC_ALL=$${GAWKLOCALE:-C} LANG=$${GAWKLOCALE:-C} ./_pbd.awk $(srcdir)/poundbang.awk > _`basename $@`; \
- fi
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/gawk/patches/patch_awk.patch Wed Jan 13 13:09:32 2016 -0800
@@ -0,0 +1,15 @@
+Fix build problem with SunStudio compiler under Solaris. Patch taken
+from here:
+
+http://lists.gnu.org/archive/html/bug-gawk/2011-07/msg00008.html
+
+--- gawk-4.1.3/awk.h.orig 2013-04-07 18:54:28.000000000 +0100
++++ gawk-4.1.3/awk.h 2013-12-26 19:03:34.000000000 +0000
+@@ -69,7 +69,7 @@
+ #endif /* LOCALEDIR */
+ #endif
+
+-#if !defined(__STDC__) || __STDC__ < 1
++#if !defined(__STDC__) || __STDC__ < 1 && !defined(__EXTENSIONS__)
+ #error "gawk no longer supports non-C89 environments (no __STDC__ or __STDC__ < 1)"
+ #endif
--- a/components/gawk/test/results-64.master Wed Jan 13 10:30:45 2016 -0800
+++ b/components/gawk/test/results-64.master Wed Jan 13 13:09:32 2016 -0800
@@ -6,16 +6,23 @@
make[3]: Nothing to be done for `check-local'.
make[3]: Leaving directory `$(@D)'
make[2]: Leaving directory `$(@D)'
-Making check in awklib
-make[2]: Entering directory `$(@D)/awklib'
-make[2]: Leaving directory `$(@D)/awklib'
Making check in doc
make[2]: Entering directory `$(@D)/doc'
make[2]: Nothing to be done for `check'.
make[2]: Leaving directory `$(@D)/doc'
+Making check in awklib
+make[2]: Entering directory `$(@D)/awklib'
+make[2]: Nothing to be done for `check'.
+make[2]: Leaving directory `$(@D)/awklib'
Making check in po
make[2]: Entering directory `$(@D)/po'
+make[2]: Nothing to be done for `check'.
make[2]: Leaving directory `$(@D)/po'
+Making check in extension
+make[2]: Entering directory `$(@D)/extension'
+make[3]: Entering directory `$(@D)/extension'
+make[3]: Leaving directory `$(@D)/extension'
+make[2]: Leaving directory `$(@D)/extension'
Making check in test
make[2]: Entering directory `$(@D)/test'
@@ -55,6 +62,9 @@
awkpath
back89
backgsub
+badassign1
+badbuild
+callparam
childin
clobber
closebad
@@ -68,13 +78,18 @@
convfmt
datanonl
defref
+delargv
delarpm2
delarprm
delfunc
+dfamb1
+dfastress
dynlj
eofsplit
+exit2
exitval1
exitval2
+exitval3
fcall_exit
fcall_exit2
fldchg
@@ -98,6 +113,8 @@
getline
getline2
getline3
+getline4
+getline5
getlnbuf
getnr2tb
getnr2tm
@@ -108,8 +125,11 @@
gsubtst4
gsubtst5
gsubtst6
+gsubtst7
+gsubtst8
hex
hsprint
+inpref
inputred
intest
intprec
@@ -129,8 +149,10 @@
nasty
nasty2
negexp
+negrange
nested
nfldstr
+nfloop
nfneg
nfset
nlfldsep
@@ -149,19 +171,25 @@
numsubstr
octsub
ofmt
+ofmta
ofmtbig
ofmtfidl
ofmts
+ofs1
onlynl
opasnidx
opasnslf
+paramasfunc1
+paramasfunc2
paramdup
paramres
paramtyp
+paramuninitglobal
parse1
parsefld
parseme
pcntplus
+posix2008sub
prdupval
prec
printf0
@@ -170,14 +198,20 @@
prmreuse
prt1eval
prtoeval
-psx96sub
rand
+range1
+rebrackloc
rebt8b1
redfilnm
regeq
+regexpbrack
+regexpbrack2
+regexprange
+regrange
reindops
reparse
resplit
+rri1
rs
rsnul1nl
rsnulbig
@@ -192,6 +226,7 @@
sclforin
sclifin
sortempty
+sortglos
splitargv
splitarr
splitdef
@@ -236,23 +271,50 @@
pipeio1
pipeio2
poundbang
+rtlen
+rtlen01
space
strftlng
======== Done with Unix tests ========
======== Starting gawk extension tests ========
+aadelete1
+aadelete2
+aarray1
+aasort
+aasorti
argtest
+arraysort
backw
badargs
+beginfile1
+beginfile2
binmode1
+charasbytes
+colonwarn
clos1way
+crlf
+dbugeval
+delsub
devfd
devfd1
devfd2
+dumpvars
+exit
fieldwdth
+fpat1
+fpat2
+fpat3
+fpat4
+fpatnull
fsfwfs
funlen
+functab1
+functab2
+functab3
fwtest
fwtest2
+fwtest3
+genpot
gensub
gensub2
getlndir
@@ -261,37 +323,83 @@
gnureops
icasefs
icasers
+id
igncdym
igncfs
ignrcas2
ignrcase
+incdupe
+incdupe2
+incdupe3
+incdupe4
+incdupe5
+incdupe6
+incdupe7
+include
+include2
+indirectbuiltin
+indirectcall
+indirectcall2
lint
lintold
+lintwarn
manyfiles
match1
match2
match3
-mbprintf3
mbstr1
+nastyparm
+negtime
+next
nondec
nondec2
+patsplit
posix
printfbad1
printfbad2
+printfbad3
+printfbad4
+printhuge
procinfs
+profile0
+profile1
+profile2
+profile3
+profile4
+profile5
+profile6
+profile7
+pty1
rebuf
+regnul1
+regnul2
regx8bit
+reginttrad
reint
reint2
+rsgetline
+rsglstdin
rsstart1
rsstart2
rsstart3
rstest6
shadow
-This test could fail on slow machines or on a minute boundary,
-so if it does, double check the actual results:
+sortfor
+sortu
+split_after_fpat
+splitarg4
strftime
strtonum
+switch2
+symtab1
+symtab2
+symtab3
+symtab4
+symtab5
+symtab6
+symtab7
+symtab8
+symtab9
======== Done with gawk extension tests ========
======== Starting machine-specific tests ========
double1
@@ -299,21 +407,61 @@
fmtspcl
intformat
======== Done with machine-specific tests ========
+make[3]: Entering directory `$(@D)/test'
======== Starting tests that can vary based on character set or locale support ========
+**************************************************************************
+* Some or all of these tests may fail if you have inadequate or missing *
+* locale support At least en_US.UTF-8, ru_RU.UTF-8 and ja_JP.UTF-8 are *
+* needed. However, if you see this message, the Makefile thinks you have *
+* what you need ... *
+**************************************************************************
asort
asorti
+backbigs1
+backsmalls1
+backsmalls2
fmttest
fnarydel
fnparydl
+jarebug
lc_num1
mbfw1
mbprintf1
mbprintf2
+mbprintf3
+mbprintf4
rebt8b2
+rtlenmb
sort1
sprintfc
-whiny
======== Done with tests that can vary based on character set or locale support ========
+make[3]: Leaving directory `$(@D)/test'
+======== Starting shared library tests ========
+make[3]: Entering directory `$(@D)/test'
+fnmatch
+filefuncs
+fork
+fork2
+fts
+functab4
+inplace1
+inplace2
+inplace3
+ordchr
+ordchr2
+readdir
+readfile
+readfile2
+revout
+revtwoway
+rwarray
+testext
+time
+make[3]: Leaving directory `$(@D)/test'
+======== Done with shared library tests ========
+======== Starting MPFR tests ========
+MPFR tests not supported on this system
+======== Done with MPFR tests ========
make[3]: Entering directory `$(@D)/test'
ALL TESTS PASSED
make[3]: Leaving directory `$(@D)/test'