a) refer 'perl' in their Makefile, or
b) have a directory name of p5-*, or
c) have any dependency on any p5-* package
Like last time, where this caused no complaints.
New in 5.9.5 - May 2008
* integer number arguments may now have their values suffixed with
one of the letters k/K/m/M/g/G/t/T to signify scaling by powers
of 1000 (lower case) or 1024 (upper case). Specify, "scaled".
* AutoOpts "arg-type" may now be set to "file". Existence of the directory
portion of the name will be checked. The existence (or not) of the actual
file may also be checked. Finally, the file may be pre-opened with either
"fopen(3C)" or "open(2)".
* The "columns" program now accepts a "--fill" option to cause it to fill
text instead of filling columns.
* The tests should no longer indirectly reference installed versions of
the binaries. They should all work out of the build directories.
many bugfixes and feature additions, too much to list here
Thanks to Ulrich Etile for help and testing. (There might be remaining
issues on some platforms, but I wanted to checkpoint before the Q4 freeze.)
There also seem to be issues with guile's thread support.
Changes since 5.6.4 includes:
* Fixed a small timing hole where the read from the read end of the output
pipe of the server shell can fail. (The read is retried.)
* Added a macro for testing mmap failure to accommodate a picky compiler.
* The minor version number is being bumped. There is a new (albeit tiny)
feature being added to the syntax. See the doc on the pseudo-macro.
* Fixed a bug wherein out-of-order definitions could get mistyped causing
various catastrophic results.
* Definition and license text files were mmap-ed in without checking for
the size being a multiple of a page. strlen() would seg fault.
Horrible, horrible design of mmap!
* disable autoopts/test/getopt.test unless autoopts has been fully installed.
(It requires getopt.tpl which requires a fully installed environment.)
* several other usability improvements to the tear off library.
* template shell code may now use a shell function "die" that will print
an error message and shoot down the master autogen process.
* the tear-off/add-in libopts library will now specify that the
"options.h" header is to be installed.
* realpath(3C) usage in libopts has been cleaned up. It is now only used
if PATH_MAX is defined for the platform. canonicalize_file_name(3C) is
used where available.
makeinfo if no native makeinfo executable exists. Honor TEXINFO_REQD
when determining whether the native makeinfo can be used.
* Remove USE_MAKEINFO and replace it with USE_TOOLS+=makeinfo.
* Get rid of all the "split" argument deduction for makeinfo since
the PLIST module already handles varying numbers of split info files
correctly.
NOTE: Platforms that have "makeinfo" in the base system should check
that the makeinfo entries of pkgsrc/mk/tools.${OPSYS}.mk are
correct.
AutoOpts:
* The listing of enumerated option arguments is a bit more concise.
* Options may be handled twice: once during the immediate phase and
again during the "normal" processing phase.
* If environment variable "rc" processing is enabled, then the
"${PROGNAME}" environment variable will be processed - tokenizing it
and processing it as a list of command line options. It may not
contain any command line operands.
* a new main procedure type: each-or-stdin This will fopen() each
command line operand and pass the FILE* pointer to the callout procedure.
If there are no operands, then stdin is passed.
* main() procedures can be specified more consistently
AutoGen:
* The '$$' expansion in locating the program will now use "realpath(3C)".
This way, if a program is installed in /opt/whatever/bin/program
and you run it via a symlink, '$$' will resolve to /opt/whatever/bin.
* exist and not-exist selection macros -- the CASE macro can now
select a clause based on value existence. Previously, you could detect
an empty string and you then had to use the ``(exist? "name")'' function.
* fixed tpl-file-line so that "%2$d" works for the format.
* Added (emit) function that directly emits its args into output
* keyword lists are columnized in usage text
* distributed subdirectories no longer depend on also being built.
getdefs (an AutoGen support utility):
* With "listed" attributes, if you quote an entry, then the scanning code
has to push the scan forward to the next entry so we don't wind up with
a spurious empty entry!!
Unfortunately, guile{,14}/buildlink3.mk directly includes it, and I don't
know which dependencies actually need libltdl, so it was a recursive bump.
Hopefully this recursive inclusion can be ripped out of
guile{,14}/buildlink3.mk at some point and bubble down to dependencies that
actually use libltdl, avoiding this headache in the future....
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:
lib/libfoo.a
lib/libfoo.la
lib/libfoo.so
lib/libfoo.so.0
lib/libfoo.so.0.1
one simply needs:
lib/libfoo.la
and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.
Also make LIBTOOLIZE_PLIST default to "yes".
Changes since 5.5.3:
* AutoFSM was enhanced with the notion of a "noop" transition handling
* fmemopen() is now used (when possible) for anonymous output (diversions)
* The Guile function (chdir "...") is now wrapped so AutoGen can adapt
* the definitions parser now uses a FSM parser instead of YACC
* AutoOpt-ed programs can now have internationalized usage text
* Templates have been added for using getopt(3) or getopt_long(3GNU)
to parse options (in lieu of libopts).
* better docs on partitioned ini (rc) files
Changes since 5.5.2 include:
* AutoOpts' usage procedure has been enhanced to produce either AutoOpts
standard usage or usage that looks more like current GNU practices.
The latter provides less information and help.
* I32LPx behavior has improved. Don't think I can call it "industrial
strength" just yet, tho.
New in 5.5.2 - February, 2003
* Fixes for FreeBSD weirdisms with sed, dlopen(), and the Guile library
* stash offsets in uintptr_t types so this thing works when
sizeof(void*) != sizeof(off_t)
* still more configury fixes. It will never, ever end.
New in 5.5 - December 15, 2002
* The FOR macro will now accept a list of values, as in:
[= FOR v IN one, "two , part" three =]
* snprintfv-0.99f was fully incorporated, saving 300K of distribution
space and a lot of configure time.
* The 'dne' function will accept "-d" as the first argument in order
to suppress the date from the output.
New in 5.4.8 - December 10, 2002
* Freed AutoOpts from libguile. It was never really dependent.
* new snprintfv library incorporated
AutoGen is a tool designed for generating program files that contain
repetitive text with varied substitutions. Its goal is to simplify the
maintenance of programs that contain large amounts of repetitious text.
This is especially valuable if there are several blocks of such text that
must be kept synchronized.