pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/gawk gawk: updated to 4.2.1



details:   https://anonhg.NetBSD.org/pkgsrc/rev/c43cdcdfd37c
branches:  trunk
changeset: 310393:c43cdcdfd37c
user:      adam <adam%pkgsrc.org@localhost>
date:      Sat Jul 14 13:47:32 2018 +0000

description:
gawk: updated to 4.2.1


Changes from 4.2.0 to 4.2.1
---------------------------

1. Support for OS/2 has been brought up to date.  This support was
   accidentally omitted from the initial 4.2 release, for which
   we apologize.

2. The manual received a number of updates to make it format better
   for PDF.

3. A new configure option, --enable-versioned-dir, causes the directory
   holding extensions to include the API version in its name.

4. extension/configure.ac has been improved considerably.

5. In MPFR mode, When ROUNDMODE changes, string values for numerically
   type values will be redone.

6. The various 'inplace' tests now pass on modern BSD systems.

7. A number of bugs, some of them quite significant, have been fixed.
   See the ChangeLog for details.

Changes from 4.1.4 to 4.2.0
---------------------------

1. If not in POSIX mode, changes to ENVIRON are reflected into
   gawk's environment, affecting any programs run by system()
   or for piped redirections. This can also affect built-in routines, such
   as mktime(), which is typically influenced by the TZ environment variable.

2. The series of numbers returned by rand() should now be "more
   random" than previously.  Gawk's rand() remains repeatable; you will
   get the same series of numbers each time you call rand() repeatedly,
   but this will be a different series than previously.

3. Multiple changes related to the pretty printer:

   * The --pretty-print option no longer runs the program too.

   * Pretty printing now preserves comments and places them into the
     pretty-printed file.

   * Pretty-printing now uses the original text of constant numeric values
     for pretty-printing and profiling.

   * Pretty-printing now preserves parenthesized expressions as they
     were in the source file. This solves several niggling corner cases
     with such things.

4. The igawk script and igawk.1 man page are no longer installed by
   `make install'.  They have been obsolete since gawk 4.0.0.

5. Gawk can now be built with CMake.  This is an alternative build
   system for those who may want it; gawk is not going to switch off
   use of the autotools anytime soon, if ever.

6. Gawk now processes a maximum of two hexadecimal digits in \x
   escape sequences inside strings.

7. Setting PROCINFO["redirection", "NONFATAL"] to true makes I/O
   errors for "redirection" not fatal, setting ERRNO. Setting
   PROCINFO["NONFATAL"] makes all I/O nonfatal. See the manual.

8. MirBSD is no longer supported.

9. `make install' now installs shell startup files
   $sysconfdir/profile.d/gawk.{csh,sh} containing shell functions to
   manipulate the AWKPATH and AWKLIBPATH environment variables.  On a Fedora
   system, these files belong in /etc/profile.d, but the appropriate location
   may be different on other platforms.

10. Gawk now supports retryable I/O via PROCINFO[input-file, "RETRY"]; see
    the manual.

11. The C API has undergone changes that break binary compatibility with
    the previous version. Thus the API version is now at 2.0.  YOU WILL
    NEED TO RECOMPILE YOUR EXTENSIONS to work with this version of gawk.
    Source code compatibility remains intact, although you will get
    compiler warnings if you do not revise your extensions. We strongly
    recommend that you do so.  Fortunately, the changes are fairly minor
    and straightforward.

    See the manual for the new features.

12. Revisions in the POSIX standard remove the special case for POSIX
    mode when FS = " " where newline was not a field separator. The code
    and doc have been updated.

13. Gawk now supports strongly typed regexp constants. Such constants
    look like @/.../.  You can assign them to variables, pass them to
    functions, use them in ~, !~ and the case part of a switch statement.
    More details are provided in the manual.

14. The new typeof() function can be used to indicate if a variable or
    array element is an array, regexp, string or number.

