diff options
author | asau <asau@pkgsrc.org> | 2011-05-26 20:06:13 +0000 |
---|---|---|
committer | asau <asau@pkgsrc.org> | 2011-05-26 20:06:13 +0000 |
commit | 2add954830919ea8cf41b734ac47f244e04bce24 (patch) | |
tree | b53b368832e9ff6562a68c787ca562efdd09c21b /lang/chicken | |
parent | 61a78302d1547ccf22a658bdc722da4738928031 (diff) | |
download | pkgsrc-2add954830919ea8cf41b734ac47f244e04bce24.tar.gz |
Update Chicken to version 4.7.0
Provided by Peter Bex on IRC.
Changes in 4.7.0
- Build system
- On BSD, libchicken.so is linked with -lpthread, as this seems
to be required for linking libraries that require pthreads
- The C header-files are now installed in a subdirectory below
the "PRFIX/include" directory to allow installation of multiple
chickens with different PROGRAM_PREFIX/PROGRAM_SUFFIX settings
in the same prefix; to avoid conflicts with existing CHICKEN
headers, it is recommended to completely remove any old
installation before installing the new version
- the PROGRAM_PREFIX and PROGRAM_SUFFIX configuration settings
are applied to generated files and directories which allows
perform differently named installations into the same PREFIX
- increaded binary-compatibility version from 5 to 6, which
means installed extensions in an existing installations will
have to be re-installed
- bugfixes in mingw/msys makefiles
- Sven Hartrumpf contributed a bugfix to the internal helper
script for creating distribution directories
- Peter Bex has cleaned up the makefiles heavily, making the
build more maintainable and easier to modify; thanks to all
who helped testing this new build
- renamed the makefile to `GNUmakefile' to catch using the
a make(3) other than GNU make
- configuration-header fix for BSD systems (thanks to Peter Bex
and Christian Kellermann)
- Core libraries
- the `regex' library unit has been removed and is separately
available as an extension which should be fully backwards-
compatible
- `irregex' is now a core library unit and replaces the `regex' API
- "extras" unit
- fixed pretty-printer output of certain escaped character
sequences inside strings (thanks to Mario Domenech Goulart,
thanks to Kon Lovett for pointing out a missing test-file)
- The pretty printer did not escape some control characters correctly
(reported by Alan Post)
- control-characters in symbol-names are now properly escaped if
the symbol is printed readably (thanks to Alaric Snell-Pym
for pointing this out)
- the deprecated `random-seed' function has been removed
- "files" unit
- fixed bug in `normalize-pathname'
- `file-copy' and `file-move' check whether the source-file is a
directory
- `delete-directory' now optionally deletes directories recursively
- "irregex" unit
- Peter Bex has contributed various bugfixes and performance
enhancements
- "library" unit
- Added "condition->list" (thanks to Christian Kellermann)
- The reader accepts now escaped octal character codes in string
literals
- Read-syntax can return zero values to indicate ignored objects
- R5RS output output routines now always return a "void" result
- "\|" was not correctly escaped when occurring inside
symbol print names
- added `condition->list', contributed by Christian Kellermann
- added `equal=?'
- removed deprecated `getenv', `left-section', `right-section',
`project', `c-runtime' and `noop'
- added missing import-library entry for `vector-copy!' (thanks
to Jules Altfas)
- circular or excessively deeply nested data generates a more
useful error message when encountered by `equal?'
- `list-tail' gives now a better error message when passed a
non-list argument
- fixed bug in `getter-with-setter' that modified the first
argument if it already had a setter procedure attached
- fixed incorrect size of internal data vector used in `time'
(thanks to Kon Lovett)
- "lolevel" unit
- removed deprecated `global-bound?', `global-make-unbound',
`global-ref' and `global-set!' procedures
- added support for `pointer-vectors':
- make-pointer-vector
- pointer-vector?
- pointer-vector-length
- pointer-vector-ref
- pointer-vector-set!
- "posix" unit
- "close-input-pipe" did not return the status code of a
terminated process on Windows (reported by Mario Domenech Goulart)
- added `file-creation-mode' (suggested by Mario Domenech Goulart)
- "setup-api" unit
- `required-extension-version' and `required-chicken-version' have
been deprecated
- "srfi-18" unit
- removed deprecated `milliseconds->time' and `time->milliseconds'
procedures
- `make-mutex' incorrectly created mutexes as initially owned by
the current threads (thanks to Joerg Wittenberger)
- the file-descriptor handling in the scheduler has been simplified
and performs some sanity checks
- deadlock in the scheduler now terminates the process instead of
attempting to throw an error
- added some sanity checks to the scheduler
- "tcp" unit
- Fixed bug in "tcp-abandon-port" (reported by Jim Ursetto)
- "utils" unit
- `compile-file' now returns `#f' when the compilation fails,
instead of raising an error
- Compiler
- Removed unreliable lambda-lifting optimization (now, really!);
the "-lambda-lift" option is still accepted but produces a
warning
- When "-scrutinize" is given, installed ".types" files will be
automatically consulted for extensions and used units
- Fixed optimizer bug in handling of "let" forms with multiple
bindings which could result in toplevel assignments being
silently dropped (reported by Moritz Heidkamp)
- the `-accumulate-profile' option did not provide a way to
specify the target profile data file - now `-profile-name'
must always be given when accumulated profiling is done
(thanks to Taylor Venable)
- added `-module' option, which wraps the code into an implicit
module
- removed check for unsafe toplevel calls in safe mode
- intrinsic handling of `exact->inexact' and `string->number' is
now more efficient
- fixed bug in leaf-routine optimization (thanks to David
Dreisigmeyer)
- unit-toplevel entry-points are now named differently, which
may break binary-compatibility with existing compiled Scheme
code modules
- fixed invalid dropping of unused external entry-points in
block-mode
- fixed incorrect lambda-list check in scrutinizer (thanks to
Alan Post)
- Kon Lovett reported numerous bugs in the type-database used
by the scrutinizer
- `-fwrapv' is disabled on OpenBSD, since the default compiler
does not support this option (thanks to Christian Kellermann)
- on Solaris `gcc' is used by default, override `C_COMPILER'
to use the Sun compiler instead
- declaring a function `notinline' will prevent direct-call
optimization for known procedure calls
- the implementation of overflow-detection for arithmetic operations
on fixnums have been replaced and now allow using the full 63-bit
range of fixnums on 64-bit systems
- fixed serious inlining-bug (thanks to Sven Hartrumpf)
- constant-folding in the compiler has been simplified and
is more reliable (thanks to Sven Hartrumpf)
- optimization-levels 3 and higher imply `-unboxing -inline-global'
- added new declaration `unsafe-specialized-arithmetic' which allows
optimizing unboxed floating-point arithmetic in safe mode
- removed `scrutinize' declaration
- the warning shown when unimported identifiers are used in compiled
modules now also shows the name of the procedure where the
identifier is referenced (suggested by Alaric Snell-Pym)
- Documentation
- Added list of installed files to README
- Documented remaining "c...r" standard procedures (thanks to
Juergen Lorenz)
- The manual is now installed in HTML format in
PREFIX/share/chicken/doc, many thanks to Jim Ursetto for
contributing is excellent `manual-labor' extension which made
this possible
- Foreign function interface
- Added support for missing "(const [XXX-]c-string)" foreign type
(thanks to Moritz Heidkamp)
- removed deprecated `pointer', `nonnull-pointer', `byte-vector'
and `nonnull-byte-vector' types
- added missing result-type handling for `unsigned-integer64'
(thanks to Moritz Heidkamp)
- added `foreign-type-size' macro
- added the new foreign type `size_t' (suggested by Moritz
Heidkamp)
- added the missing `unsigned-integer64' foreign type (thanks
to Moritz for catching this)
- added new foreign type `pointer-vector' which maps to `void **'
and provided a low-level API in the `lolevel' library unit for
manipulating pointer vectors
- Runtime system
- Fixed typo in "runtime.c" (thanks to Sven Hartrumpf)
- Little-endian detection on MIPS systems was not correct (thanks
to Christian Kellermann)
- Fixed bug in handling of runtime-options with arguments (also
reported by Christian Kellermann)
- `equal?' does not compare procedures recursively anymore
- fixed incorrect use of alloca.h on OpenBSD (thanks to
Christian Kellermann and Alan Post)
- checks for NaN and infinity are now done using ISO C99
operations, which required various changes to `chicken.h'
to make the code compile in ISO C99 mode
- remaining debris regarding MSVC builds has been removed
- fixed bug in argument-type check for 64-bit integer (thanks
to Kon Lovett)
- increased default trace-buffer size from 10 to 16
- fixed bug in low-level termination routine (thanks to
Jeronimo Pellegrini)
- the scheduler handles violations of internal invariants
regarding threads slightly more gracefully (thanks to Jim
Ursetto)
- fixed broken sleep-time conversion (thanks to Karel Miklav)
- repaired broken handling of multiple finalizers that referred
to the same object (reported by Moritz Heidkamp)
- fixed problem with reader and escaping of single-char symbols
- Syntax expander
- For-syntax syntax definitions where not correctly retained inside
modules
- Peter Bex fixed various critical bugs in the expander
- The simplification for quasiquote expressions was unable
to handle certain circular data (reported by Moritz Heidkamp)
- `syntax-rules' now supports tail-patterns and is now fully
SRFI-46 compatible - many thanks to Peter Bex for implementing
this
- Peter Bex provided a bugfix for resolution of primitive imports
- handling of internal definitions with shadowed defining
forms is now done correctly - fix once again from Peter Bex
- corrected non-standard behaviour of quasiquote with respect
to nested quasiquotations - another bugfix by our mighty macro
master
- removed stub-implementation of `define-macro'
- handled case where a global redefinition of `cons' influenced
a non-inlined internal use in the expander (thanks to David
Steiner)
- `define-record' now allows defining SRFI-17 setter procedures
for accessing slots
- the expansion of DSSSL lambda-lists uses now `let-optionals*'
internally instead of `let-optionals' and so allows
back-references to earlier formal variables; this also results in
faster and more compact code for argument-list destructuring
(thanks to Alan Post)
- new "implicit renaming" macro facility contributed by Peter Bex
(see `ir-macro-transformer')
- record-definitions are now made local to the module in which
they are defined (thanks to Jim Ursetto)
- parameters are now settable and can be modified using `set!'
(SRFI-17)
- added a SRFI-17 setter to `list-ref'
- added literal blob syntax ("#{ ... }")
- Tools
- chicken-install
- option "-deploy" does not compile deployed extensions with
"-setup-mode" anymore to avoid problems with dynamic loading on
some platforms (specifically Mac OS X)
- option "-deploy" option did not copy the correct library
(including the version-number) (thanks to Christian Kellermann)
- added support for proxy-authentification (thanks to Iruata Souza)
- when installing from a local directory `chicken-install' now
removes existing `*.so' files in that location to avoid stale
binaries when the `make' syntax is used in setup scripts
- chicken-bug
- removed disabled e-mail support
- csc
- removed `-static-extension' option
- removed deprecated `-windows' option
- fixed incorrect use of `chicken.rc' on non-Windows platforms
in `-gui' mode (thanks to "ddp")
- when compiling in C++ mode, the compiler will be called with the
`-Wno-write-strings' option
- `-frwapv' has been added to the default C compiler options
- csi
- the ",m" toplevel command now accepts "#f" to switch back to
the initial empty module context (suggested by Christian Kellermann)
- fixed broken `,g' toplevel command
- deprecated `script' feature identifier (use `chicken-script'
instead)
- options `-p' and `-P' and `-e' imply `-no-init'
- the call-trace reported will not include exception-handler code
anymore (suggested by Christian Kellermann)
Diffstat (limited to 'lang/chicken')
-rw-r--r-- | lang/chicken/Makefile | 8 | ||||
-rw-r--r-- | lang/chicken/PLIST | 160 | ||||
-rw-r--r-- | lang/chicken/distinfo | 8 |
3 files changed, 90 insertions, 86 deletions
diff --git a/lang/chicken/Makefile b/lang/chicken/Makefile index 2eb0d17f99c..151903650e3 100644 --- a/lang/chicken/Makefile +++ b/lang/chicken/Makefile @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.43 2010/09/13 12:43:16 asau Exp $ +# $NetBSD: Makefile,v 1.44 2011/05/26 20:06:13 asau Exp $ -DISTNAME= chicken-4.6.0 +DISTNAME= chicken-4.7.0 CATEGORIES= lang MASTER_SITES= http://code.call-cc.org/releases/${PKGVERSION_NOREV}/ @@ -18,7 +18,7 @@ USE_TOOLS+= gmake UNLIMIT_RESOURCES= datasize INSTALLATION_DIRS= share/chicken -OWN_DIRS= ${PREFIX}/lib/chicken ${PREFIX}/lib/chicken/5 +OWN_DIRS= ${PREFIX}/lib/chicken ${PREFIX}/lib/chicken/6 BUILD_TARGET= all @@ -41,6 +41,8 @@ PLATFORM= haiku PKG_FAIL_REASON= "${OPSYS} is not supported" .endif +MAKE_FILE= GNUmakefile +MAKE_ENV+= C_COMPILER=$(CC:Q) MAKE_ENV+= HOST= # fix ${HOST} prepending ${CC} # Need to have these in MAKE_FLAGS, MAKE_ENV is not enough due to the # way the build system overrides them. diff --git a/lang/chicken/PLIST b/lang/chicken/PLIST index 3b1849b68c6..c6018234751 100644 --- a/lang/chicken/PLIST +++ b/lang/chicken/PLIST @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.28 2010/09/13 12:43:16 asau Exp $ +@comment $NetBSD: PLIST,v 1.29 2011/05/26 20:06:13 asau Exp $ bin/chicken bin/chicken-bug bin/chicken-install @@ -7,36 +7,35 @@ bin/chicken-status bin/chicken-uninstall bin/csc bin/csi -include/chicken-config.h -include/chicken.h -lib/chicken/5/chicken.import.so -lib/chicken/5/csi.import.so -lib/chicken/5/data-structures.import.so -lib/chicken/5/extras.import.so -lib/chicken/5/files.import.so -lib/chicken/5/foreign.import.so -lib/chicken/5/irregex.import.so -lib/chicken/5/lolevel.import.so -lib/chicken/5/ports.import.so -lib/chicken/5/posix.import.so -lib/chicken/5/regex.import.so -lib/chicken/5/scheme.import.so -lib/chicken/5/setup-api.import.so -lib/chicken/5/setup-api.so -lib/chicken/5/setup-download.import.so -lib/chicken/5/setup-download.so -lib/chicken/5/srfi-1.import.so -lib/chicken/5/srfi-13.import.so -lib/chicken/5/srfi-14.import.so -lib/chicken/5/srfi-18.import.so -lib/chicken/5/srfi-4.import.so -lib/chicken/5/srfi-69.import.so -lib/chicken/5/tcp.import.so -lib/chicken/5/types.db -lib/chicken/5/utils.import.so +include/chicken/chicken-config.h +include/chicken/chicken.h +lib/chicken/6/chicken.import.so +lib/chicken/6/csi.import.so +lib/chicken/6/data-structures.import.so +lib/chicken/6/extras.import.so +lib/chicken/6/files.import.so +lib/chicken/6/foreign.import.so +lib/chicken/6/irregex.import.so +lib/chicken/6/lolevel.import.so +lib/chicken/6/ports.import.so +lib/chicken/6/posix.import.so +lib/chicken/6/scheme.import.so +lib/chicken/6/setup-api.import.so +lib/chicken/6/setup-api.so +lib/chicken/6/setup-download.import.so +lib/chicken/6/setup-download.so +lib/chicken/6/srfi-1.import.so +lib/chicken/6/srfi-13.import.so +lib/chicken/6/srfi-14.import.so +lib/chicken/6/srfi-18.import.so +lib/chicken/6/srfi-4.import.so +lib/chicken/6/srfi-69.import.so +lib/chicken/6/tcp.import.so +lib/chicken/6/types.db +lib/chicken/6/utils.import.so lib/libchicken.a lib/libchicken.so -lib/libchicken.so.5 +lib/libchicken.so.6 man/man1/chicken-bug.1 man/man1/chicken-install.1 man/man1/chicken-profile.1 @@ -45,56 +44,59 @@ man/man1/chicken-uninstall.1 man/man1/chicken.1 man/man1/csc.1 man/man1/csi.1 -share/chicken/chicken.png share/chicken/setup.defaults share/doc/${PKGNAME}/LICENSE share/doc/${PKGNAME}/README -share/doc/${PKGNAME}/manual/Accessing external objects -share/doc/${PKGNAME}/manual/Acknowledgements -share/doc/${PKGNAME}/manual/Basic mode of operation -share/doc/${PKGNAME}/manual/Bibliography -share/doc/${PKGNAME}/manual/Bugs and limitations -share/doc/${PKGNAME}/manual/C interface -share/doc/${PKGNAME}/manual/Callbacks -share/doc/${PKGNAME}/manual/Cross development -share/doc/${PKGNAME}/manual/Data representation -share/doc/${PKGNAME}/manual/Declarations -share/doc/${PKGNAME}/manual/Deployment -share/doc/${PKGNAME}/manual/Deviations from the standard -share/doc/${PKGNAME}/manual/Embedding -share/doc/${PKGNAME}/manual/Exceptions -share/doc/${PKGNAME}/manual/Extensions -share/doc/${PKGNAME}/manual/Extensions to the standard -share/doc/${PKGNAME}/manual/Foreign type specifiers -share/doc/${PKGNAME}/manual/Getting started -share/doc/${PKGNAME}/manual/Interface to external functions and variables -share/doc/${PKGNAME}/manual/Locations -share/doc/${PKGNAME}/manual/Modules -share/doc/${PKGNAME}/manual/Non-standard macros and special forms -share/doc/${PKGNAME}/manual/Non-standard read syntax -share/doc/${PKGNAME}/manual/Other support procedures -share/doc/${PKGNAME}/manual/Parameters -share/doc/${PKGNAME}/manual/Supported language -share/doc/${PKGNAME}/manual/The R5RS standard -share/doc/${PKGNAME}/manual/The User's Manual -share/doc/${PKGNAME}/manual/Unit data-structures -share/doc/${PKGNAME}/manual/Unit eval -share/doc/${PKGNAME}/manual/Unit expand -share/doc/${PKGNAME}/manual/Unit extras -share/doc/${PKGNAME}/manual/Unit files -share/doc/${PKGNAME}/manual/Unit library -share/doc/${PKGNAME}/manual/Unit lolevel -share/doc/${PKGNAME}/manual/Unit ports -share/doc/${PKGNAME}/manual/Unit posix -share/doc/${PKGNAME}/manual/Unit regex -share/doc/${PKGNAME}/manual/Unit srfi-1 -share/doc/${PKGNAME}/manual/Unit srfi-13 -share/doc/${PKGNAME}/manual/Unit srfi-14 -share/doc/${PKGNAME}/manual/Unit srfi-18 -share/doc/${PKGNAME}/manual/Unit srfi-4 -share/doc/${PKGNAME}/manual/Unit srfi-69 -share/doc/${PKGNAME}/manual/Unit tcp -share/doc/${PKGNAME}/manual/Unit utils -share/doc/${PKGNAME}/manual/Using the compiler -share/doc/${PKGNAME}/manual/Using the interpreter -share/doc/${PKGNAME}/manual/faq +share/doc/${PKGNAME}/manual/Accessing external objects.html +share/doc/${PKGNAME}/manual/Acknowledgements.html +share/doc/${PKGNAME}/manual/Basic mode of operation.html +share/doc/${PKGNAME}/manual/Bibliography.html +share/doc/${PKGNAME}/manual/Bugs and limitations.html +share/doc/${PKGNAME}/manual/C interface.html +share/doc/${PKGNAME}/manual/Callbacks.html +share/doc/${PKGNAME}/manual/Cross development.html +share/doc/${PKGNAME}/manual/Data representation.html +share/doc/${PKGNAME}/manual/Declarations.html +share/doc/${PKGNAME}/manual/Deployment.html +share/doc/${PKGNAME}/manual/Deviations from the standard.html +share/doc/${PKGNAME}/manual/Embedding.html +share/doc/${PKGNAME}/manual/Exceptions.html +share/doc/${PKGNAME}/manual/Extensions.html +share/doc/${PKGNAME}/manual/Extensions to the standard.html +share/doc/${PKGNAME}/manual/Foreign type specifiers.html +share/doc/${PKGNAME}/manual/Getting started.html +share/doc/${PKGNAME}/manual/Interface to external functions and variables.html +share/doc/${PKGNAME}/manual/Locations.html +share/doc/${PKGNAME}/manual/Macros.html +share/doc/${PKGNAME}/manual/Modules.html +share/doc/${PKGNAME}/manual/Non-standard macros and special forms.html +share/doc/${PKGNAME}/manual/Non-standard read syntax.html +share/doc/${PKGNAME}/manual/Other support procedures.html +share/doc/${PKGNAME}/manual/Parameters.html +share/doc/${PKGNAME}/manual/Supported language.html +share/doc/${PKGNAME}/manual/The R5RS standard.html +share/doc/${PKGNAME}/manual/The User's Manual.html +share/doc/${PKGNAME}/manual/Unit data-structures.html +share/doc/${PKGNAME}/manual/Unit eval.html +share/doc/${PKGNAME}/manual/Unit expand.html +share/doc/${PKGNAME}/manual/Unit extras.html +share/doc/${PKGNAME}/manual/Unit files.html +share/doc/${PKGNAME}/manual/Unit irregex.html +share/doc/${PKGNAME}/manual/Unit library.html +share/doc/${PKGNAME}/manual/Unit lolevel.html +share/doc/${PKGNAME}/manual/Unit ports.html +share/doc/${PKGNAME}/manual/Unit posix.html +share/doc/${PKGNAME}/manual/Unit srfi-1.html +share/doc/${PKGNAME}/manual/Unit srfi-13.html +share/doc/${PKGNAME}/manual/Unit srfi-14.html +share/doc/${PKGNAME}/manual/Unit srfi-18.html +share/doc/${PKGNAME}/manual/Unit srfi-4.html +share/doc/${PKGNAME}/manual/Unit srfi-69.html +share/doc/${PKGNAME}/manual/Unit tcp.html +share/doc/${PKGNAME}/manual/Unit utils.html +share/doc/${PKGNAME}/manual/Using the compiler.html +share/doc/${PKGNAME}/manual/Using the interpreter.html +share/doc/${PKGNAME}/manual/chicken.png +share/doc/${PKGNAME}/manual/faq.html +share/doc/${PKGNAME}/manual/index.html +share/doc/${PKGNAME}/manual/manual.css diff --git a/lang/chicken/distinfo b/lang/chicken/distinfo index 25465be7b90..a2fdf30ccc1 100644 --- a/lang/chicken/distinfo +++ b/lang/chicken/distinfo @@ -1,5 +1,5 @@ -$NetBSD: distinfo,v 1.31 2010/09/13 12:43:16 asau Exp $ +$NetBSD: distinfo,v 1.32 2011/05/26 20:06:13 asau Exp $ -SHA1 (chicken-4.6.0.tar.gz) = a801383786908022223c32337fb1c5814e6c26a5 -RMD160 (chicken-4.6.0.tar.gz) = f279b39b8294496a6e22b39b56d3fcf108d55405 -Size (chicken-4.6.0.tar.gz) = 3019126 bytes +SHA1 (chicken-4.7.0.tar.gz) = 504036951eccda7680547dae63ad44e8960d3f72 +RMD160 (chicken-4.7.0.tar.gz) = 421f6e7383a666b836a7ad9d5ac342c8033bfff6 +Size (chicken-4.7.0.tar.gz) = 3392031 bytes |