summaryrefslogtreecommitdiff
path: root/lang/chicken
diff options
context:
space:
mode:
authorasau <asau>2011-05-26 20:06:13 +0000
committerasau <asau>2011-05-26 20:06:13 +0000
commit77b66a60b61a5743fb6532f0f3b85951ddd38f16 (patch)
treeb53b368832e9ff6562a68c787ca562efdd09c21b /lang/chicken
parent75361b40e2a67e9be71743e03a8f91198aa426db (diff)
downloadpkgsrc-77b66a60b61a5743fb6532f0f3b85951ddd38f16.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/Makefile8
-rw-r--r--lang/chicken/PLIST160
-rw-r--r--lang/chicken/distinfo8
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