75 commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
rillig
|
9637f7852e |
all: migrate homepages from http to https
pkglint -r --network --only "migrate" As a side-effect of migrating the homepages, pkglint also fixed a few indentations in unrelated lines. These and the new homepages have been checked manually. |
||
rillig
|
8c6aee8563 |
lang: align variable assignments
pkglint -Wall -F --only aligned --only indent -r No manual corrections. |
||
jperkin
|
ac0c602088 | chicken: Set INSTALL_PROGRAM, fixes install on SunOS. | ||
leot
|
32a21bc44d |
chicken: Update lang/chicken to 4.13.0
Patch provided by dziltener via PR pkg/52929, thanks! Changes: 4.13.0 - Security fixes - CVE-2017-6949: Remove unchecked malloc() call in SRFI-4 constructors when allocating in non-GC memory, resulting in potential 1-word buffer overrun and/or segfault (thanks to Lemonboy). - CVE-2017-9334: `length' no longer crashes on improper lists (fixes #1375, thanks to "megane"). - CVE-2017-11343: The randomization factor of the symbol table was set before the random seed was set, causing it to have a fixed value on many platforms. - Core Libraries - Unit "posix": If file-lock, file-lock/blocking or file-unlock are interrupted by a signal, we now retry (thanks to Joerg Wittenberger). - char-ready? on string ports now also returns #t at EOF, as per R5RS; in other words, it always returns #t (thanks to Moritz Heidkamp) - Unit srfi-4: Fixed typo that broke SRFI-17 generalised set! syntax on s8vectors (thanks to Kristian Lein-Mathisen). - Large literals no longer crash with "invalid encoded numeric literal" on mingw-64 (#1344, thanks to Lemonboy). - Unit irregex: Fix bug that prevented multibyte UTF-8 character sets from being matched correctly (Thanks to Lemonboy and Chunyang Xu). - Runtime system: - The profiler no longer uses malloc from a signal handler which may cause deadlocks (#1414, thanks to Lemonboy). - The scheduler no longer indirectly hangs on to the old thread when switching to a new one, which caused excessive memory consumption (#1367, thanks to "megane"). - C++ programs no longer fail with a symbol lookup error when compiled with debugger support (-d3 or -debug-info). - Syntax expander - Renaming an identifier twice no longer results in an undo of the rename (fixes #1362, thanks to "megane"). - Build system - Fixed broken compilation on NetBSD, due to missing _NETBSD_SOURCE. - Fixed compilation on DragonflyBSD due to no feature macro support in its standard C library (thanks to Markus Pfeiffer). - Compiler - The scrutinizer no longer uses 'fixnum as the type for fixnums that might not fit into a fixnum on 32-bit architectures. - Foreign function interface - Correctly calculate memory requirements of Scheme objects produced from foreign types with "const" qualifiers, avoiding memory corruption (#1424, thanks to Vasilij Schneidermann and Lemonboy) - Do not read beyond temporary stack buffer, which could lead to a crash when returning from a foreign callback (#1428). 4.12.0 - Security fixes - CVE-2016-6830: Fix buffer overrun due to excessively long argument or environment lists in process-execute and process-spawn (#1308). This also removes unnecessary limitations on the length of these lists (thanks to Vasilij Schneidermann). - CVE-2016-6831: Fix memory leak in process-execute and process-spawn. If, during argument and environment list processing, a list item isn't a string, an exception is thrown, in which case previously malloc()ed strings weren't freed. - CVE-2016-9954: Irregex has been updated to 0.9.6, which fixes an exponential explosion in compilation of nested "+" patterns. - Compiler: - define-constant now correctly keeps symbol values quoted. - Warnings are now emitted when using vector-{ref,set!} or one of take, drop, list-ref or list-tail with an out of range index for vectors and proper lists of a definitely known length. - The scrutinizer will no longer drop knowledge of the length of a vector. It still drops types of its contents (which may be mutated). - Fixed incorrect argvector restoration after GC in directly recursive functions (#1317). - "Direct" procedure invocations now also maintain debug info (#894). - Syntax expander - DSSSL lambda lists have improved hygiene, so they don't need the chicken or scheme modules to be imported in full (#806). - The let-optionals* macro no longer needs "quote", "car" and "cdr" to be imported and bound to their default values (#806). - Runtime system: - C_locative_ref has been deprecated in favor of C_a_i_locative_ref, which is faster because it is inlined (#1260, thanks to Kooda). - The default error handler now truncates very long condition messages (thanks to Lemonboy). - Weak symbol GC (-:w) no longer drops random symbols (#1173). - The number of arguments to procedures, both via "apply" and direct invocation, are now limited only by the C stack size (#1098). - "time" macro now shows peak memory usage (#1318, thanks to Kooda). - Avoid crashes in ffi callbacks after GC (#1337, thanks to cosarara). - Core libraries: - Irregex has been updated to 0.9.5, which fixes matching of all "bow" occurrances beyond the first with irregex-fold (upstream issue #14). - Keywords are more consistently read/written, like symbols (#1332). - SRFI-39: When jumping out of a parameterized dynamic extent, "parameterize" now remember the actual values, so when jumping back in, they are restored (fixes #1336, thanks to Joo ChurlSoo). This was a regression caused by the fix for #1227. - Tools: - "chicken-install" - When installing eggs in deploy mode with "-keep-installed", eggs under the prefix won't unnecessarily be reinstalled (#1144). - Added new option "-no-install-deps" which inhibits automatic installation of dependencies, useful with "-prefix" (#1298). |
||
rillig
|
4760eca917 |
Replaced $(ROUND) with ${CURLY} variable references.
This has been a pkglint warning for several years now, and pkglint can even fix it automatically. And it did for this commit. Only in lang/mercury, two passes of autofixing were necessary because there were nested variables. |
||
agc
|
30b55df38e |
Convert all occurrences (353 by my count) of
MASTER_SITES= site1 \ site2 style continuation lines to be simple repeated MASTER_SITES+= site1 MASTER_SITES+= site2 lines. As previewed on tech-pkg. With thanks to rillig for fixing pkglint accordingly. |
||
asau
|
9772e48cdb |
Update to CHICKEN 4.11.0
From Leonardo Taccari. This release introduces several large changes, the one with the most impact being a completely new calling convention for compiled CPS procedures in C code. Instead of expecting "regular" C arguments, the compiled C functions now accept a so-called "argvector" which holds the arguments. This should greatly improve the portability of CHICKEN programs, because it relies less on ill-specified parts of C. It also removes the assembly code required for manyargs, so that the limitation of 128 arguments for platforms without an "apply hack" has finally been removed. On the tooling front we've also added two new features: a statistical profiler for analysing performance, and a graphical debugger called "feathers", which allows you to inspect your Scheme programs over the network. These have both been documented in the manual. The debugger has its own chapter at https://wiki.call-cc.org/man/4/Debugging and the profiler's new -:p runtime option is documented at https://wiki.call-cc.org/man/4/Using%20the%20compiler#runtime-options As usual, many bugs have been fixed with this release, including several bugs that would cause programs to crash. All in all, this new release should be much more robust and reliable. For the complete list of changes since 4.10.0, see the NEWS file: https://code.call-cc.org/releases/4.11.0/NEWS |
||
dbj
|
dde82c09aa | update PKG_{FAIL,SKIP}_REASON with += | ||
agc
|
54622f28e2 |
Add SHA512 digests for distfiles for lang category
Problems found with existing digests: Package nhc98 distfile nhc98src-1.22.tar.gz a8adc8f22371998ee0657bc0e01058a57d876abc [recorded] 81975fcb5f1dda5efeaabc30ce8c6dceae55e591 [calculated] Problems found locating distfiles: Package gcc-aux: missing distfile ada-bootstrap.i386.dragonfly.36A.tar.bz2 Package gcc-aux: missing distfile ada-bootstrap.i386.freebsd.84.tar.bz2 Package gcc-aux: missing distfile ada-bootstrap.x86_64.dragonfly.36A.tar.bz2 Package gcc-aux: missing distfile ada-bootstrap.x86_64.freebsd.84.tar.bz2 Package gcc-aux: missing distfile ada-bootstrap.x86_64.solaris.511.tar.bz2 Package gcc5-aux: missing distfile ada-bootstrap.i386.dragonfly.36A.tar.bz2 Package gcc5-aux: missing distfile ada-bootstrap.i386.freebsd.84.tar.bz2 Package gcc5-aux: missing distfile ada-bootstrap.x86_64.dragonfly.36A.tar.bz2 Package gcc5-aux: missing distfile ada-bootstrap.x86_64.freebsd.84.tar.bz2 Package gcc5-aux: missing distfile ada-bootstrap.x86_64.solaris.511.tar.bz2 Package ghc7: missing distfile ghc-7.6.3-boot-i386-unknown-freebsd.tar.xz Package icc11: missing distfile l_cproc_p_11.1.080.tgz Package jini: missing distfile jini-1_2_1_001-src.zip Package oo2c: missing distfile oo2c_32-2.0.11.tar.bz2 Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-freebsd-10-amd64-20150301.tar.xz Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-5-i386-20150301.tar.xz Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-6-i386-20150301.tar.xz Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-7-earmv6hf-20150306.tar.xz Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-7-sparc64-20150301.tar.xz Package openjdk7: missing distfile openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.8-amd64-20140719.tar.bz2 Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-freebsd-10-amd64-20150301.tar.xz Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-5-i386-20150301.tar.xz Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-6-i386-20150301.tar.xz Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-7-earmv6hf-20150306.tar.xz Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-7-sparc64-20150301.tar.xz Package openjdk8: missing distfile openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.8-amd64-20140719.tar.bz2 Package oracle-jdk8: missing distfile jdk-8u60-linux-i586.tar.gz Package oracle-jdk8: missing distfile jdk-8u60-solaris-x64.tar.gz Package oracle-jre8: missing distfile jre-8u60-linux-i586.tar.gz Package oracle-jre8: missing distfile jre-8u60-solaris-x64.tar.gz Package sun-jdk6: missing distfile jdk-6u45-linux-i586.bin Package sun-jdk6: missing distfile jdk-6u45-solaris-i586.sh Package sun-jdk7: missing distfile jdk-7u72-linux-i586.tar.gz Package sun-jdk7: missing distfile jdk-7u72-solaris-i586.tar.gz Package sun-jre6: missing distfile jce_policy-6.zip Package sun-jre6: missing distfile jre-6u45-linux-x64.bin Package sun-jre6: missing distfile jre-6u45-solaris-x64.sh Package sun-jre7: missing distfile jre-7u72-linux-i586.tar.gz Package sun-jre7: missing distfile jre-7u72-solaris-i586.tar.gz Otherwise, existing SHA1 digests verified and found to be the same on the machine holding the existing distfiles (morden). All existing SHA1 digests retained for now as an audit trail. |
||
leot
|
4653a2cee5 |
Update OWN_DIRS to reflect current eggs directory location and bump PKGREVISION.
ok asau@ |
||
asau
|
fad1610665 | Amend distinfo for removed patch. | ||
asau
|
ef43b9020b |
Update to CHICKEN 4.10.0
This is mostly a bugfix release, containing quite a lot of accumulated bug fixes but relatively few new features. Nevertheless, there are a great many changes in this release since 4.9.0. It has three security bugfixes: for CVE-2014-6310, CVE-2014-9651 and CVE-2015-4556. Another important security-related cleanup/improvement is related to path expansion: many file procedures in CHICKEN used to automatically and implicitly convert paths containing tilde ("~") characters to $HOME, and expand shell variables. This behaviour was deprecated in 4.9.0, and has now been removed, in favor of the "pathname-expand" egg. A few of the build variables have been renamed, so if you have a custom build script, please review the NEWS file carefully. Other notable changes: * The performance of reading and writing SRFI-4 u8vectors has been substantially improved. * Various bugs in the functors implementation have been fixed, making them better usable. * chicken.h can once more be correctly compiled with a C++ compiler. * The -r5rs-syntax flag has been fixed to enforce r5rs syntax. For the full list of changes, see bundled NEWS or http://code.call-cc.org/releases/4.10.0/NEWS-4.10.0 |
||
dholland
|
6a4591b939 | Use PKG_SKIP_REASON for unsupported OSes | ||
asau
|
e0f90295cd |
Update to Chicken 4.9.0.1
Tests now work without installing package first. Changes since previous package: 4.9.0.1 - Runtime library - C_MINOR_VERSION changed to 9; feature identifier chicken-4.8 => chicken-4.9 4.9.0 - Security fixes - CVE-2014-3776: read-u8vector! no longer reads beyond its buffer when length is #f (thanks to Seth Alves). - CVE-2013-4385: read-string! no longer reads beyond its buffer when length is #f. - CVE-2013-1874: ./.csirc is no longer loaded from the current directory upon startup of csi, which could lead to untrusted code execution. (thanks to Florian Zumbiehl) - CVE-2013-2024: On *nix, the qs procedure now single-quotes everything instead of relying on a blacklist of shell characters to be escaped. On Windows, it properly duplicates double-quote characters. (thanks to Florian Zumbiehl) - CVE-2013-2075: Use POSIX poll() in other places where select() was still being used. (thanks to Florian Zumbiehl and Joerg Wittenberger) - CVE-2012-6122: Use POSIX poll() on systems where available. This avoids a design flaw in select(); it supports no more than FD_SETSIZE descriptors. - Core libraries - Fix subvector when the TO optional argument equals the given vector length (#1097) - Unit extras now implicitly depends on ports. ports no longer implicitly depends on extras. This may break programs which don't use modules and forgot to require ports but use procedures from it. - Support has been added for the space-safe R7RS macro "delay-force". - Export file-type from the posix unit (thanks to Alan Post). - SRFI-4 s8vectors now work correctly in compiled code on PowerPC and ARM. - thread-join! now works correctly even if the waiting thread was prematurely woken up by a signal. - unsetenv has been fixed on Windows. - The process procedure has been fixed on Windows. - Nonblocking behaviour on sockets has been fixed on Windows. - Possible race condition while handling TCP errors has been fixed. - The posix unit will no longer hang upon any error in Windows. - resize-vector no longer crashes when reducing the size of the vector. - Distinct types for boolean true and false have been added to the scrutinizer. - Fixed bugs in string-trim-right, string-index-right and string-skip-right, from SRFI-13 - read-line no longer returns trailing CRs in rare cases on TCP ports (#568) - write and pp now correctly use escape sequences for control characters (thanks to Florian Zumbiehl) - posix: memory-mapped file support for Windows (thanks to "rivo") - posix: find-file's test argument now also accepts SRE forms. - numerator and denominator now accept inexact numbers, as per R5RS (reported by John Cowan). - Implicit $VAR- and ~-expansion in pathnames have been deprecated (#1001) - Fixed EINTR handling in process-wait and when reading from file ports. - Irregex is updated to 0.9.2, which includes bugfixes and faster submatches. - Compile-time expansions for "[sf]printf" are slightly more efficient. - Removed the deprecated "always?", "never?", "shuffle" and "none?" procedures. - Fixed problem "make-pathname" that returned an absolute path if given a relative one without a directory argument. - The implementation of promises has been made more efficient. - Removed the deprecated "c-runtime", "null-pointer?" and "pointer-offset" procedures. - The deprecated alias "mutate-procedure" for "mutate-procedure!" has been removed. - On 64-bit systems the feature identifier "64bit" is registered. - "process-fork" accepts an optional argument that specifies wether other threads should be terminated in the child process. - The "signal/bus" signal identifier was missing. - Added setter-procedure for "signal-mask". - Added "recursive-hash-max-length" and "recursive-hash-max-depth" parameters (srfi-69). - Platform support - CHICKEN can now be built on AIX (contributed by Erik Falor) - CHICKEN can now be built on GNU Hurd (contributed by Christian Kellermann) - Basic support has been added for building Android and iOS binaries (see the "README" file for caveats and pitfalls) (contributed by Felix Winkelmann from bevuta IT GmbH) - Added support for 64-bit Windows (consult the "README" file for more information). - Runtime system - finalizers on constants are ignored in compiled code because compiled constants are never GCed (before, the finalizer would be incorrectly invoked after the first GC). (Reported by "Pluijzer") - The call trace buffer is now also resizable at runtime via ##sys#resize-trace-buffer. - C_zap_strings and ##sys#zap-strings (undocumented) have been deprecated. - Special events in poll() are now handled, avoiding hangs in threaded apps. - When invoking procedures with many rest arguments directly (not via APPLY), raise an error when argument count limit was reached instead of crashing. - When the maximum allowed heap size is reached, panic instead of crashing. - The code generated for mutating data destructively is partially inlined and thus slightly more efficient. - Fixed incorrect code in the foreign argument conversion for "unsigned-integer64" (#955). For unsigned-integer, integer64 and unsigned-integer64, disallow floating-point numbers. Fix behavior on 32-bit systems. - On systems that provide sigprocmask(2), segmentation violations, illegal instruction signals, bus errors and floating-point exceptions are now caught and trigger normal error-processing (including a backtrace). The handling of these so called "serious" signals can be disabled by passing the "-:S" runtime option to executables. - Reclamation of unused interned symbols (enabled with the "-:w" runtime option) works much better now. - Build system - The tests can now be run without having to first install CHICKEN. - Fixed a dependency problem that made it impossible to build the distribution tarball on Windows with the mingw compiler. - Increased the "binary compatibility version" to 7. - Tools - "csc" - "-z origin" is now passed as a linker option on FreeBSD when compiling for deployment (thanks to Jules Altfas & Vitaly Magerya) - "-deploy" works now on FreeBSD (thanks to Jules Altfas and Vitaly Magerya), OpenBSD and NetBSD (see README for NetBSD). - added "-oi"/"-ot" options as alternatives to "-emit-inline-file" and "-emit-type-file", respectively; "-n" has been deprecated. - .c/.o files are no longer overwritten when they have the same basename as a Scheme source file (i.e. "csc foo.scm foo.c -o foo" works now). - "chicken-install" - "-deploy" now correctly installs dependencies of deployed eggs under the deployment directory instead of globally. - Full URI syntax is now supported for proxy environment variables (thanks to Michele La Monaca) - "chicken-status" - Added -eggs command line option to list installed eggs - misc - Removed the deprecated "-v" options (use "-version" instead) in various core programs. - The runtime linker path for compiled executables was not set correctly on FreeBSD systems. This has now been fixed. - Removed the deprecated "make" and "make/proc" facility from the "setup-api" module; also removed the deprecated "required-extension-version" and "required-chicken-version" procedures. - Syntax - Added the aliases "&optional" and "&rest" as alternatives to "#!optional" and "#!rest" in type-declarations (suggested by Joerg Wittenberger). - Vectors, SRFI-4 number vectors and blobs are now self-evaluating for R7RS compatibility. Being literal constants, they are implicitly quoted. - For R7RS compatibility, named character literals #\escape and #\null are supported as aliases for #\esc and #\nul. WRITE will output R7RS names. - The CASE form accepts => proc syntax, like COND (as specified by R7RS). - letrec* was added for R7RS compatibility. Plain letrec no longer behaves like letrec*. - Compiler - the "inline" declaration does not force inlining anymore as recursive inlining could lead to non-termination of the compiler (thanks to Andrei Barbu). - Type-analysis ("scrutiny") is enabled by default now, unless "-optimize-level 0" or "-no-usual-integrations" is given. - The "-scrutinize" compiler option has been deprecated. - A new lightweight flow-analysis pass ("lfa2") has been added. Enable by passing the "-lfa2" option to the compiler. - The deprecated options "-disable-warning", "-heap-growth", "-heap-shrinkage" and "-heap-initial-size" have been removed. - Removed the deprecated "constant" declaration. - Removed the deprecated "-lambda-lift" and "-unboxing" compiler options. - Removed the deprecated "-V" compiler option. - Generated names for formal parameters of foreign functions are slightly more informative. - Unused references to variables that name intrinsics can be removed. - In the flow-analysis pass, matching of combinations of "list"/"list-of" and "or" types with has been made more reliable. - Fixed various bugs in the type database. - Syntax expander - added "require-extension-for-syntax" and "use-for-syntax". - Extended syntactic definitions are now available by default in all evaluated code, particularly in code evaluated at runtime in compiled applications. - Removed the deprecated variant "(define-compiler-syntax (NAME . LLIST) BODY ...)" of "define-compiler-syntax". - C API - Deprecated C_get_argument[_2] and C_get_environment_variable[_2] functions. - Removed the deprecated "__byte_vector" type. |
||
asau
|
3d9f6031ab |
Update to Chicken 4.8.0.5
Requested by Peter Bex. 4.8.0.5 - Security fixes - CVE-2013-4385: read-string! no longer reads beyond its buffer when length is #f. - poll() is also used on cygwin by enabling the fix for CVE-2012-6122 - file-creation-mode now passes a valid value to umask when its argument is omitted. (Also ensure it always returns the old umask value.) - Fix a data corruption problem in list->queue. - Core libraries - read-string! behaves correctly in presence of EOF. - Several subtle problems in the reader in the presence of EOF are fixed. - Use poll() instead of select() on cygwin. - Runtime - Fix an issue on initial seed of the random number generator. 4.8.0.4 - Runtime - Ensure correct type is used for sigsetjmp(3) buffer. This fixes, for example, a bus error in 32-bit OS X builds (#1021). - Core libraries - Export file-type from the posix unit. - Build system - Use inexact comparison for flonum tests, as there is sometimes a miniscule difference between trig functions computed by libc and those precalculated by gcc. |
||
asau
|
7b3ed5168b |
Update to Chicken 4.8.0.3
Requested by Peter Bex. Changes: 4.8.0.3 - Runtime - Avoid high CPU usage when waiting for child process I/O with poll(). Affects at least Linux and Solaris. - Escape single backslash in printed symbols. - Type system - Fixed types.db entry for join and mutex-lock! - Core tools - chicken-install transports now parses ports on URIs with empty paths 4.8.0.2 - Interpreter - Fix regression in ,d for procedures, which resulted in an sprintf error. - Compiler - Fix rewriting of newlines (~~) in printf. - Runtime - Allow > 4GB heap on 64-bit systems (#974). - Added missing library (-lrt) on Solaris for nanosleep calls (#970). - Build system - Use test -f instead of test -e in identify.sh to placate Solaris. |
||
asau
|
9e9631c53c |
Update to Chicken 4.8.0.1
Requested by Peter Bex. Changes in 4.8.0.1 since 4.8.0 - Security fixes - Use POSIX poll() on systems where available. This avoids a design flaw in select(); it supports no more than FD_SETSIZE descriptors. - Core libraries - Fixed EINTR handling in process-wait and when reading from file ports. - Bugfix for irregex (#686). Note: although irregex.scm now says version 0.9.2, the version is actually 0.8.3 plus a few backported patches. - Fixed problem in "make-pathname" that returned an absolute path if given a relative one without a directory argument. - On 64-bit systems the feature identifier "64bit" is registered. - Compiler - Fixed various bugs in the type database. - Bugfixes and improvements in the scrutinizer. - In the flow-analysis pass, type-matching of combinations of "list"/"list-of" types has been made more reliable. - Syntax expander - Make macro-renamed defines in begin bodies (inside modules) visible to later forms. (#944). - Runtime system - Fixed incorrect code in the foreign argument conversion for "unsigned-integer64" (#955). - Core tools - The runtime linker path for compiled executables was not set correctly on FreeBSD systems. - Fix install-extension breakage when the second arg contains pairs (SRC DST). - Build system - Prevent rebuilding of buildversion.scm on every make(1) on Windows. |
||
asau
|
8d6c50edde |
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" |
||
asau
|
88feb4ac62 | Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days. | ||
asau
|
9650448769 |
Update to Chicken Scheme 4.7.0.6
Requested by Aleksej Lebedev in private mail. Changes since 4.7.0: 4.7.0.6 The stability (-st) branch is now the official branch for point releases, so the -st suffix has been retired. - Security fixes - on 64-bit machines the "random" procedure no longer truncates result values (which caused very nonrandom results for very large values). Note that random shouldn't be used for security-critical code. - Core libraries - tcp-connect now closes socket on connection timeout [thanks to Jorg Wittenberger]. - Ensure srfi-13 string comparison returns a boolean, fix bugs in xsubstring and string-xcopy!, and add a test suite. - Fix off-by-one error in pending finalizer code which could lead to crash. - Exceptions signalled by code that executes in finalizers will now be caught and do not propagate upwards into arbitrary user code. 4.7.0.5-st - Build system - LLVM gcc and clang can now be used to compile the system. Previously, building with LLVM produced binaries that would hang and use 100% CPU. Fixes compatibility with OS X 10.6 and later. - Core libraries - symbols with a single-char print-name were not always properly escaped when printed readably (#772) 4.7.0.4-st - Core libraries - "with-input-from-file", "with-output-to-file", "with-input-from-pipe" and "with-output-to-pipe" now properly restore the standard input/output ports in case the body thunk escapes - Build system - Fixes for port tests - C_TARGET_INCLUDE_HOME fix for cygwin 4.7.0.3-st - Core libraries - fixed bug in reading of octal escape in string literal - Compiler - fixed erroneous optimization of toplevel assignments in the presence of conditionals (found by Paul Colby and Mario Domenench Goulart). For example, this had printed "undefined" and now prints "good": (define A #t) (define B 'undefined) (if A (set! B 'good) (set! B 'bad)) (print B) 4.7.0.2-st - Core libraries - port-procedures now check correctly for argument-ports being open (thanks to Peter Bex) - fixed irregex overlapping charsets problem (#636) - Runtime system - fixed handling of "inf" floating-point predicate for Solaris (thanks to Claude Marinier) - Core tools - "chicken-profile" - fixed broken percentage calculation (thanks to "megane") - Compiler - the "-uses" option handles whitespace in unit lists given on the command line (thanks to Santosh Rajan) 4.7.0.1-st - Build system - The default target library name for an installation configured for cross- compilation is now "libchicken" and independent on any particular setting of PROGRAM_PREFIX/PROGRAM_SUFFIX (thanks to Otavio Salvador) - Compiler - Fixed incorrect optimization rules for some fp-rounding and fixnum operators - Unused arguments in callback wrappers were incorrectly optimized away (#584) - Core libraries - Fixed bugs in "make-pathname" and "normalize-pathname" (thanks to Jim Ursetto) - The reader is now more consistent when parsing symbol- and keyword names that are fully or partially escaped (thanks to Kon Lovett) - Fixed a bug in the Windows implementation of "file-type" (thanks to Jim Ursetto) - Fixed a bug in the implementation of "current-milliseconds" that could result in integer-overflow - Fixed an incorrect type-check in "list-ref" (thanks to Sven Hartrumpf) - Fixed bug in "string->number" that caused out-of-range characters to be accepted for base > 10 (thanks to Jim Ursetto) - Foreign function interface - "int32" was not properly detected as a valid foreign type (thanks to Jim Ursetto) - Syntax expander - Fixed a bug in the processing of extended lambda-lists (thanks to Peter Bex) |
||
asau
|
9b2398f67c |
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) |
||
asau
|
626556e6dd |
Update to Chicken 4.6.0
Contributed by Peter Bex via IRC. Changes in 4.6.0 - the licenses used in all components of the core system have been collected in the LICENSE file (Thanks to Peter Bex) - Added new compiler option `-no-module-registration' which omits generation of module registration code, even when generation of import libraries has not been enabled - running `chicken' without arguments now hints at the existence of `csi' and `csc' - `caar', `cdar' and `cddr' generate faster code - calls to `list', `vector' and the internal structure allocation primitive that take 1 to 8 arguments generate faster code - `chicken-install' now checks the version of the setup configuration file `setup.defaults' - added option `-exact' to `chicken-status' and `chicken-uninstall', which treats the pattern argument as the literal name of the extension to be listed/deinstalled - `assert' shows line-number information, if available (suggested by Alejandro Forero Cuervo) - interpreted code records the lexical-environment at call- sites, which can in case of an error be inspected with the new `,c', `,f' and `,g' csi toplevel commands - the evaluation-result history in `csi' can be inspected and cleared (to reduce memory load) with the toplevel commands `,h' and `,ch' - unit `data-structures': deprecated `left-section' and `right-section' - fixed bug that caused the static syntax-environment of syntax exported by a module to be incomplete - module `setup-api': Documented the `version>=?' and `extension-name-and-version' proceedures - unit `posix': `utc-time->seconds' is considerably faster on Mac OS X (thanks to Jim Ursetto); added new procedure `file-type' - the `time' macro now shows the correct number of minor garbage collections - the immediate-object check inside the marking procedure of the garbage collector has been manually inlined which results in a significant GC speedup, depending on memory load - unit `srfi-18' and `scheduler': various bugfixes (thanks to Joerg Wittenberger) - unit `srfi-4': bugfix in 8-bit vector allocation routines (thanks to Kon Lovett) - added `-:H' runtime option to dump heap state on exit - fixed missing change in Makefile.cygwin (thanks to John Cowan) - fixed bug in `let-optionals' macro that caused problems when the rest-variable was actually named `rest' (thanks to Alejandro Forero Cuervo) - when Scheme files are translated to C++ or Objective-C, `csc' will register the feature-identifiers `chicken-scheme-to-c++'/ `chicken-scheme-to-objc' ar compile-time - fixed bug in expansion of `#!key' parameters in lambda-lists - debug-output for forcing finalizers on exit goes to stderr now (thanks to Joerg Wittenberger) - the installation routines for extensions automatically add version-number information if none is given in the extension property list (suggested by Alejandro Forero Cuervo) - `standard-extension' accepts `#f' now for the version number and will use the version that has been obtained via `chicken-install' - `fifo?', `symbolic-link?', `directory?', `regular-file?', `socket?', `character-device?' and `block-device?' now accepts file-descriptors or filenames - `find-files' takes keyword arguments, now (including the options to process dotfiles and ignore symbolic links); the old argument signature is still supported but deprecated - removed dependency on `symbol-append' in some macros used in srfi-4.scm to be able to compile the system with older chickens - fixed bug in script that generates development snapshot - added build-variable `TARGET_FEATURES', which can be used to pass extra options enabling or disabling fetures for a system configured for cross-compilation - added compiler and interpreter option `-no-feature FEATURENAME' that disables predefined feature identifiers - code compiled with interrupts disabled will not emit inline files for global inlining since they may execute in a context where interrupts are enabled - the `setup.defaults' file that holds download sources for `chicken-install' now allows aliases for locations - CHICKEN systems build from cross-compilation now by default transparently build and install extensions for both the host and target parts of the cross-compilation setup; the options `-host' and `-target' can now be used to selectively build an extensions for the host- and the target system, respectively - also added `-host' and `-target' options to `chicken-status' and `chicken-uninstall' - `chicken-install' now respects the `http_proxy' environment variable (contributed by Stephen Eilert) - the `srfi-4' library unit has been heavily cleaned up and optimized - optimization-level 3 now enables global inlining - fixed the case that declarations listing global identifiers did not correctly rename them - deprecated `-N' option shortcut for `-no-usual-integrations' option in `csc' - `csi' now offers a toplevel command `,e' for invoking an external editor (suggested by Oivind Binde) - the `describe' command in `csi' now detects many circular lists (contributed by Christian Kellermann) - `csi' doesn't depend on the `srfi-69' library unit anymore - when a closing sequence delimiter is missing or incorrect, the reader also reports the starting line of the sequence - the reader signals an error when a file contains certain characters that indicate that it is a binary file - procedure-information shown by the printer for procedures is now corrected for some library procedures that where missing the correct information; `getter-with-setter' copies procedure-information objects into the newly created accessor procedure, if available - calls to some known pure standard- or extended procedures are removed, if the procedures are called with side-effect free arguments and the result is not used (this can also by enabled for user procedures with the `constant' declaration) - fixed some build-system bugs related to installation - fixed a problem in the C runtime code that prevented it to be compileable without a configuration header-file - the makefile-target to build a bootstrapping `chicken' executable performs multi-stage build now - changed error message when required extension is out of date (thanks to Mario Goulart) - documented library units loaded by default in `csi' (thanks to Moritz Heidkamp) - added `boot-chicken' makefile target to simplify bootstrapping the system from sources and documented this in the README (suggested by Jim Ursetto) - CHICKEN can now be built on haiku (contributed by Chris Roberts) - on Solaris, the system can be compiled with the SunPro C compiler (thanks to Semih Cemiloglu) - removed the `-disable-warnings' compiler option and `disable-warnings' declaration specifier - `fx/' and `fxmod' generate now faster code in safe mode - cleaned up manual pages - slightly optimized variable- and procedure-access - in the compiler `-debug-level 2' implies `-scrutinize' - internal compiler-transformation for `for-each' and `map' apply now with any expression as the procedure argument - the compiler warns about non-intrinsic exported toplevel variables which are declared to be safe - `csc' didn't handle the `-verbose' option (thanks to Mario Goulart) - the `,d' command in `csi' now detects circular lists (thanks to Christian Kellermann) - strings passed to C runtime functions and which are converted to 0-terminated C strings are now checked for not containing embedded `\0' characters (thanks to Peter Bex) - errors in user-defined record printers are caught and shown in the output instead of throwing an error to avoid endless recursion when an error message is printed - a feature identifier named `chicken-MAJOR.MINOR' is now defined to simplify conditionalization of code on the CHICKEN version - `getter-with-setter' copies the lambda-information (if available) from the getter to the generated procedure - `time' uses a somewhat more concise output format and outputs timing information to stderr instead of stdout - added a new chapter on cross-development to the manual - added the `safe-globals' declaration specifier - split up manual chapter `Modules and macros' into two chapters (named `Modules' and `Macros', respectively - suggested by Mario Goulart) - the last 5 non-precompiled regular expressions are now internally cached in compiled form, which speeds up repeated matching of the same uncompiled regular expression dramatically - added the new procedure `yes-or-no?' to the `utils' library unit - added a `bench' makefile target that runs some non-trivial benchmark programs - added `install-target' and `install-dev' makefile target for installing only target system libraries in cross-mode and development files (static libraries and headers) - added `[-]no-procedure-checks-for-toplevel-bindings' compiler option and declaration - usage of unimported syntax in modules gives more usable error messages; in particular, used but unimported FFI forms are now detected - invalid syntactic forms (mostly `()') encountered by the compiler or interpreter show the contextual form containing the expression, or, if indicated by the context warns about missing imports - simplified manual pages of all core tools - they now refer to the output shown by invoking `<tool> -help' - added new option `-feature FEATURE' to `chicken-install' tool to pass feature-identifiers to invocations of `csc' - removed deprecated `-host-extension' option from `chicken-install' - `chicken-status' in a system built for cross-compilation now lists extensions installed in the target prefix, unless the new `-host' option is given on the command line - `chicken-uninstall' in a system built for cross-compilation now removes extensions installed in the target prefix, unless the new `-host' option is given on the command line - added missing entry for `finite?' to the `chicken' module exports - added new procedure `port-closed?' to the `library' unit (contributed by Peter Bex) - added new procedure `symbol-append' to the library unit - the compiler-option `-optimize-level 0' is equivalent to `-no-compiler-syntax -no-usual-integrations` - internal rewritings of `map' and `for-each' ensure correct evaluation order of the arguments and does a better job at detecting non-list arguments (thanks to Jim Ursetto) - `void' now takes arbitrary arguments and ignores them - deprecated `noop' (from the `data-structures' unit) which is now replaced by `void' - the `time' macro now performs a major garbage collection before executing the contained expressions and writes the timings in a more compact format to the port given by `(current-error-port)' instead of the standard output port - definitions of the form `(define define ...)' and `(define-syntax define-syntax ...)' now trigger an error, as required by R5RS (thanks to Jeronimo Pellegrini and Alex Shinn) - deprecated `random-seed' from the `extras' unit, since it is identical to `randomize' - added new procedure `create-temporary-directory' to the `files' unit - deprecated the optional path separator argument to `make-pathname' - slightly improved the performance of keyword argument processing - removed the deprecated `canonical-path' and `current-environment' procedures from the `posix' unit - warnings that mostly refer to programming style issues are now coined `notes' and are only shown in the interpreter or when debug-mode is enabled or when scrutiny is enabled when compiling |
||
asau
|
0c9c41ac6a |
Update to Chicken 4.5.0.
Submitted by Peter Bex on IRC. Changes in 4.5.0 - internal fixes of handling of alternative installation-prefix in setup-api - certain compiler-warnings that are in really just notes and don't indicate a possible error (like reimport of identifiers) are only shown with -S or in verbose mode - fixed handling of VARDIR in `chicken-install' (thanks to Davide Puricelli) - `chicken-install -test' doesn't runs tests for dependencies - when a non-else clause follows an else-clause in `cond', `case' or `select' a warning (note) is shown in verbose mode - removed the deprecated `define-extension' and `define-compiled-syntax' - `chicken-uninstall' now always asks before removing extensions, unless `-force' is given - improved performance of keyword-argument processing slightly - `export' outside of a module definition has no effect - `number->string' now accepts arbitrary bases between 2 and 16 (thanks to Christian Kellermann) - fixed `standard-extension' in `setup-api' module - literal constants keep their identity, even when inlined - Unit library: added `fxodd?' and `fxeven?' - All hardcoded special forms have been replaced with syntax definitions that expand into internal forms, this allows redefinition and shadowing of all Scheme core forms - faster implementations of `get' and `put!' - faster implementation of `assq' in unsafe mode - the `-sx' option prefixes each output line with `;' - slightly better expansion performance - more documentation of the C API (thanks to Peter Bex) - `module' supports a shorthand form that refers directly to a file to be included as the module body - added runtime option `-:G' to force GUI mode (on platforms that distinguish between GUI and non-GUI applications) - removed the unsafe runtime library (`libuchicken'), this simplifies and speeds up the build and reduces the risk of executables loading library units from different variants of the runtime system - removed the `-unsafe-libraries' option from `chicken' and `csc' - removed bootstrapping target and bootstrapping files from development repository; to bootstrap the system, either use a release or development-snapshot tarball or fetch a statically linked precompiled `chicken' binary from http://chicken.wiki.br/chicken-projects/bootstrap/ - Jim Ursetto provided some fixes for building universal binaries on Mac OS X - `csc' now compiles and links Windows resource (.rc) files when given on the command line - `chicken-install' and `chicken-uninstall' have an embedded manifest that suppresses the elevation dialog on Windows Vista and later when UAC is activated (Thanks to Thomas Chust) - the `install' program is not used in the build on mingw and mingw/MSYS platforms, since this is broken on older mingw versions - line-number-information is now properly handled (in the few places where it is used) correctly for included files; the source file is given in trace-output in addition to the line number - removed compiler warning for shared objects compiled in unsafe mode - unboxing is now only done in unsafe mode - in unsafe mode, pointer-accessors from the `lolevel' unit are now handled intrinsically by the compiler - `chicken-install' accepts now relative pathnames for the `-prefix' option - `define-record-type' now optionally allows using SRFI-17 setters as record-field modifiers - `integer?' returns `#f' for NaN and infinite numbers - `csc' now has an `-no-elevation' option for embedding a manifest that prevents the elevation dialog on Windows Vista and later when IAC is activated - the `,d' csi command displays qualified symbols properly - symbols starting with the `#\#' character trigger an error when encountered by the reader - Unit posix: `glob->regexp' now always returns a regular expression object or optionally an SRE - Unit posix: `terminal-port?' and `terminal-size' have been implemented for Windows, the latter always returns `0 0', though (thanks to Jim Ursetto) - Unit regex: `regexp' now accepts a regular expression object as argument - Unit regex: removed `glob?' - fixed bug in `chicken-install'/`chicken-uninstall' and `chicken-status' that prevented collapsed command-line options to be handled correctly. - disabled runpath-fix for deployed applications for netbsd (but resurrected providing a runpath at all, thanks to Peter Bex) - Peter Bex provided documentation for the `C_closure' C API function |
||
asau
|
cdb469c41d |
Update to Chicken 4.4.0.
Contributed by Peter Bex. New in Chicken 4.4.0: - the system can now be built with llvm-gcc and/or "clang" (the LLVM C compiler which doesn't use the GNU C frontend) - added new option `-trunk' to `chicken-install', which forces building and installing the development version of extensions in combination with `-t local' - added new option `-deploy' to `chicken-install', which builds extension for use in "deployed" applications (see below) - added option `-deploy' to `csc', the compiler driver. With this option `csc' can build fully self-contained application bundles and double-clickable Macintosh GUI apps; see the "Deployment" manual chapter for more information - the directory given to the `-prefix' option of `chicken-install' may now be a relative pathname. - removed GUI-specific runtime library (`libchicken-gui') from Windows build - GUI- and non-GUI applications now use the same runtime library - special forms of the foreign-function interface have been replaced with an internal form and syntax to allow renaming and shadowing of these forms - the new `-private-repository' option in `csc' compiles executables with the extension-repository path set to the directory from which the program was started - `csc': deprecated the `-W' and `-windows' options, added `-gui' as a platform-independent replacement - `require-extension'/`use' accepts now import-specifications - user-defined extension-specifiers and `set-extension-specifier!' have been removed - `delete-file[*]', `rename-file', `create-directory', `file-copy', `file-move', `delete-directory' and `change-directory' return their argument/destination filename on success - added the missing procedure `condition-variable-name' to the srfi-18 library unit (Thanks to Joerg Wittenberger) - the `glob?' function from the `regex' unit has been deprecated - added the procedure `scan-input-lines' to the `utils' library unit - added new runtime option `-:g' which enables GC debugging output - reclamation of unused symbols in "symbol-gc" mode (`-:w') now only takes place for symbols with an empty property-list - on Windows loading of code compiled with [non-]GUI runtime libraries will fail and produce an error message when the loading executable is linked with a different runtime system - on Windows, GUI libraries were not correctly linked by `csc' - unit posix: added setter for `file-modification-time' - the banner shows the branchname of the build, unless it's "master" - the `-no-install' option to `chicken-install' is ignored when building/installing dependencies - `chicken-uninstall' takes a glob instead of a regular expression as argument - the rename and compare functions for low-level macro-definitions accept now arbitrary s-expressions and renames/compares them recursively - `number->string' handles negative-numbers with bases different from 10 correctly (thanks to Peter Danenberg) - removed deprecated `setup-install-flag' and `setup-verbose-flag' from the `setup-api' module - added new option `-repository' to `chicken-install' (Thanks to Christian Kellermann) - removed `chicken-setup' stub program - fix to `csc' to use the correct library when fixing dynamic load paths (Thanks to Derrell Piper) - removed html documentation from distribution (the wiki manual will now be installed) - fixed bug in `reexport' which caused syntax not to be correctly reexported - previous assignments to a toplevel variable that are separated by side effect free expressions are removed - fixed windows version of `find-files' (thanks to Jim Ursetto) - documentation for extensions is not installed automatically by `chicken-install' anymore - changed binary version from "4" to "5", because the new runtime libraries are not binary-compatible with previous releases; this means all eggs have to be reinstalled and existing programs be recompiled! - added unboxing pass to compiler which results in partially dramatical performance improvements for unsafe floating-point-intensive code; unboxing is enabled on optimization levels 4 and 5 - removed rest-argument-vector optimization as it could conflict with inlining (thanks to Sven Hartrumpf) - renamed `pointer-offset' to `pointer+' and deprecated `pointer-offset' - toplevel assignments that have no other side-effects can be eliminated if it can be shown that the value is not used (the compiler will generate a warning in this case) - removed deprecated `-quiet' option in `chicken' program - removed deprecated `run-time-macros' declaration - removed deprecated `-v2' and `-v3' options in `csc' program - removed deprecated `list-of' function (it is exclusively available as `list-of?' now) - removed deprecated `stat-...' functions in posix library unit - removed deprecated `for-each-line' and `for-each-argv-line' procedures in utils library unit - added `fpinteger?' and `fpabs' - deprecated `define-compiled-syntax' - added new floating-point primitives `fpsin', `fpcos', `fptan', `fpasin', `fpacos', `fpatan', `fpatan2', `fpexp', `fplog', `fpexpt' and `fpsqrt' - heavy cleanup of floating math functions which gives much better performance, especially for code compiled in unsafe mode - calling `assert' with a single argument shows the tested expression on failure - various bugfixes and cleaning up |
||
asau
|
d04b1ead9d |
Update Chicken to 4.3.0.
Patch provided by Peter Bex. Changes in 4.3.0: - removed tracing facility and apply-hook (see the "trace" egg for a replacement for tracing and breakpoints) - chicken-install(1): renamed `-host-extension' option to `-host' - added support for a make(1) configuration file ("config.make") - `chicken-install' now allows specifiying a proxy for retrieving extensions over HTTP (thanks to Nicolas Pelletier) - fixed bug in `cond-expand' that incorrectly renamed feature-identifiers if the form was the product of a syntax expansion (reported by Thomas Bushnell) - import-libraries are only generated by the compiler if they don't exist yet and if the content has actually changed (this simplifies makefile- rules in some cases) - it is now possible to pass a config-file to `make(1)' instead of specifying all build-options as variables on the command-line (see README) - removed compiler options for "benchmark-mode" and replaced them with a new optimization level (5) (note that `-O5' does not imply fixnum mode anymore) - `hen.el' and `scheme-complete.el' are not bundled with the core system anymore - `hen.el' is currently not maintained, and `scheme-complete.el' has its own release cycle; both files are available, see http://chicken.wiki.br/emacs - removed meaningless benchmark suite and cleaned up - added optional argument to `grep' that allows applying a function to each matched item (contributed by Tony Sidaway) - added extension-property `import-only', which makes it possible to create extensions that have no runtime part - the argument to `seconds->string', `seconds->utc-time' and `seconds->local-time' is now optional and defaults to the value of `(current-seconds)' (suggested by Mario Goulart) - removed read-syntax for `syntax' form - fixed bug in `get-condition-property' - fixed bug in windows version of `process-execute' - TCP timeouts throw exception of kind `timeout' to allow distinguishing between timeouts and other errors - removed some internal functions that manipulate environments - fixed bugs in `standard-extension' (`setup-api' module) and added keyword arguments for building static extensions and adding custom properties - when cross-compiling, `chicken-install(1)' doesn't pass `-setup-mode' (the host tools should not attempt to load target binaries) - `installation-prefix' in the `setup-api' module was not always correctly set - the `-force' option in `chicken-install(1)' overrides the CHICKEN version check - disabled e-mail feature in `chicken-bug(1)', since it doesn't work anyway, in the moment - fixed bug in `reexport' that made it impossible to reexport core library definitions - fix in optimizer that sometimes caused C functions for inlined procedures to be emitted multiple times (Thanks to Joerg Wittenberger) - documented `define-compiler-syntax' and `let-compiler-syntax' - printer for hash-tables shows current number of stores items - when upgrading during installation of a dependency `chicken-install' shows the version to upgrade to (Thanks to Christian Kellermann) - Updated scheme-complete (Thanks to Alex Shinn) - fix for pathnames with whitespace in 'runtests.sh' on Windows - fix for 'normalize-pathname' with absolute pathname argument - added 'decompose-directory' to unit files - fix for 'local-timezone-abbreviation' - wasn't using the current time so tz-name constant - deprecated 'make-pathname' separator argument |
||
asau
|
ced57a9cd7 |
Update Chicken to 4.2.0.
Changes in 4.2.0: - added compiler option `-emit-all-import-libraries' - added `reexport' - added compiler and interpreter option `-setup-mode' - various minor performance improvements - fix for 'create-directory' when parents wanted - `for-each-line' and `for-each-argv-line' have been deprecated - chicken-install tries alternative servers if server responds with error - fixed load bug (ticket #72) - new library procedure `get-condition-property' - many mingw build fixes (thanks tp Fadi Moukayed) - setup-api: deprecated `cross-chicken' (use `cond-expand' or `feature?' instead) - added topological-sort to data-structures unit; chicken-install sorts dependencies before installing them - "-optimize-level 2" enables inlining by default - disable executable stack in assembly code modules (patch by Zbigniew, reported by Marijn Schouten) - csc now always exits with a status code of 1 on errors (patch by Zbigniew) |
||
wiz
|
25767a65ae |
Update to 4.1.0, provided by Peter Bex via pkgsrc-wip (wip/chicken-current).
4.1.0 - The new parameter "parantheses-synonyms" and the command-line option "-no-parantheses-synonyms" allows disabling list-like behaviour of "{ ... }" and "[ ... ]" tokens - The new parameter "symbol-escape" and the command-line option "-no-symbol-escape" allows disabling "| ... |" symbol escape syntax - Added command-line option "-r5rs-syntax" to disable CHICKEN-specific read-syntax - Added compiler command-line-option "-no-compiler-syntax" - Deprecated "getenv" (use "get-environment-variable" instead) - Removed "macro?" and "undefine-macro!" - Support for Microsoft Visual Studio / MSVC has been dropped - The compiler provides now a simple flow-analysis pass that does basic checking of argument-count and -types for core library procedures (new option "-scrutinize") - New compiler-options "-no-argc-checks", "-no-bound-checks", "-no-procedure checks", "-no-procedure-checks-for-usual-bindings", "-types TYPEFILE" and "-consult-inline-file FILENAME" - Added a "chicken-setup" stub-application to catch incorrect use of this tool (which has been replaced in 4.0.0 with "chicken-install") - Changed "setup-install-flag" and "setup-verbose-flag" to "setup-install-mode" and "setup-verbose-mode" in "setup-api" module, the old names are still available but deprecated - Posix unit: added "socket?", "block-device?" and "character-device?", deprecated redundant "stat-..." procedures - Also in Posix unit: "canonical-path" has been deprecated, "normalize-pathname" from the "files" unit provides now most of the functionality - Added "directory-exists?" - "(for-each (lambda ...) X)" is compiled as a loop - The argument-count check for format-strings for "[sf]printf" with a constant string argument is done at compile-time - A stub application named "chicken-setup" is installed to catch when a user invokes theobsolete tool instead of the new "chicken-install". 4.0.0 - removed `apropos' and `apropos-list' from the "utils" library unit; available as an extension - removed texinfo and PDF documentation - this will possible be added back later - replaced PCRE regex engine with Alex Shinn's "irregex" regular expression package - removed `-extension' option - removed `-static-extensions' csc option and added `-static-extension NAME' - `regex' unit: removed `regexp*' and `regex-optimize' - added `CHICKEN_new_finalizable_gc_root()' - `length' checks its argument for being cyclic - removed custom declarations and "link-options" and "c-options" declarations - deprecated "-quiet" option to "chicken" program - added "-update-db" option to chicken-install - the compiler now suggests possibly required module-imports - moved non-standard syntax-definitions into "chicken-syntax" library unit - the pretty-printer prints the end-of-file object readably now - alternative conditional execution paths have separate allocation computation (previously the allocation of all alternatives was coalesced) - removed unused "%kmp-search" from "srfi-13" library unit - expander handles syntax-reexports and makes unexported syntax available for exported expanders in import libraries - added checks in some procedures in the "tcp" library unit - the macro system has been completely overhauled and converted to hygienic macros - a macro-aware module system has been added - added "-sx" option to csi - removed the following deprecated functions: [un]shift! andmap ormap byte-vector? byte-vector-fill! make-byte-vector byte-vector byte-vector-set! byte-vector-ref byte-vector->list list->byte-vector string->byte-vector byte-vector->string byte-vector-length make-static-byte-vector static-byte-vector->pointer byte-vector-move! byte-vector-append! set-file-position! set-user-id! set-group-id! set-process-group-id! macro? undefine-macro! - the situation-identifiers "run-time" and "compile-time" have been removed - the compiler options "-check-imports", "-import" and "-emit-exports" have been removed - new procedures: strip-syntax expand - new macros define-syntax module export - the following macros have been removed: define-foreign-record define-foreign-enum define-macro define-extension - "local" mode, in which locally defined exported toplevel variables can be inlined - new options and declarations "[-]local", "[-]inline-global" and "-emit-inline-file" - optimization levels changed to use inlining: -optimize-level 3: enables -inline -local (but *not* -unsafe) -optimize-level 4: enables -inline -local -unsafe - increased default inlining-limit to 20 - support for cross-module inlining - "make <VARIABLES> bench" runs the benchmark suite - "chicken-setup" has been replaced by new command line tools "chicken-install", "chicken-uninstall" and "chicken-status", which are more flexible and allow greater freedom when creating local or application- specific repositories - extension-installation can be done directly from SVN repositories or a local file tree - enabled chicken mirror site as alternative download location |
||
joerg
|
edbc2fac64 | Replace @exec/@unexec with @pkgdir or drop it. | ||
joerg
|
62d1ba2bac | Remove @dirrm entries from PLISTs | ||
ahoka
|
425057caa4 |
Update chicken to 3.4.0.
Changes between 3.3.0 and 3.4.0: - Fixes to the MinGW build. - PCRE 7.7 - Bug fix for bitwise-or use [Joerg Wittenberger] - Bug fix in thread-terminate! [thanks to Joerg Wittenberger] - Cygwin build patched to put the runtime libraries in the right place. [thanks to Nathan Thern] - added support for out-of-tree compilation (via the SRCDIR variable) [thanks to Ivan Shmakov] - bug fix for (string->number "/") - support for selective procedure profiling in the compiler - unit utils: moved file- and pathname-related procedures to unit files - new unit files |
||
tnn
|
abbfea3145 |
Update to chicken-3.3.0. From Aleksej Saushev.
- the build system now sets the SONAME field of libchicken.so under Linux - added use of unit ports to unit extras and chicken-setup - unit utils and extras: moved port extensions to unit ports - new unit ports - some fixes to the build system when USE_HOST_PCRE is set - fixed an allocation bug in decode_literal - bug fix for bitwise-or use [Joerg Wittenberger] - bug fix pointer->address - other bug fixes |
||
obache
|
93741eb4bb |
Treat DragonFly the same as other BSDs.
Patch provided by MAINTAINER Aleksej Saushev in PR 39054. |
||
degroote
|
4a79e3b934 |
Update chicken from 3.10 to 3.20
From Changelog : - unit extras: moved lists, queues, strings to data-structures - new unit data-structures - unit library: symbol->string now copies its argument - chicken-setup: added option -svn-trunk - unit utils: added file-copy and file-move (request by the einit team) - unit srfi-69: added hash-table-clear! - unit srfi-69: new - unit extras: moved SRFI 69 to unit srfi-69 Contributed by Aleksej Saushev |
||
tnn
|
b63d5910c1 |
Update to chicken-3.1.0.
Changes: faster socket writes, posix date fixes, hashtable enhancements. |
||
tnn
|
065efb53a6 | Update master site URL. | ||
tnn
|
bbfcaa728b | Add the shared library search path in addition to the run path for -lpcre. | ||
tnn
|
520dd2104d |
Update to chicken-3.0.0, from pkgsrc-wip.
Some highlights: 3.0.0: - On sparc64 architectures more than 126 procedure arguments are allowed [Thanks to Peter Bex] 2.7xx: - PCRE support - new GNU Make based build process - libffi is not used anymore, handcoded assembler is used for x86, x86-64 and powerpc platforms - TCP timeout handling - added Lisp-style symbol property lists - the "chicken-bug" program can now be used to create bug reports - countless bugfixes and minor improvements |
||
obache
|
0c0f744d0e |
Update chicken to 2.60, aka 2.6.
Based on patch provided by Alaric Snell-Pym in pkgsrc-users@. Things changed since the last release (2.5): - Many bugfixes - Better support for Sun's C compiler - Input-performance has been improved - PCRE (Perl compatible regular expressions) by Philip Hazel is now bundled with CHICKEN - Static linking of extensions is now possible (when supported by the egg) - The interpreter warns about references to potentially unbound variables in loaded code and expressions entered on the REPL - The expansion process is traced during compilation and interpretation to give (slightly) more usable syntactic context in error messages - library: * added `any?`, `bit-set?' and `on-exit' - eval: * new procedure `set-parameterized-read-syntax!' - posix: * SRFI-17 setters for `file-position`, `current-user-id', `current-group-id', `process-group-id'; the respective setter-procedures are still available but have been deprecated * `file-stat' returns more information (including device info) * added `process*' - extras: * added `read-string!' - utils: * `apropos' and `apropos-list' procedures - srfi-4: * added `read-u8vector', `read-u8vector!' and `write-u8vector' - srfi-18: * added `time->milliseconds' and `milliseconds->time' - csi: * `-ss SCRIPTNAME' option - csc: * accepts options given in the environment variable `CSC_OPTIONS' * new options `-static-extensions' and `-host' - chicken/csc: * new option `-keep-shadowed-macros' - chicken-setup: * accepts options given in the environment variable `CHICKEN_SETUP_OPTIONS' * allows retrieval and installation of eggs from subversion a repository and the local filesystem * new options `-tree FILENAME', `-svn', `-local', `-revision' and `-destdir PATHNAME' * added helper procedures `required-chicken-version' and `required-extension-version' - Lots of improvements in the CMake build |
||
obache
|
f0c1fd8b75 |
Update chicken to 2.50 a.k.a. 2.5.
Based on patch provided by Peter Schuller in PR 35339. Changes: - Bugfixes - CHICKEN can now be built using CMake <http://www.cmake.org>, in fact CMake is required to built CHICKEN from sources on Windows with the Microsoft tools - the whole build process has been cleaned up and simplified - the "easyffi" and "tinyclos" library units have been removed from the base system and are now available as separate extensions - the deprecated "set-dispatch-read-syntax!" has been removed - Will Farr cleaned up the behaviour of number-type specific numeric operations ("fx..."/"fp...") with respect to safe/unsafe mode - added "(finite? NUMBER)" - the "$" macro moved into its own separate extension - the values of "software-type", "software-version", "machine-type" and "machine -byte-order" are now registered as features and can be tested using "cond-expand" or "#+" - all tools now support the "-release" option - chicken-setup: added "-test" option |
||
joerg
|
1b3199836e |
Fix libtool.m4 fragment to properly detect shared libraries on
DragonFly. |
||
joerg
|
3c1a25c9f7 | DESTDIR support. | ||
obache
|
e0c592da01 |
Update chicken to 2.41, based on PR 34504 by Peter Bex.
Mark directories used by chiken's own package `egg' as OWN_DIRS so that keep eggs when updating this package. |
||
tonio
|
c34fa8c26c |
Update lang/chicken to 2.3, patch from PR 33533 by Peter Bex
In Changelog: - Many bugfixes - chicken-config was removed, "csc" providing the same functionality - option -objc generates files in Objective-C mode - options '-framework', '-rpath'... ... |
||
jlam
|
1c035e3599 |
List the info files directly in the PLIST, and honor PKGINFODIR and
PKGMANDIR. |
||
jlam
|
9c8b5ede43 |
Point MAINTAINER to pkgsrc-users@NetBSD.org in the case where no
developer is officially maintaining the package. The rationale for changing this from "tech-pkg" to "pkgsrc-users" is that it implies that any user can try to maintain the package (by submitting patches to the mailing list). Since the folks most likely to care about the package are the folks that want to use it or are already using it, this would leverage the energy of users who aren't developers. |
||
joerg
|
5911def816 | Recursive revision bump / recommended bump for gettext ABI change. | ||
joerg
|
7b199e3aa4 | Fix errno. Add DragonFly support. | ||
rillig
|
b71a1d488b |
Fixed pkglint warnings. The warnings are mostly quoting issues, for
example MAKE_ENV+=FOO=${BAR} is changed to MAKE_ENV+=FOO=${BAR:Q}. Some other changes are outlined in http://mail-index.netbsd.org/tech-pkg/2005/12/02/0034.html |
||
rillig
|
0282a44c5e |
Setting MAKEINFO in the MAKE_ENV does not seem strong enough for some bulk
builds. Let's try MAKE_FLAGS instead. |
||
rillig
|
fecfdfc25c |
Updated chicken to 2.2 using some patches by Peter Bex via private mail.
There are far too many details that have changed to mention here. Fixes PR 30783. |