[email protected] (Jérémie Courrèges-Anglas) writes:
> Hi,
>
> here's an update for Gawk. No modifications for mail/dovecot-antispam
> and net/quagga, regress tests still OK for devel/quilt, build OK for
> databases/virtuoso. databases/mdbtools untested.
>
> The extensions are only dlopened for now so static versions are not
> built and the .la files are removed.
>
> Since ${PREFIX}/man/man3/*.3am manpages were unreachable anyway and
> renaming them to .3 would lead to namespace clashes, I decided to move
> them into their own man/man3am subdir and added a note in pkg/MESSAGE.
>
> naddy: cc'ing you since your patches are gone.
I had forgotten the PFRAG.shared bits. The diff below also includes
the DESCR rewrite and strips locale directories.
(make-plist logged something like this:
make-plist: Found out old directory in pkg/PLIST: /usr/local/share/locale
(mtree)
make-plist: Found out old directory in pkg/PLIST: /usr/local/share/locale/da
(mtree)
make-plist: Found out old directory in pkg/PLIST:
/usr/local/share/locale/da/LC_MESSAGES (mtree)
)
There's a warning at configure time; it doesn't happen with CONFIG_SHELL
set to "bash", but the build doesn't seem affected (say config.{h,log}).
[...]
checking for gethostbyname... (cached) yes
checking for connect... (cached) yes
checking where to find the socket library calls... the standard library
checking whether readline via "-lreadline" is present and sane... no
checking whether readline via "-lreadline -ltermcap" is present and sane... yes
checking whether mpfr via "-lmpfr -lgmp" is present and usable... yes
/usr/obj/pobj/gawk-4.1.0/gawk-4.1.0/configure[10548]: break: cannot break
checking for struct stat.st_blksize... yes
checking whether time.h and sys/time.h may both be included... (cached) yes
[...]
>> Copyright (C) 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
>>
>> Copying and distribution of this file, with or without modification,
>> are permitted in any medium without royalty provided the copyright
>> notice and this notice are preserved.
>>
>> Changes from 4.0.2 to 4.1.0
>> ---------------------------
>>
>> 1. The three executables gawk, pgawk, and dgawk, have been merged into
>> one, named just gawk. As a result:
>> * The -R option is gone
>> * Use -D to run the debugger. An optional file argument is a
>> list of commands to run first.
>> * Use -o to do pretty-printing only.
>> * Use -p to do profiling.
>> This considerably reduces gawk's "footprint" and eases the documentation
>> burden as well.
>>
>> 2. Gawk now supports high precision arithmetic with MPFR. The default is
>> still double precision, but setting PREC changes things, or using
>> the -M / --bignum options. This support is not compiled in if the MPFR
>> library is not available.
>>
>> 3. The new -i option (from xgawk) is used for loading awk library files.
>> This differs from -f in that the first non-option argument is treated
>> as a script.
>>
>> 4. The new -l option (from xgawk) is used for loading dynamic extensions.
>>
>> 5. The dynamic extension interface has been completely redone! There is
>> now a defined API for C extensions to use. A C extension acts like
>> a function written in awk, except that it cannot do everything that awk
>> code can. However, this allows interfacing to any facility that is
>> available from C. This is a major development, see the doc, which has
>> a nice shiny new chapter describing everything.
>>
>> This support is not compiled in if dynamic loading of shared libraries
>> is not supported.
>>
>> The old extension mechanism is still supported for compatiblity, but
>> it will most definitely be removed at the next major release.
>>
>> 6. The "inplace" extension, built using the new facility, can be used to
>> simulate the GNU "sed -i" feature.
>>
>> 7. The and(), or() and xor() functions now take any number of arguments,
>> with a minimum of two.
>>
>> 8. New arrays: SYMTAB, FUNCTAB, and PROCINFO["identifiers"]. SYMTAB allows
>> indirect access to any defined variable or array; it is possible to
>> "walk" the symbol table, if that should be necessary.
>>
>> 9. Support for building gawk with a cross compiler has been improved.
>>
>> 10. Infrastructure upgrades: bison 2.7.1, gettext 0.18.2.1, automake 1.13.1,
>> libtool 2.4.2 for the extensions.
>>
>> Changes from 4.0.1 to 4.0.2
>> ---------------------------
>>
>> 1. Infrastructure upgrades: Autoconf 2.69, Automake 1.12.6, bison 2.7.
>>
>> 2. `fflush()', `nextfile', and `delete array' are all now part of POSIX.
>>
>> 3. fflush() behavior changed to match BWK awk and for POSIX - now both
>> fflush() and fflush("") flush all open output redirections.
>>
>> 4. Various minor bug fixes and documentation updates.
>>
Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/gawk/Makefile,v
retrieving revision 1.23
diff -u -p -r1.23 Makefile
--- Makefile 11 Mar 2013 11:20:27 -0000 1.23
+++ Makefile 9 Jun 2013 00:00:38 -0000
@@ -2,9 +2,8 @@
COMMENT= GNU awk
-V= 4.0.1
+V= 4.1.0
DISTNAME= gawk-$V
-REVISION= 1
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GNU:=gawk/}
@@ -13,18 +12,25 @@ HOMEPAGE= http://www.gnu.org/software/ga
# GPLv3+
PERMIT_PACKAGE_CDROM= Yes
-WANTLIB= c m readline sigsegv termcap
+WANTLIB= c gmp m mpfr readline sigsegv termcap
MODULES= devel/gettext
-LIB_DEPENDS= devel/libsigsegv
+LIB_DEPENDS= devel/gmp \
+ devel/libsigsegv \
+ devel/mpfr
SUBST_VARS= V
-SEPARATE_BUILD= Yes
-AUTOCONF_VERSION=2.68
-CONFIGURE_STYLE=autoconf
+SEPARATE_BUILD= Yes
+CONFIGURE_STYLE=gnu
+CONFIGURE_ARGS= ${CONFIGURE_SHARED}
+LIBTOOL_FLAGS= --tag=disable-static
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib"
-REORDER_DEPENDENCIES=${FILESDIR}/automake.dep
+
+post-install:
+ rm -f ${PREFIX}/lib/gawk/*.la
+ ${INSTALL_MAN_DIR} ${PREFIX}/man/man3am
+ mv ${PREFIX}/man/man3/*.3am ${PREFIX}/man/man3am
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/lang/gawk/distinfo,v
retrieving revision 1.11
diff -u -p -r1.11 distinfo
--- distinfo 27 Aug 2012 13:38:08 -0000 1.11
+++ distinfo 10 May 2013 22:15:09 -0000
@@ -1,2 +1,2 @@
-SHA256 (gawk-4.0.1.tar.gz) = R23ui+qLw7BK9crlArg+oW7dW3A9IEGJGPh3OInXjIA=
-SIZE (gawk-4.0.1.tar.gz) = 2680974
+SHA256 (gawk-4.1.0.tar.gz) = efgbCbw8zlDgg/eKzA+ReDghrTCGZhXTDdFzHxfsRAs=
+SIZE (gawk-4.1.0.tar.gz) = 3995528
Index: patches/patch-configure_ac
===================================================================
RCS file: patches/patch-configure_ac
diff -N patches/patch-configure_ac
--- patches/patch-configure_ac 8 Dec 2012 20:46:05 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-configure_ac,v 1.1 2012/12/08 20:46:05 naddy Exp $
---- configure.ac.orig Sat Dec 8 16:02:43 2012
-+++ configure.ac Sat Dec 8 16:03:03 2012
-@@ -265,7 +265,7 @@ esac
- AC_CHECK_FUNCS(atexit btowc fmod getgrent getgroups grantpt \
- isascii iswctype iswlower iswupper mbrlen \
- memcmp memcpy memcpy_ulong memmove memset \
-- memset_ulong mkstemp setenv setlocale setsid snprintf strchr \
-+ memset_ulong mkstemp posix_openpt setenv setlocale setsid snprintf
strchr \
- strerror strftime strncasecmp strcoll strtod strtoul \
- system tmpfile towlower towupper tzset usleep wcrtomb \
- wcscoll wctype)
Index: patches/patch-io_c
===================================================================
RCS file: patches/patch-io_c
diff -N patches/patch-io_c
--- patches/patch-io_c 8 Dec 2012 20:46:05 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,35 +0,0 @@
-$OpenBSD: patch-io_c,v 1.1 2012/12/08 20:46:05 naddy Exp $
---- io.c.orig Sat Dec 8 16:04:24 2012
-+++ io.c Sat Dec 8 16:05:39 2012
-@@ -1598,7 +1598,7 @@ two_way_open(const char *str, struct redirect *rp)
- if (! no_ptys && pty_vs_pipe(str)) {
- static int initialized = FALSE;
- static char first_pty_letter;
--#ifdef HAVE_GRANTPT
-+#if defined(HAVE_GRANTPT) && ! defined(HAVE_POSIX_OPENPT)
- static int have_dev_ptmx;
- #endif
- char slavenam[32];
-@@ -1615,7 +1615,7 @@ two_way_open(const char *str, struct redirect *rp)
-
- if (! initialized) {
- initialized = TRUE;
--#ifdef HAVE_GRANTPT
-+#if defined(HAVE_GRANTPT) && ! defined(HAVE_POSIX_OPENPT)
- have_dev_ptmx = (stat("/dev/ptmx", &statb) >= 0);
- #endif
- i = 0;
-@@ -1630,8 +1630,13 @@ two_way_open(const char *str, struct redirect *rp)
- }
-
- #ifdef HAVE_GRANTPT
-+#ifdef HAVE_POSIX_OPENPT
-+ {
-+ master = posix_openpt(O_RDWR|O_NOCTTY);
-+#else
- if (have_dev_ptmx) {
- master = open("/dev/ptmx", O_RDWR);
-+#endif
- if (master >= 0) {
- char *tem;
-
Index: pkg/DESCR
===================================================================
RCS file: /cvs/ports/lang/gawk/pkg/DESCR,v
retrieving revision 1.2
diff -u -p -r1.2 DESCR
--- pkg/DESCR 15 Dec 2003 21:42:37 -0000 1.2
+++ pkg/DESCR 11 May 2013 20:38:06 -0000
@@ -1 +1,15 @@
-The GNU AWK utility, a pattern scanning and processing tool.
+GNU AWK is a pattern scanning and processing tool. It conforms to the
+definition of the language in the POSIX 1003.1 Standard. This version in
+turn is based on the description in The AWK Programming Language, by Aho,
+Kernighan, and Weinberger. Gawk provides the additional features found in the
+current version of Brian Kernighan's awk(1) and a number of GNU-specific
+extensions.
+
+Among these extensions:
+- profiler
+- interactive debugger a la GDB
+- file inclusion, useful to share code between Gawk scripts
+- API for loadable extension modules
+- lint mode to warn about possible portability problems
+- bignums, for arbitrary precision arithmetic
+- socket networking
Index: pkg/MESSAGE
===================================================================
RCS file: pkg/MESSAGE
diff -N pkg/MESSAGE
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ pkg/MESSAGE 11 May 2013 18:00:43 -0000
@@ -0,0 +1 @@
+You may also add a _build rule for man3am manpages to /etc/mk.conf
Index: pkg/PFRAG.shared
===================================================================
RCS file: pkg/PFRAG.shared
diff -N pkg/PFRAG.shared
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ pkg/PFRAG.shared 10 May 2013 23:12:39 -0000
@@ -0,0 +1,14 @@
+@comment $OpenBSD$
+lib/gawk/
+lib/gawk/filefuncs.so
+lib/gawk/fnmatch.so
+lib/gawk/fork.so
+lib/gawk/inplace.so
+lib/gawk/ordchr.so
+lib/gawk/readdir.so
+lib/gawk/readfile.so
+lib/gawk/revoutput.so
+lib/gawk/revtwoway.so
+lib/gawk/rwarray.so
+lib/gawk/testext.so
+lib/gawk/time.so
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/lang/gawk/pkg/PLIST,v
retrieving revision 1.10
diff -u -p -r1.10 PLIST
--- pkg/PLIST 28 Aug 2011 11:15:39 -0000 1.10
+++ pkg/PLIST 9 Jun 2013 12:28:11 -0000
@@ -1,11 +1,10 @@
@comment $OpenBSD: PLIST,v 1.10 2011/08/28 11:15:39 sthen Exp $
+%%SHARED%%
bin/awk
-@bin bin/dgawk
@bin bin/gawk
@bin bin/gawk-${V}
bin/igawk
-@bin bin/pgawk
-@bin bin/pgawk-${V}
+include/gawkapi.h
@info info/gawk.info
@info info/gawkinet.info
libexec/awk/
@@ -13,7 +12,17 @@ libexec/awk/
@bin libexec/awk/pwcat
@man man/man1/gawk.1
@man man/man1/igawk.1
-@man man/man1/pgawk.1
+@mandir man/man3am/
+@man man/man3am/filefuncs.3am
+@man man/man3am/fnmatch.3am
+@man man/man3am/fork.3am
+@man man/man3am/ordchr.3am
+@man man/man3am/readdir.3am
+@man man/man3am/readfile.3am
+@man man/man3am/revoutput.3am
+@man man/man3am/revtwoway.3am
+@man man/man3am/rwarray.3am
+@man man/man3am/time.3am
share/awk/
share/awk/assert.awk
share/awk/bits2str.awk
@@ -23,6 +32,7 @@ share/awk/ftrans.awk
share/awk/getopt.awk
share/awk/gettime.awk
share/awk/group.awk
+share/awk/inplace.awk
share/awk/join.awk
share/awk/libintl.awk
share/awk/noassign.awk
@@ -42,6 +52,10 @@ share/locale/fi/LC_MESSAGES/gawk.mo
share/locale/fr/LC_MESSAGES/gawk.mo
share/locale/it/LC_MESSAGES/gawk.mo
share/locale/ja/LC_MESSAGES/gawk.mo
+share/locale/ms/
+share/locale/ms/LC_MESSAGES/
+share/locale/ms/LC_MESSAGES/gawk.mo
share/locale/nl/LC_MESSAGES/gawk.mo
share/locale/pl/LC_MESSAGES/gawk.mo
share/locale/sv/LC_MESSAGES/gawk.mo
+share/locale/vi/LC_MESSAGES/gawk.mo