pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/lang/nawk Prepare nawk for use as a bootstrap tool by ...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/1455deb30e66
branches:  trunk
changeset: 516104:1455deb30e66
user:      jlam <jlam%pkgsrc.org@localhost>
date:      Fri Jul 14 14:23:06 2006 +0000

description:
Prepare nawk for use as a bootstrap tool by including the sources
directly in pkgsrc/lang/nawk/files and adjusting the package Makefile
accordingly.  The README.pkgsrc file includes notes on how the source
files were (minimally) adjusted.

diffstat:

 lang/nawk/Makefile            |    35 +-
 lang/nawk/distinfo            |     5 -
 lang/nawk/files/FIXES         |   890 ++++++++++
 lang/nawk/files/Makefile      |    41 +
 lang/nawk/files/README        |    96 +
 lang/nawk/files/README.pkgsrc |    24 +
 lang/nawk/files/awk.1         |   531 ++++++
 lang/nawk/files/awk.h         |   235 ++
 lang/nawk/files/awkgram.y     |   488 +++++
 lang/nawk/files/b.c           |   941 +++++++++++
 lang/nawk/files/lex.c         |   590 +++++++
 lang/nawk/files/lib.c         |   698 ++++++++
 lang/nawk/files/main.c        |   195 ++
 lang/nawk/files/makefile      |    88 +
 lang/nawk/files/maketab.c     |   170 ++
 lang/nawk/files/missing95.c   |    14 +
 lang/nawk/files/nawk.1        |   538 ++++++
 lang/nawk/files/parse.c       |   278 +++
 lang/nawk/files/proctab.c     |   207 ++
 lang/nawk/files/proto.h       |   197 ++
 lang/nawk/files/run.c         |  1929 +++++++++++++++++++++++
 lang/nawk/files/tran.c        |   457 +++++
 lang/nawk/files/ytab.c        |  3351 +++++++++++++++++++++++++++++++++++++++++
 lang/nawk/files/ytab.h        |   242 ++
 24 files changed, 12210 insertions(+), 30 deletions(-)

diffs (truncated from 12352 to 300 lines):

diff -r 218958b37df8 -r 1455deb30e66 lang/nawk/Makefile
--- a/lang/nawk/Makefile        Fri Jul 14 14:21:23 2006 +0000
+++ b/lang/nawk/Makefile        Fri Jul 14 14:23:06 2006 +0000
@@ -1,41 +1,26 @@
-# $NetBSD: Makefile,v 1.27 2006/05/06 03:09:03 reed Exp $
-#
+# $NetBSD: Makefile,v 1.28 2006/07/14 14:23:06 jlam Exp $
 
-DISTNAME=       awk
-PKGNAME=        nawk-20050424
+DISTNAME=       nawk-20050424
 CATEGORIES=    lang
-#MASTER_SITES=   http://cm.bell-labs.com/who/bwk/
-MASTER_SITES=  ${MASTER_SITE_LOCAL:=${PKGNAME_NOREV}/}
-#
-# We use the .shar file instead of the .tar.gz file to avoid needing
-# build dependencies.
-EXTRACT_SUFX=  .shar
+MASTER_SITES=  # empty
+DISTFILES=     # empty
 
-MAINTAINER=    cjep%NetBSD.org@localhost
+MAINTAINER=    jlam%NetBSD.org@localhost
 HOMEPAGE=      http://cm.bell-labs.com/who/bwk/
 COMMENT=       Brian Kernighan's pattern-directed scanning and processing language
 
-DIST_SUBDIR=   ${PKGNAME_NOREV}
 PKG_INSTALLATION_TYPES=        overwrite pkgviews
 
-USE_TOOLS+=    yacc
-WRKSRC=                ${WRKDIR}
 CFLAGS+=       ${CPPFLAGS}
-MAKE_FLAGS+=   CC=${CC:Q} YACC=${YACC:Q} CFLAGS=${CFLAGS:M*:Q}
+MAKE_FLAGS+=   CC=${CC:Q} CFLAGS=${CFLAGS:M*:Q}
+
+NO_CHECKSUM=   yes
 BUILD_TARGET=  a.out
 
 INSTALLATION_DIRS=     bin ${PKGMANDIR}/man1
 
-# Fix bug in distributed makefile with respect to improper makefile
-# comments -- we simply just strip out all comments from the file.
-#
-do-configure:
-       ${SED} "s|^[    ]*#.*||" ${WRKSRC}/makefile > ${WRKSRC}/${MAKEFILE}
-
-# We want to install the man page as "nawk.1".
-post-build:
-       ${SED} -e 's|awk|nawk|g' -e 's/Awk/Nawk/g' \
-               ${WRKSRC}/awk.1 > ${WRKSRC}/nawk.1
+do-extract:
+       @${CP} -R ${FILESDIR} ${WRKSRC}
 
 do-install:
        ${INSTALL_PROGRAM} ${WRKSRC}/a.out ${PREFIX}/bin/nawk