15. As promised when 4.1 was released, the old extension mechanism,
    using the `extension' function, is now gone.

16. Support for GNU/Linux on Alpha systems has been removed.

17. Optimizations are now enabled by default. Use the new -s/--no-optimize
    option(s) to disable them.  Pretty-printing and profiling automatically
    disable optimizations so that the output program is the same as the
    original input program.

18. Gawk now uses fwrite_unlocked if it's available. This yields a 7% - 18%
    improvement in raw output speed (gawk '{ print }' on a large file).

19. Passing negative operands to any of the bitwise functions now
    produces a fatal error.

20. Programs that toggle IGNORECASE a lot should now be noticeably faster.

21. The mktime function now accepts an optional second argument. If this
    argument is present and is non-zero or non-null, the time will be converted
    from UTC instead of from the local timezone.

22. The FIELDWIDTHS parsing syntax has been enhanced to allow specifying
    how many characters to skip before a field starts. It also allows
    specifying '*' as the last character to mean "the rest of the record".
    Field splitting with FIELDWIDTHS now sets NF correctly.  The documentation
    for FIELDWIDTHS in the manual has been considerably reorganized and
    improved as well.

23. The PROCINFO["argv"] array records all of gawk's command line arguments
    as gawk received them (the values of the C level argv array).

24. The DJGPP port has been revived and now has an official maintainer.

25. The manual has been translated into Italian!  The translation is
    included in the distribution.

diffstat:

 lang/gawk/Makefile                            |   5 ++---
 lang/gawk/PLIST                               |  12 +++++++-----
 lang/gawk/distinfo                            |  20 +++++++++-----------
 lang/gawk/patches/patch-Makefile.in           |  25 ++++++++++++++++++-------
 lang/gawk/patches/patch-debug.c               |  16 ----------------
 lang/gawk/patches/patch-extension_Makefile.in |  16 ++++++++--------
 lang/gawk/patches/patch-extension_filefuncs.c |  19 -------------------
 lang/gawk/patches/patch-extension_inplace.c   |   6 +++---
 lang/gawk/patches/patch-test_Makefile.in      |   6 +++---
 9 files changed, 50 insertions(+), 75 deletions(-)

diffs (263 lines):

diff -r f8d6fc08079d -r c43cdcdfd37c lang/gawk/Makefile
--- a/lang/gawk/Makefile        Sat Jul 14 12:55:26 2018 +0000
+++ b/lang/gawk/Makefile        Sat Jul 14 13:47:32 2018 +0000
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.65 2018/01/28 16:24:13 wiz Exp $
+# $NetBSD: Makefile,v 1.66 2018/07/14 13:47:32 adam Exp $
 
-DISTNAME=      gawk-4.1.4
-PKGREVISION=   1
+DISTNAME=      gawk-4.2.1
 CATEGORIES=    lang
 MASTER_SITES=  ${MASTER_SITE_GNU:=gawk/}
 EXTRACT_SUFX=  .tar.xz
diff -r f8d6fc08079d -r c43cdcdfd37c lang/gawk/PLIST
--- a/lang/gawk/PLIST   Sat Jul 14 12:55:26 2018 +0000
+++ b/lang/gawk/PLIST   Sat Jul 14 13:47:32 2018 +0000
@@ -1,28 +1,27 @@
-@comment $NetBSD: PLIST,v 1.24 2017/01/14 01:03:39 ryoon Exp $
+@comment $NetBSD: PLIST,v 1.25 2018/07/14 13:47:32 adam Exp $
+bin/${PKGNAME}
 bin/gawk
-bin/${PKGNAME}
-bin/igawk
 gnu/bin/awk
 gnu/man/man1/awk.1
 include/gawkapi.h
 info/gawk.info
 info/gawkinet.info
+info/gawkworkflow.info
 ${PLIST.extension}lib/gawk/filefuncs.la
 ${PLIST.extension}lib/gawk/fnmatch.la
 ${PLIST.extension}lib/gawk/fork.la
 ${PLIST.extension}lib/gawk/inplace.la
+${PLIST.extension}lib/gawk/intdiv.la
 ${PLIST.extension}lib/gawk/ordchr.la
 ${PLIST.extension}lib/gawk/readdir.la
 ${PLIST.extension}lib/gawk/readfile.la
 ${PLIST.extension}lib/gawk/revoutput.la
 ${PLIST.extension}lib/gawk/revtwoway.la
 ${PLIST.extension}lib/gawk/rwarray.la
-${PLIST.extension}lib/gawk/testext.la
 ${PLIST.extension}lib/gawk/time.la
 libexec/awk/grcat
 libexec/awk/pwcat
 man/man1/gawk.1
-man/man1/igawk.1
 ${PLIST.extension}man/man3am/filefuncs.3am
 ${PLIST.extension}man/man3am/fnmatch.3am
 ${PLIST.extension}man/man3am/fork.3am
@@ -42,7 +41,9 @@
 share/awk/getopt.awk
 share/awk/gettime.awk
 share/awk/group.awk
+share/awk/have_mpfr.awk
 share/awk/inplace.awk
+share/awk/intdiv0.awk
 share/awk/join.awk
 share/awk/libintl.awk
 share/awk/noassign.awk
@@ -70,6 +71,7 @@
 share/locale/ms/LC_MESSAGES/gawk.mo
 share/locale/nl/LC_MESSAGES/gawk.mo
 share/locale/pl/LC_MESSAGES/gawk.mo
+share/locale/pt_BR/LC_MESSAGES/gawk.mo
 share/locale/sv/LC_MESSAGES/gawk.mo
 share/locale/vi/LC_MESSAGES/gawk.mo
 share/locale/zh_CN/LC_MESSAGES/gawk.mo
diff -r f8d6fc08079d -r c43cdcdfd37c lang/gawk/distinfo
--- a/lang/gawk/distinfo        Sat Jul 14 12:55:26 2018 +0000
+++ b/lang/gawk/distinfo        Sat Jul 14 13:47:32 2018 +0000
@@ -1,14 +1,12 @@
-$NetBSD: distinfo,v 1.38 2017/01/14 01:03:39 ryoon Exp $
+$NetBSD: distinfo,v 1.39 2018/07/14 13:47:32 adam Exp $
 
-SHA1 (gawk-4.1.4.tar.xz) = d67e00e2f6178e9cbd2c0ba923ae157bc0b3b570
-RMD160 (gawk-4.1.4.tar.xz) = 7f0b1ec45c207cf365bc9b93c7e0b247e6c57186
-SHA512 (gawk-4.1.4.tar.xz) = 6a0e9cf086544212f54b54261dcd517b611aaf495ef99c4b7740d07e363bb00c5632f3d7fd5e12a954d5aa9793764162a57453e0e18884b29c6c54b5f444c097
-Size (gawk-4.1.4.tar.xz) = 2367832 bytes
-SHA1 (patch-Makefile.in) = 8330ac068dcb712539465a467a42f713ee4a8a73
+SHA1 (gawk-4.2.1.tar.xz) = 71fc3595865ea6ea859587cbbb35cbf9aeb39d2d
+RMD160 (gawk-4.2.1.tar.xz) = 4a7a4ddccb871626d8c3ec3019de65c47b71fb29
+SHA512 (gawk-4.2.1.tar.xz) = 0e3006a795dc3ac91359a7d2590c0cccbfd39b18a1d491617d68505c55a2800355b1439050681b4fcacf65fb0d533151a046babe0fd774503037bab363ef2ae4
+Size (gawk-4.2.1.tar.xz) = 2985412 bytes
+SHA1 (patch-Makefile.in) = 2f9e8c3ca477ece817d251e22345bf2476fccd00
 SHA1 (patch-awk.h) = 2292be5ec392e7fea5688fbb18012a735e43803f
-SHA1 (patch-debug.c) = 40c423e2ddbb7de1eb35bb4b7b4452f8f2ebec01
-SHA1 (patch-extension_Makefile.in) = 7a03efc54d0fe54ef94fbe6f35d5145b61cb0f07
-SHA1 (patch-extension_filefuncs.c) = 212774354ab55f69ff67728470ab23b43e038093
+SHA1 (patch-extension_Makefile.in) = 3d0d904327e891169568e4e5ec927daada6e3c17
 SHA1 (patch-extension_gawkfts.c) = a88ac0ed14be5133cf081bf25ab8663f0f3372a7
-SHA1 (patch-extension_inplace.c) = 3a8f5c091cfa4d6f8a8d048bd74166defbd85908
-SHA1 (patch-test_Makefile.in) = 7610407e0735f4b78b568e24717f3f103f8566d3
+SHA1 (patch-extension_inplace.c) = 84b1d8f18ed78a872cd7befa65def30b4bcb3252
+SHA1 (patch-test_Makefile.in) = 1be6ffd773bc0616adc66f357fe07c42d2727e87
diff -r f8d6fc08079d -r c43cdcdfd37c lang/gawk/patches/patch-Makefile.in
--- a/lang/gawk/patches/patch-Makefile.in       Sat Jul 14 12:55:26 2018 +0000
+++ b/lang/gawk/patches/patch-Makefile.in       Sat Jul 14 13:47:32 2018 +0000
@@ -1,18 +1,29 @@
-$NetBSD: patch-Makefile.in,v 1.4 2015/05/28 06:35:25 wiz Exp $
+$NetBSD: patch-Makefile.in,v 1.5 2018/07/14 13:47:32 adam Exp $
 
-Correct locale location, use names gawk and pgawk unconditionally
---- Makefile.in.orig   2015-05-19 13:38:35.000000000 +0000
+Correct locale location, use names gawk and pgawk unconditionally.
+Do not install extras.
+
+--- Makefile.in.orig   2018-02-25 17:06:29.000000000 +0000
 +++ Makefile.in
-@@ -324,7 +324,7 @@ CFLAGS = @CFLAGS@
+@@ -328,7 +328,7 @@ CFLAGS = @CFLAGS@
  CPP = @CPP@
  CPPFLAGS = @CPPFLAGS@
  CYGPATH_W = @CYGPATH_W@
--DEFS = -DDEFPATH=$(DEFPATH) -DDEFLIBPATH=$(DEFLIBPATH) -DSHLIBEXT=$(SHLIBEXT) -DHAVE_CONFIG_H -DGAWK -DLOCALEDIR='"$(datadir)/locale"'
-+DEFS = -DDEFPATH=$(DEFPATH) -DDEFLIBPATH=$(DEFLIBPATH) -DSHLIBEXT=$(SHLIBEXT) -DHAVE_CONFIG_H -DGAWK -DLOCALEDIR='"$(prefix)/$(PKGLOCALEDIR)/locale"'
+-DEFS = -DDEFPATH=$(DEFPATH) -DDEFLIBPATH=$(DEFLIBPATH) -DSHLIBEXT=$(SHLIBEXT) -DHAVE_CONFIG_H -DGAWK -DLOCALEDIR='"$(datadir)/locale"' -I"$(srcdir)/support"
++DEFS = -DDEFPATH=$(DEFPATH) -DDEFLIBPATH=$(DEFLIBPATH) -DSHLIBEXT=$(SHLIBEXT) -DHAVE_CONFIG_H -DGAWK -DLOCALEDIR='"$(prefix)/$(PKGLOCALEDIR)/locale"' -I"$(srcdir)/support"
  DEPDIR = @DEPDIR@
  ECHO_C = @ECHO_C@
  ECHO_N = @ECHO_N@
-@@ -1178,9 +1178,7 @@ install-exec-hook:
+@@ -484,7 +484,7 @@ EXTRA_DIST = \
+ 
+ # Build in awklib after in doc, since we want to extract
+ # sample files if doc/gawk.texi changed.
+-SUBDIRS = support . $(am__append_1) extras doc awklib po test
++SUBDIRS = support . $(am__append_1) doc awklib po test
+ include_HEADERS = gawkapi.h
+ 
+ # sources for both gawk and dgawk
+@@ -1161,9 +1161,7 @@ install-exec-hook:
        (cd $(DESTDIR)$(bindir); \
        name=`echo gawk | sed '$(transform)'` ; \
        $(LN) $${name}$(EXEEXT) gawk-$(VERSION)$(EXEEXT) 2>/dev/null ; \
diff -r f8d6fc08079d -r c43cdcdfd37c lang/gawk/patches/patch-debug.c
--- a/lang/gawk/patches/patch-debug.c   Sat Jul 14 12:55:26 2018 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-$NetBSD: patch-debug.c,v 1.1 2015/04/19 14:26:06 tnn Exp $
-
-Avoid conflict with serialize(2) system call on HP-UX.
-
---- debug.c.orig       2014-03-05 04:31:02.000000000 +0000
-+++ debug.c
-@@ -200,6 +200,9 @@ static const char *const env_variable[] 
- "DGAWK_HISTORY",
- "DGAWK_OPTION",
- };
-+#if defined(__hpux)
-+#define serialize gawk_serialize
-+#endif
- static void serialize(int );
- static void unserialize(int );
- static const char *commands_string = NULL;
diff -r f8d6fc08079d -r c43cdcdfd37c lang/gawk/patches/patch-extension_Makefile.in
--- a/lang/gawk/patches/patch-extension_Makefile.in     Sat Jul 14 12:55:26 2018 +0000
+++ b/lang/gawk/patches/patch-extension_Makefile.in     Sat Jul 14 13:47:32 2018 +0000
@@ -1,11 +1,11 @@
-$NetBSD: patch-extension_Makefile.in,v 1.3 2015/05/01 02:02:40 wen Exp $
+$NetBSD: patch-extension_Makefile.in,v 1.4 2018/07/14 13:47:32 adam Exp $
 
 Install into a separate directory, otherwise these shadow e.g. time(3).
 Install *.la file for extensions, reduce PLIST divergence.
 
---- extension/Makefile.in.orig 2015-05-01 09:36:09.000000000 +0000
+--- extension/Makefile.in.orig 2018-02-25 17:06:54.000000000 +0000
 +++ extension/Makefile.in
-@@ -291,7 +291,7 @@ am__can_run_installinfo = \
+@@ -314,7 +314,7 @@ am__can_run_installinfo = \
      n|no|NO) false;; \
      *) (install-info --version) >/dev/null 2>&1;; \
    esac
@@ -14,7 +14,7 @@
  NROFF = nroff
  MANS = $(dist_man_MANS)
  RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive       \
-@@ -1152,7 +1152,6 @@ info-am:
+@@ -1236,7 +1236,6 @@ info-am:
  
  install-data-am: install-man install-pkgextensionLTLIBRARIES
        @$(NORMAL_INSTALL)
@@ -22,10 +22,10 @@
  install-dvi: install-dvi-recursive
  
  install-dvi-am:
-@@ -1215,7 +1214,7 @@ uninstall-man: uninstall-man3
-       distclean-hdr distclean-libtool distclean-tags distcleancheck \
-       distdir distuninstallcheck dvi dvi-am html html-am info \
-       info-am install install-am install-data install-data-am \
+@@ -1300,7 +1299,7 @@ uninstall-man: uninstall-man3
+       distclean-libtool distclean-tags distcleancheck distdir \
+       distuninstallcheck dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am \
 -      install-data-hook install-dvi install-dvi-am install-exec \
 +      install-dvi install-dvi-am install-exec \
        install-exec-am install-html install-html-am install-info \
diff -r f8d6fc08079d -r c43cdcdfd37c lang/gawk/patches/patch-extension_filefuncs.c
--- a/lang/gawk/patches/patch-extension_filefuncs.c     Sat Jul 14 12:55:26 2018 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-$NetBSD: patch-extension_filefuncs.c,v 1.2 2014/06/06 23:24:10 ryoon Exp $
-
-Fix build problem under Solaris. The more elegant fix is available here:
-
-http://lists.gnu.org/archive/html/bug-gawk/2013-06/msg00010.html
-
---- extension/filefuncs.c.orig 2014-03-31 19:17:46.000000000 +0000
-+++ extension/filefuncs.c
-@@ -137,6 +137,10 @@ get_inode(const char *fname)
- }
- #endif
- 
-+#ifdef __sun
-+#include <sys/mkdev.h>
-+#endif
-+
- static const gawk_api_t *api; /* for convenience macros to work */
- static awk_ext_id_t *ext_id;
- static awk_bool_t init_filefuncs(void);
diff -r f8d6fc08079d -r c43cdcdfd37c lang/gawk/patches/patch-extension_inplace.c
--- a/lang/gawk/patches/patch-extension_inplace.c       Sat Jul 14 12:55:26 2018 +0000
+++ b/lang/gawk/patches/patch-extension_inplace.c       Sat Jul 14 13:47:32 2018 +0000
@@ -1,8 +1,8 @@
-$NetBSD: patch-extension_inplace.c,v 1.1 2016/09/08 16:16:15 jperkin Exp $
+$NetBSD: patch-extension_inplace.c,v 1.2 2018/07/14 13:47:32 adam Exp $
 
 Support SunOS in C99 mode.
 
---- extension/inplace.c.orig   2015-04-27 15:09:07.000000000 +0000
+--- extension/inplace.c.orig   2018-02-23 08:44:11.000000000 +0000
 +++ extension/inplace.c
 @@ -27,12 +27,14 @@
  #include <config.h>
@@ -10,7 +10,7 @@
  
 +#if !(defined(__sun) && (__STDC_VERSION__ - 0 >= 199901L))
  #ifndef _XOPEN_SOURCE
- # define _XOPEN_SOURCE
+ # define _XOPEN_SOURCE 1
  #endif
  #ifndef _XOPEN_SOURCE_EXTENDED
  # define _XOPEN_SOURCE_EXTENDED 1
diff -r f8d6fc08079d -r c43cdcdfd37c lang/gawk/patches/patch-test_Makefile.in
--- a/lang/gawk/patches/patch-test_Makefile.in  Sat Jul 14 12:55:26 2018 +0000
+++ b/lang/gawk/patches/patch-test_Makefile.in  Sat Jul 14 13:47:32 2018 +0000
@@ -1,4 +1,4 @@
-$NetBSD: patch-test_Makefile.in,v 1.2 2014/06/06 23:24:10 ryoon Exp $
+$NetBSD: patch-test_Makefile.in,v 1.3 2018/07/14 13:47:32 adam Exp $
 
 Non portable '-f' flag for ls should be -U for unsorted
 pkgsrc replacement links mean -L should be used too.
@@ -6,9 +6,9 @@
 NB on SunOS, locale/en should be installed in order to have
 all tests successfully execute (namely mbfw1 and mbprintf1)
 
---- test/Makefile.in.orig      2014-04-08 16:13:13.000000000 +0000
+--- test/Makefile.in.orig      2018-02-25 17:06:29.000000000 +0000
 +++ test/Makefile.in
-@@ -2249,7 +2249,7 @@ readdir:
+@@ -2697,7 +2697,7 @@ readdir:
        fi
        @echo $@
        @$(AWK) -f "$(srcdir)"/readdir.awk "$(top_srcdir)" > _$@



Home | Main Index | Thread Index | Old Index