pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/lang/chicken Update to Chicken 4.9.0.1
details: https://anonhg.NetBSD.org/pkgsrc/rev/e6b30a58f999
branches: trunk
changeset: 635839:e6b30a58f999
user: asau <asau%pkgsrc.org@localhost>
date: Thu Jun 12 07:22:12 2014 +0000
description:
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.
diffstat:
lang/chicken/Makefile | 6 +-
lang/chicken/PLIST | 50 ++++++++++++++--------------
lang/chicken/distinfo | 9 ++--
lang/chicken/patches/patch-scripts_csc-trans | 22 ++++++++++++
4 files changed, 55 insertions(+), 32 deletions(-)
diffs (126 lines):
diff -r 245c38bcde81 -r e6b30a58f999 lang/chicken/Makefile
--- a/lang/chicken/Makefile Thu Jun 12 04:15:48 2014 +0000
+++ b/lang/chicken/Makefile Thu Jun 12 07:22:12 2014 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.50 2013/10/04 15:55:38 asau Exp $
+# $NetBSD: Makefile,v 1.51 2014/06/12 07:22:12 asau Exp $
-DISTNAME= chicken-4.8.0.5
+DISTNAME= chicken-4.9.0.1
CATEGORIES= lang
MASTER_SITES= http://code.call-cc.org/releases/$(PKGVERSION_NOREV)/ \
http://code.call-cc.org/releases/$(PKGVERSION_NOREV:R)/
@@ -50,6 +50,6 @@
MAKE_FLAGS+= INFODIR=${PREFIX:Q}/${PKGINFODIR:Q}
MAKE_FLAGS+= DOCDIR=${PREFIX:Q}/share/doc/${PKGNAME_NOREV}
-TEST_TARGET= check # works only after installation
+TEST_TARGET= check
.include "../../mk/bsd.pkg.mk"
diff -r 245c38bcde81 -r e6b30a58f999 lang/chicken/PLIST
--- a/lang/chicken/PLIST Thu Jun 12 04:15:48 2014 +0000
+++ b/lang/chicken/PLIST Thu Jun 12 07:22:12 2014 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.31 2013/01/18 20:56:14 asau Exp $
+@comment $NetBSD: PLIST,v 1.32 2014/06/12 07:22:12 asau Exp $
bin/chicken
bin/chicken-bug
bin/chicken-install
@@ -9,32 +9,32 @@
bin/csi
include/chicken/chicken-config.h
include/chicken/chicken.h
-lib/chicken/6/chicken.import.so
-lib/chicken/6/csi.import.so
-lib/chicken/6/data-structures.import.so
-lib/chicken/6/extras.import.so
-lib/chicken/6/files.import.so
-lib/chicken/6/foreign.import.so
-lib/chicken/6/irregex.import.so
-lib/chicken/6/lolevel.import.so
-lib/chicken/6/ports.import.so
-lib/chicken/6/posix.import.so
-lib/chicken/6/setup-api.import.so
-lib/chicken/6/setup-api.so
-lib/chicken/6/setup-download.import.so
-lib/chicken/6/setup-download.so
-lib/chicken/6/srfi-1.import.so
-lib/chicken/6/srfi-13.import.so
-lib/chicken/6/srfi-14.import.so
-lib/chicken/6/srfi-18.import.so
-lib/chicken/6/srfi-4.import.so
-lib/chicken/6/srfi-69.import.so
-lib/chicken/6/tcp.import.so
-lib/chicken/6/types.db
-lib/chicken/6/utils.import.so
+lib/chicken/7/chicken.import.so
+lib/chicken/7/csi.import.so
+lib/chicken/7/data-structures.import.so
+lib/chicken/7/extras.import.so
+lib/chicken/7/files.import.so
+lib/chicken/7/foreign.import.so
+lib/chicken/7/irregex.import.so
+lib/chicken/7/lolevel.import.so
+lib/chicken/7/ports.import.so
+lib/chicken/7/posix.import.so
+lib/chicken/7/setup-api.import.so
+lib/chicken/7/setup-api.so
+lib/chicken/7/setup-download.import.so
+lib/chicken/7/setup-download.so
+lib/chicken/7/srfi-1.import.so
+lib/chicken/7/srfi-13.import.so
+lib/chicken/7/srfi-14.import.so
+lib/chicken/7/srfi-18.import.so
+lib/chicken/7/srfi-4.import.so
+lib/chicken/7/srfi-69.import.so
+lib/chicken/7/tcp.import.so
+lib/chicken/7/types.db
+lib/chicken/7/utils.import.so
lib/libchicken.a
lib/libchicken.so
-lib/libchicken.so.6
+lib/libchicken.so.7
man/man1/chicken-bug.1
man/man1/chicken-install.1
man/man1/chicken-profile.1
diff -r 245c38bcde81 -r e6b30a58f999 lang/chicken/distinfo
--- a/lang/chicken/distinfo Thu Jun 12 04:15:48 2014 +0000
+++ b/lang/chicken/distinfo Thu Jun 12 07:22:12 2014 +0000
@@ -1,5 +1,6 @@
-$NetBSD: distinfo,v 1.37 2013/10/04 15:55:38 asau Exp $
+$NetBSD: distinfo,v 1.38 2014/06/12 07:22:12 asau Exp $
-SHA1 (chicken-4.8.0.5.tar.gz) = fb393e49433c183d6a97da9b1ca48cb09ed51d72
-RMD160 (chicken-4.8.0.5.tar.gz) = 39b96764aa7a549bfaef87cd88f014dd81d5628b
-Size (chicken-4.8.0.5.tar.gz) = 3970370 bytes
+SHA1 (chicken-4.9.0.1.tar.gz) = d6ec6eb51c6d69e006cc72939b34855013b8535a
+RMD160 (chicken-4.9.0.1.tar.gz) = d8366e41e4ba766078466cb2b359b96962300f85
+Size (chicken-4.9.0.1.tar.gz) = 4023371 bytes
+SHA1 (patch-scripts_csc-trans) = bbe29abf6ef1efb909fa599d18c2dc203d252cd2
diff -r 245c38bcde81 -r e6b30a58f999 lang/chicken/patches/patch-scripts_csc-trans
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/chicken/patches/patch-scripts_csc-trans Thu Jun 12 07:22:12 2014 +0000
@@ -0,0 +1,22 @@
+$NetBSD: patch-scripts_csc-trans,v 1.1 2014/06/12 07:22:12 asau Exp $
+
+--- scripts/csc-trans.orig 2014-05-18 17:01:17.000000000 +0000
++++ scripts/csc-trans
+@@ -35,7 +35,7 @@ shift $(($OPTIND - 1))
+
+ # First argument after options is the file
+ FILE=$1
+-if [ "x$FILE" == "x" ]; then
++if [ -z "$FILE" ]; then
+ FILE="/dev/stdin"
+ fi
+
+@@ -55,7 +55,7 @@ if [ -n "$NOENSCRIPT" ]; then
+ fi
+
+ # Are we filtering out just the user code?
+-if [ "x$ALL" == "x1" ]; then
++if [ -z "$ALL" ]; then
+ $CSC $CSC_OPTS $FILE | $PASS2 2>/dev/null | $PASS3 2>/dev/null
+ else
+ $CSC $CSC_OPTS $FILE |\
Home |
Main Index |
Thread Index |
Old Index