diff -r 218958b37df8 -r 1455deb30e66 lang/nawk/distinfo
--- a/lang/nawk/distinfo        Fri Jul 14 14:21:23 2006 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-$NetBSD: distinfo,v 1.10 2005/05/18 05:22:43 jlam Exp $
-
-SHA1 (nawk-20050424/awk.shar) = 8150a0a4c143b71a4cc5ec8dc67bccb98f472721
-RMD160 (nawk-20050424/awk.shar) = 49c6b6b0071a7c1bc5531974c8a5787684035b63
-Size (nawk-20050424/awk.shar) = 512192 bytes
diff -r 218958b37df8 -r 1455deb30e66 lang/nawk/files/FIXES
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/nawk/files/FIXES     Fri Jul 14 14:23:06 2006 +0000
@@ -0,0 +1,890 @@
+$NetBSD: FIXES,v 1.1 2006/07/14 14:23:06 jlam Exp $
+
+/****************************************************************
+Copyright (C) Lucent Technologies 1997
+All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and
+its documentation for any purpose and without fee is hereby
+granted, provided that the above copyright notice appear in all
+copies and that both that the copyright notice and this
+permission notice and warranty disclaimer appear in supporting
+documentation, and that the name Lucent Technologies or any of
+its entities not be used in advertising or publicity pertaining
+to distribution of the software without specific, written prior
+permission.
+
+LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
+IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY
+SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
+IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+THIS SOFTWARE.
+****************************************************************/
+
+This file lists all bug fixes, changes, etc., made since the AWK book
+was sent to the printers in August, 1987.
+
+Apr 24, 2005:
+       modified lib.c so that values of $0 et al are preserved in the END
+       block, apparently as required by posix.  thanks to havard eidnes
+       for the report and code.
+
+Jan 14, 2005:
+       fixed infinite loop in parsing, originally found by brian tsang.
+       thanks to arnold robbins for a suggestion that started me
+       rethinking it.
+
+Dec 31, 2004:
+       prevent overflow of -f array in main, head off potential error in 
+       call of SYNTAX(), test malloc return in lib.c, all with thanks to 
+       todd miller.
+
+Dec 22, 2004:
+       cranked up size of NCHARS; coverity thinks it can be overrun with
+       smaller size, and i think that's right.  added some assertions to b.c
+       to catch places where it might overrun.  the RE code is still fragile.
+
+Dec 5, 2004:
+       fixed a couple of overflow problems with ridiculous field numbers:
+       e.g., print $(2^32-1).  thanks to ruslan ermilov, giorgos keramidas
+       and david o'brien at freebsd.org for patches.  this really should
+       be re-done from scratch.
+
+Nov 21, 2004:
+       fixed another 25-year-old RE bug, in split.  it's another failure
+       to (re-)initialize.  thanks to steve fisher for spotting this and
+       providing a good test case.
+
+Nov 22, 2003:
+       fixed a bug in regular expressions that dates (so help me) from 1977;
+       it's been there from the beginning.  an anchored longest match that
+       was longer than the number of states triggered a failure to initialize
+       the machine properly.  many thanks to moinak ghosh for not only finding
+       this one but for providing a fix, in some of the most mysterious
+       code known to man.
+
+       fixed a storage leak in call() that appears to have been there since
+       1983 or so -- a function without an explicit return that assigns a 
+       string to a parameter leaked a Cell.  thanks to moinak ghosh for 
+       spotting this very subtle one.
+
+Jul 31, 2003:
+       fixed, thanks to andrey chernov and ruslan ermilov, a bug in lex.c
+       that mis-handled the character 255 in input.  (it was being compared
+       to EOF with a signed comparison.)
+
+Jul 29, 2003:
+       fixed (i think) the long-standing botch that included the beginning of
+       line state ^ for RE's in the set of valid characters; this led to a
+       variety of odd problems, including failure to properly match certain
+       regular expressions in non-US locales.  thanks to ruslan for keeping
+       at this one.
+
+Jul 28, 2003:
+       n-th try at getting internationalization right, with thanks to volker
+       kiefel, arnold robbins and ruslan ermilov for advice, though they
+       should not be blamed for the outcome.  according to posix, "."  is the
+       radix character in programs and command line arguments regardless of
+       the locale; otherwise, the locale should prevail for input and output
+       of numbers.  so it's intended to work that way.
+       
+       i have rescinded the attempt to use strcoll in expanding shorthands in
+       regular expressions (cclenter).  its properties are much too
+       surprising; for example [a-c] matches aAbBc in locale en_US but abBcC
+       in locale fr_CA.  i can see how this might arise by implementation
+       but i cannot explain it to a human user.  (this behavior can be seen
+       in gawk as well; we're leaning on the same library.)
+
+       the issue appears to be that strcoll is meant for sorting, where
+       merging upper and lower case may make sense (though note that unix
+       sort does not do this by default either).  it is not appropriate
+       for regular expressions, where the goal is to match specific
+       patterns of characters.  in any case, the notations [:lower:], etc.,
+       are available in awk, and they are more likely to work correctly in
+       most locales.
+
+       a moratorium is hereby declared on internationalization changes.
+       i apologize to friends and colleagues in other parts of the world.
+       i would truly like to get this "right", but i don't know what
+       that is, and i do not want to keep making changes until it's clear.
+
+Jul 4, 2003:
+       fixed bug that permitted non-terminated RE, as in "awk /x".
+
+Jun 1, 2003:
+       subtle change to split: if source is empty, number of elems
+       is always 0 and the array is not set.
+
+Mar 21, 2003:
+       added some parens to isblank, in another attempt to make things
+       internationally portable.
+
+Mar 14, 2003:
+       the internationalization changes, somewhat modified, are now
+       reinstated.  in theory awk will now do character comparisons
+       and case conversions in national language, but "." will always
+       be the decimal point separator on input and output regardless
+       of national language.  isblank(){} has an #ifndef.
+
+       this no longer compiles on windows: LC_MESSAGES isn't defined
+       in vc6++.
+
+       fixed subtle behavior in field and record splitting: if FS is
+       a single character and RS is not empty, \n is NOT a separator.
+       this tortuous reading is found in the awk book; behavior now
+       matches gawk and mawk.
+
+Dec 13, 2002:
+       for the moment, the internationalization changes of nov 29 are
+       rolled back -- programs like x = 1.2 don't work in some locales,
+       because the parser is expecting x = 1,2.  until i understand this
+       better, this will have to wait.
+
+Nov 29, 2002:
+       modified b.c (with tiny changes in main and run) to support
+       locales, using strcoll and iswhatever tests for posix character
+       classes.  thanks to ruslan ermilov (ru%freebsd.org@localhost) for code.
+       the function isblank doesn't seem to have propagated to any
+       header file near me, so it's there explicitly.  not properly
+       tested on non-ascii character sets by me.
+
+Jun 28, 2002:
+       modified run/format() and tran/getsval() to do a slightly better
+       job on using OFMT for output from print and CONVFMT for other
+       number->string conversions, as promised by posix and done by 
+       gawk and mawk.  there are still places where it doesn't work
+       right if CONVFMT is changed; by then the STR attribute of the
+       variable has been irrevocably set.  thanks to arnold robbins for
+       code and examples.
+
+       fixed subtle bug in format that could get core dump.  thanks to
+       Jaromir Dolecek <jdolecek%NetBSD.org@localhost> for finding and fixing.
+       minor cleanup in run.c / format() at the same time.
+
+       added some tests for null pointers to debugging printf's, which
+       were never intended for external consumption.  thanks to dave
+       kerns (dkerns%lucent.com@localhost) for pointing this out.
+
+       GNU compatibility: an empty regexp matches anything (thanks to
+       dag-erling smorgrav, des%ofug.org@localhost).  subject to reversion if
+       this does more harm than good.
+
+       pervasive small changes to make things more const-correct, as
+       reported by gcc's -Wwrite-strings.  as it says in the gcc manual,
+       this may be more nuisance than useful.  provoked by a suggestion
+       and code from arnaud desitter, arnaud%nimbus.geog.ox.ac.uk@localhost
+
+       minor documentation changes to note that this now compiles out
+       of the box on Mac OS X.
+
+Feb 10, 2002:
+       changed types in posix chars structure to quiet solaris cc.
+
+Jan 1, 2002:
+       fflush() or fflush("") flushes all files and pipes.
+
+       length(arrayname) returns number of elements; thanks to 
+       arnold robbins for suggestion.
+
+       added a makefile.win to make it easier to build on windows.
+       based on dan allen's buildwin.bat.
+
+Nov 16, 2001:
+       added support for posix character class names like [:digit:],
+       which are not exactly shorter than [0-9] and perhaps no more
+       portable.  thanks to dag-erling smorgrav for code.
+
+Feb 16, 2001:
+       removed -m option; no longer needed, and it was actually
+       broken (noted thanks to volker kiefel).
+
+Feb 10, 2001:
+       fixed an appalling bug in gettok: any sequence of digits, +,-, E, e,
+       and period was accepted as a valid number if it started with a period.
+       this would never have happened with the lex version.
+
+       other 1-character botches, now fixed, include a bare $ and a
+       bare " at the end of the input.
+
+Feb 7, 2001:
+       more (const char *) casts in b.c and tran.c to silence warnings.
+
+Nov 15, 2000:
+       fixed a bug introduced in august 1997 that caused expressions
+       like $f[1] to be syntax errors.  thanks to arnold robbins for
+       noticing this and providing a fix.
+
+Oct 30, 2000:
+       fixed some nextfile bugs: not handling all cases.  thanks to
+       arnold robbins for pointing this out.  new regressions added.
+
+       close() is now a function.  it returns whatever the library
+       fclose returns, and -1 for closing a file or pipe that wasn't
+       opened.
+
+Sep 24, 2000:
+       permit \n explicitly in character classes; won't work right
+       if comes in as "[\n]" but ok as /[\n]/, because of multiple
+       processing of \'s.  thanks to arnold robbins.
+



Home | Main Index | Thread Index | Old Index