summaryrefslogtreecommitdiff
path: root/lang/chicken/Makefile
diff options
context:
space:
mode:
authorasau <asau@pkgsrc.org>2012-10-03 12:12:45 +0000
committerasau <asau@pkgsrc.org>2012-10-03 12:12:45 +0000
commitd12b72eb47131914f30d917908efb744b5acc52e (patch)
treecbb43e6890130b19748ea5b420a80191f6e84896 /lang/chicken/Makefile
parentd1b415e788321ed8819ce1d582d34128333a3fd1 (diff)
downloadpkgsrc-d12b72eb47131914f30d917908efb744b5acc52e.tar.gz
Update to Chicken 4.8.0.
From Peter Bex via pkgsrc-wip. Changes since 4.7.0.6: - Security fixes - improved hash table collision resistance and added randomization to prevent malicious external causes of collisions. All SRFI-69 procedures accept extra arguments to control randomization for testing/debugging. - Added checks for embedded '\0' characters in strings passed to some C functions on a lower level than Chicken's FFI. - Build system - version information has been moved into a separate unit to make the build-version shown in the banner and accessible through library procedures more accurate, this also speeds up the build on version- changes (thanks to Jim Ursetto for contributing this) - the build was made more reliable with respect to cross-compilation and custom installation names - the test-suite is now working on the mingw32 platform (with a few tests disabled due to missing functionality) - the version and branch of the sources are now properly compiled into the core libraries and shown in the "csi" and "chicken" version headers - Compiler - Fixed bug in handling of symbols in constant-definitions (thanks to Peter Bex) - Stricter check for value-part of constant definition (thanks to Kon Lovett) - Fixed bug that caused argument-signatures of external definitions to be incorrectly modified during optimization (thanks to Peter Bex) - Failing constant-folding expressions now produce a compile-time warning - Fixed various bugs in the internal type-database (thanks to Kon Lovett and Peter Bex) - added "-specialize" option and "specialize" declaration which enables optimizations of uses of core library procedures based on type- information gathered during flow analysis - "-optimize-level 3" and higher now implies "-specialize" - added option "-strict-types" and "-emit-type-file" - progress-information is now only shown with "-debug p"; the "-verbose" option only shows informational but noncritical messages - added optimizations for some library procedures - variable propagation for global variable accesses is now done in certain situations - the algorithmic complexity of the closure-conversion pass has been reduced which speeds up compilation noticably for large files - the alternative branch in a conditional is dropped when the condition is known to be a non-boolean value (suggested by Joerg Wittenberger) - implemented numerous fixes and improvements for flow analysis - fixed a bug in the compiler that could cause some variable bindings to be optimized away in certain situations involving inlining - added an experimental optimization called "clustering" (enable with the compiler option of the same name) - the optimizations done by the compiler are now listed as a comment in the generated C file - the type-information obtained during flow-analysis ("scrutiny") is now used for performing type-sensitive optimizations of calls to most of the core-library procedures - deprecated the "constant" declaration specifier - "unboxing" optimization has been completely removed - the implementation was unreliable and unmaintainable; the "-unboxing" compiler option will still be accepted but will produce a warning - Peter Bex contributed an optimization to the analysis pass that greatly reduces compile time for source code containing deeply nested lexical bindings - procedures that are known to have the value of a core library procedure that is a "standard" or "extended binding" will be inlined - enhanced line number tracking to get better error messages from the scrutinizer. - hygiene bugs related to compiler-syntax were fixed. - the local flow-analysis was sometimes reporting multiple warnings for the same type-conflict. - the time/space-complexity of some algorithms used in the compiler were reduced resulting in much better compile-times especially for large source files. - Interpreter - ",q" leaves the currently active REPL invocation instead of terminating the process (as suggested by John Cowan) - ",m" properly switches between modules (thanks to Christian Kellermann) - Core libraries - Cleaned up the set of available internal SRFI-feature-identifiers - The printer now does a better job at escaping certain single-character symbol names - Unit "lolevel" - deprecated "null-pointer" and "null-pointer?" - Disabled "-setup-mode" when compiling extensions for deployment (thanks to Ivan Raikov) - Got rid of some warnings in the C runtime system that were triggered on the SunPro C compiler (thanks to Joe Python) - added "foldl" and "foldr" procedures, which are more efficient and have a more consistent argument order than the corresponding SRFI-1 procedures - "shuffle" has been deprecated - added "queue-length" - "queue->list" allocates and returns a fresh list now - invoking a parameter-procedure with an argument will return the new value - added new procedure "quit" - "repl" accepts an optional evaluator procedure (suggested by John Cowan) - added a setter procedure to "signal-handler" ("posix" unit) - EINTR is properly handled for input routines that may block waiting for input - the implementation of R5RS evaluation environments is now fully standards compliant - "file-exists?" and "directory-exists?" work now properly for files > 2GB (EOVERFLOW handling in stat(3) system call) - fixed bug in implementation of "fifo?" - the procedure returned by "condition-predicate" accepts any type of argument now - blobs have a readable textual representation ("#{...}") - "find-files" does not follow symlinks by default (as it did previously) - also, the old non-keyword argument signature for "find-files" is not supported anymore - added "alist-update" ("data-structures" unit) - "irregex-replace" returns the original string instead of #f when the regex does not match - irregex "real" built-in utility pattern now accepts a leading sign - added "change-directory*" ("posix" unit) - number parsing has been made more reliable and standards compliant - deprecated "none?", "always?" and "never?" - library procedures that take ports as arguments now all perform checks on port-direction and open/closed state - "mutate-procedure" has been renamed to "mutate-procedure!" - the old name is still available but deprecated - deprecated C_hash_string and C_hash_string_ci functions in the C API in favor of the more secure versions C_u_i_string_hash, C_u_i_string_ci_hash - a number of bugs in the irregex regular expression engine have been fixed; it has been updated to upstream release 0.8.3 - the "make" facility of the "setup-api" module has been deprecated, please use the "make" extension when your egg requires this during setup. - Core tools - "csc" - The environment-variables "CHICKEN_C_INCLUDE_PATH" and "CHICKEN_C_LIBRARY_PATH" can now be used to add default include- and link-directories to C-compiler invocations - "-O5" passed expensive optimization flags to the C compiler which could expose C-Compiler bugs, depending on the compiler version (thanks to Sven Hartrumpf for pointing this out). - "-rpath" is ignored on OS X (thanks to Kon Lovett). - Fixed handling of "-output-file" (it was being ignored) - "chicken-install" - Added option "-override", which allows retrieving extension- versions from a file - this may be useful to ensure specific versions of a complete set of eggs are installed - Added option "-keep-installed"/"-x" that only installs explicitly named extensions given on the command line, if they are not already installed - Added option "-list" that lists all extensions available - Added option "-csi" to specify what interpreter should be used to execute the setup-script of an installed extension - Added option "-scan" that scans a local directory for the highest available extension versions available - Added option "-reinstall" that reinstalls all currently installed eggs, keeping their versions, if possible - Fixed bug with "chicken-install -test" when multiple extensions where given on the command line (thanks to Kon Lovett) - installing subdirectories works now on Windows. - fixed handling of "-force" when a "chicken" dependency version did not match - added new option "-show-foreign-depends" which lists foreign egg dependencies (if available) - added new option "-show-depends" which lists egg dependencies - added support for "or"-dependencies where a dependency is considered installed if one of a set of candidates is available - "chicken-profile" - fixed some bugs in the profiler and the runtime support code for profiling (thanks to Sven Hartrumpf) - "chicken-status" - Added option "-list" that dumps versions of installed extensions in a format suitable for "chicken-install -override ..." - the "pattern" argument is now actually treated as a pattern and not as a regex - Core syntax - "assert" shows the line number of the form when a second argument is not given or is a literal string - "parameterize" now correctly omits invoking the guard procedure when the old value is restored (thanks to Joo ChurlSoo) - added ":", "the" and "assume" syntax for declaring types - added "define-specialization" form to declare type-driven procedure call rewrites in compiled code - Syntax expander - Fixed a bug that caused imported identifiers to leak into the macroexpansion/compile-time environment (reported by Christian Kellermann) - Peter Bex fixed a bug that caused bound variables to be incorrectly renamed in quoted literals (thanks to Matthew Flatt) - fixed devious bug in the invocation and generation of transformer procedures - using normal "lambda" forms as transformers for local or global syntax definitions is deprecated - one should use "syntax-rules", "er-macro-transformer" or "ir-macro-transformer" from now on - Runtime system - support for re-loading of compiled files has now been completely removed - the maximum length of strings is no longer limited to a 24-bit number on 64-bit architectures but can be 56 bits. - string-comparison handles embedded '\0' characters. - numerical predicates handle infinity and NaN correctly. - deprecated "[+-]nan", "[+-]inf" and other notations "accidentally" accepted by Chicken due to the underlying C library's strtod() function, standardizing on "[+-]nan.0" and "[+-]inf.0" from R6RS (and soon R7RS), when displaying numbers only these forms are generated now. - signals are queued to some extent and the interrupt handling has been cleaned up somewhat - the interpreter handles SIGINT directly - loading the "posix" unit is not needed anymore to handle this feature - changed default nursery size slightly and fixed a bug that caused incorrect (too small) nursery sizes on 64-bit platforms - deprecated the compiler option "-heap-initial-size", "-heap-growth" and "-heap-shrinkage" - the assembly-language stub routine for the implementation of "apply" was broken for Sparc64 systems and has been disabled for this platform - signal masks were accidentally reset upon GC for some platforms; use sigsetjmp/siglongjmp on BSD, Linux, MacOS X and Haiku - Type system - added new type-specifiers "input-port", "output-port", "(list-of T)" and "(vector-of T)" - the type-specifiers "(vector T ...)" and "(list T ...)" represent fixed size lists and vectors now - added qualified types ("forall"), optionally with type constrains - added the "define-type" special form and type-abbreviations - added "compiler-typecase", a compile-time typematching form - Module system - Added "interfaces", which are named groups of exports - Added "functors", which are parameterized modules - Modules can now be aliased - New syntax: (define-interface NAME EXPORTS) (functor (NAME ...) EXPORTS ...) - Extended syntax of "module" for aliasing and functor-instantiation - the "scheme" module has been integrated into the core library and is not installed as a separate import library anymore - added core module "r4rs" containing only bindings for R4RS identifiers - added core module alias "r5rs" for "scheme" module - added "module-environment" which returns an evaluation environment for the bindings of a module - fixed bugs related to using "export"/"reexport" in combination with wildcard ("*") module export lists (thanks to "megane") - Foreign function interface - locatives are allowed as arguments declared "c-pointer"
Diffstat (limited to 'lang/chicken/Makefile')
-rw-r--r--lang/chicken/Makefile7
1 files changed, 3 insertions, 4 deletions
diff --git a/lang/chicken/Makefile b/lang/chicken/Makefile
index 2684ef93b6c..1abc5424835 100644
--- a/lang/chicken/Makefile
+++ b/lang/chicken/Makefile
@@ -1,9 +1,8 @@
-# $NetBSD: Makefile,v 1.46 2012/10/02 20:11:36 asau Exp $
+# $NetBSD: Makefile,v 1.47 2012/10/03 12:12:45 asau Exp $
-DISTNAME= chicken-4.7.0.6
+DISTNAME= chicken-4.8.0
CATEGORIES= lang
-#MASTER_SITES= http://code.call-cc.org/releases/${PKGVERSION_NOREV}/
-MASTER_SITES= http://code.call-cc.org/releases/4.7.0/
+MASTER_SITES= http://code.call-cc.org/releases/${PKGVERSION_NOREV}/
MAINTAINER= asau@inbox.ru #, airhead@users.sourceforge.net
HOMEPAGE= http://www.call-cc.org/