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