Mon Mar 15 03:43:51 2010 UTC ()
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)
diff -r1.40 -r1.41 pkgsrc/lang/chicken/Makefile
diff -r1.25 -r1.26 pkgsrc/lang/chicken/PLIST
diff -r1.28 -r1.29 pkgsrc/lang/chicken/distinfo
diff -r0 -r1.1 pkgsrc/lang/chicken/patches/patch-aj
diff -r0 -r1.1 pkgsrc/lang/chicken/patches/patch-ak

cvs diff -r1.40 -r1.41 pkgsrc/lang/chicken/Makefile (expand / switch to unified diff)

--- pkgsrc/lang/chicken/Makefile 2009/12/15 12:38:04 1.40
+++ pkgsrc/lang/chicken/Makefile 2010/03/15 03:43:51 1.41
@@ -1,38 +1,38 @@ @@ -1,38 +1,38 @@
1# $NetBSD: Makefile,v 1.40 2009/12/15 12:38:04 asau Exp $ 1# $NetBSD: Makefile,v 1.41 2010/03/15 03:43:51 asau Exp $
2# 2#
3 3
4DISTNAME= chicken-4.3.0 4DISTNAME= chicken-4.4.0
5CATEGORIES= lang 5CATEGORIES= lang
6MASTER_SITES= http://chicken.wiki.br/releases/${PKGVERSION_NOREV}/ \ 6MASTER_SITES= http://chicken.wiki.br/releases/${PKGVERSION_NOREV}/ \
7 http://galinha.ucpel.tche.br/releases/${PKGVERSION_NOREV}/ \ 7 http://galinha.ucpel.tche.br/releases/${PKGVERSION_NOREV}/ \
8 ${HOMEPAGE} 8 ${HOMEPAGE}
9 9
10MAINTAINER= asau@inbox.ru #, airhead@users.sourceforge.net 10MAINTAINER= asau@inbox.ru #, airhead@users.sourceforge.net
11HOMEPAGE= http://www.call-with-current-continuation.org/ 11HOMEPAGE= http://www.call-with-current-continuation.org/
12COMMENT= Scheme to C compiler, handling R5RS 12COMMENT= Scheme to C compiler, handling R5RS
13LICENSE= modified-bsd 13LICENSE= modified-bsd
14 14
15PKG_DESTDIR_SUPPORT= user-destdir 15PKG_DESTDIR_SUPPORT= user-destdir
16 16
17MAKE_JOBS_SAFE= no 17MAKE_JOBS_SAFE= no
18 18
19INFO_FILES= yes 19INFO_FILES= yes
20USE_LIBTOOL= yes 20USE_LIBTOOL= yes
21USE_TOOLS+= gmake makeinfo 21USE_TOOLS+= gmake makeinfo
22UNLIMIT_RESOURCES= datasize 22UNLIMIT_RESOURCES= datasize
23 23
24INSTALLATION_DIRS= share/chicken 24INSTALLATION_DIRS= share/chicken
25OWN_DIRS= ${PREFIX}/lib/chicken ${PREFIX}/lib/chicken/4 25OWN_DIRS= ${PREFIX}/lib/chicken ${PREFIX}/lib/chicken/5
26 26
27BUILD_TARGET= all 27BUILD_TARGET= all
28 28
29.include "../../mk/bsd.prefs.mk" 29.include "../../mk/bsd.prefs.mk"
30 30
31# PLATFORM detection: 31# PLATFORM detection:
32.if !empty(OPSYS:M*BSD) || ${OPSYS} == "DragonFly" 32.if !empty(OPSYS:M*BSD) || ${OPSYS} == "DragonFly"
33PLATFORM= bsd 33PLATFORM= bsd
34.elif ${OPSYS} == "Linux" 34.elif ${OPSYS} == "Linux"
35PLATFORM= linux 35PLATFORM= linux
36.elif ${OPSYS} == "Darwin" 36.elif ${OPSYS} == "Darwin"
37PLATFORM= macosx 37PLATFORM= macosx
38.elif ${OPSYS} == "SunOS" 38.elif ${OPSYS} == "SunOS"

cvs diff -r1.25 -r1.26 pkgsrc/lang/chicken/PLIST (expand / switch to unified diff)

--- pkgsrc/lang/chicken/PLIST 2009/12/15 12:38:04 1.25
+++ pkgsrc/lang/chicken/PLIST 2010/03/15 03:43:51 1.26
@@ -1,99 +1,100 @@ @@ -1,99 +1,100 @@
1@comment $NetBSD: PLIST,v 1.25 2009/12/15 12:38:04 asau Exp $ 1@comment $NetBSD: PLIST,v 1.26 2010/03/15 03:43:51 asau Exp $
2bin/chicken 2bin/chicken
3bin/chicken-bug 3bin/chicken-bug
4bin/chicken-install 4bin/chicken-install
5bin/chicken-profile 5bin/chicken-profile
6bin/chicken-setup 
7bin/chicken-status 6bin/chicken-status
8bin/chicken-uninstall 7bin/chicken-uninstall
9bin/csc 8bin/csc
10bin/csi 9bin/csi
11include/chicken-config.h 10include/chicken-config.h
12include/chicken.h 11include/chicken.h
13lib/chicken/4/chicken.import.so 12lib/chicken/5/chicken.import.so
14lib/chicken/4/csi.import.so 13lib/chicken/5/csi.import.so
15lib/chicken/4/data-structures.import.so 14lib/chicken/5/data-structures.import.so
16lib/chicken/4/extras.import.so 15lib/chicken/5/extras.import.so
17lib/chicken/4/files.import.so 16lib/chicken/5/files.import.so
18lib/chicken/4/foreign.import.so 17lib/chicken/5/foreign.import.so
19lib/chicken/4/irregex.import.so 18lib/chicken/5/irregex.import.so
20lib/chicken/4/lolevel.import.so 19lib/chicken/5/lolevel.import.so
21lib/chicken/4/ports.import.so 20lib/chicken/5/ports.import.so
22lib/chicken/4/posix.import.so 21lib/chicken/5/posix.import.so
23lib/chicken/4/regex.import.so 22lib/chicken/5/regex.import.so
24lib/chicken/4/scheme.import.so 23lib/chicken/5/scheme.import.so
25lib/chicken/4/setup-api.import.so 24lib/chicken/5/setup-api.import.so
26lib/chicken/4/setup-api.so 25lib/chicken/5/setup-api.so
27lib/chicken/4/setup-download.import.so 26lib/chicken/5/setup-download.import.so
28lib/chicken/4/setup-download.so 27lib/chicken/5/setup-download.so
29lib/chicken/4/srfi-1.import.so 28lib/chicken/5/srfi-1.import.so
30lib/chicken/4/srfi-13.import.so 29lib/chicken/5/srfi-13.import.so
31lib/chicken/4/srfi-14.import.so 30lib/chicken/5/srfi-14.import.so
32lib/chicken/4/srfi-18.import.so 31lib/chicken/5/srfi-18.import.so
33lib/chicken/4/srfi-4.import.so 32lib/chicken/5/srfi-4.import.so
34lib/chicken/4/srfi-69.import.so 33lib/chicken/5/srfi-69.import.so
35lib/chicken/4/tcp.import.so 34lib/chicken/5/tcp.import.so
36lib/chicken/4/utils.import.so 35lib/chicken/5/types.db
 36lib/chicken/5/utils.import.so
37lib/libchicken.a 37lib/libchicken.a
38lib/libchicken.so 38lib/libchicken.so
39lib/libchicken.so.4 39lib/libchicken.so.5
40lib/libuchicken.a 40lib/libuchicken.a
41lib/libuchicken.so 41lib/libuchicken.so
42lib/libuchicken.so.4 42lib/libuchicken.so.5
43man/man1/chicken-bug.1 43man/man1/chicken-bug.1
44man/man1/chicken-install.1 44man/man1/chicken-install.1
45man/man1/chicken-profile.1 45man/man1/chicken-profile.1
46man/man1/chicken-status.1 46man/man1/chicken-status.1
47man/man1/chicken-uninstall.1 47man/man1/chicken-uninstall.1
48man/man1/chicken.1 48man/man1/chicken.1
49man/man1/csc.1 49man/man1/csc.1
50man/man1/csi.1 50man/man1/csi.1
51share/chicken/setup.defaults 51share/chicken/setup.defaults
52share/doc/${PKGNAME}/LICENSE 52share/doc/${PKGNAME}/LICENSE
53share/doc/${PKGNAME}/README 53share/doc/${PKGNAME}/README
54share/doc/${PKGNAME}/html/Accessing external objects.html 54share/doc/${PKGNAME}/manual/Accessing external objects
55share/doc/${PKGNAME}/html/Acknowledgements.html 55share/doc/${PKGNAME}/manual/Acknowledgements
56share/doc/${PKGNAME}/html/Basic mode of operation.html 56share/doc/${PKGNAME}/manual/Basic mode of operation
57share/doc/${PKGNAME}/html/Bibliography.html 57share/doc/${PKGNAME}/manual/Bibliography
58share/doc/${PKGNAME}/html/Bugs and limitations.html 58share/doc/${PKGNAME}/manual/Bugs and limitations
59share/doc/${PKGNAME}/html/C interface.html 59share/doc/${PKGNAME}/manual/C interface
60share/doc/${PKGNAME}/html/Callbacks.html 60share/doc/${PKGNAME}/manual/Callbacks
61share/doc/${PKGNAME}/html/Data representation.html 61share/doc/${PKGNAME}/manual/Data representation
62share/doc/${PKGNAME}/html/Declarations.html 62share/doc/${PKGNAME}/manual/Declarations
63share/doc/${PKGNAME}/html/Deviations from the standard.html 63share/doc/${PKGNAME}/manual/Deployment
64share/doc/${PKGNAME}/html/Embedding.html 64share/doc/${PKGNAME}/manual/Deviations from the standard
65share/doc/${PKGNAME}/html/Extensions to the standard.html 65share/doc/${PKGNAME}/manual/Embedding
66share/doc/${PKGNAME}/html/Extensions.html 66share/doc/${PKGNAME}/manual/Extensions
67share/doc/${PKGNAME}/html/Foreign type specifiers.html 67share/doc/${PKGNAME}/manual/Extensions to the standard
68share/doc/${PKGNAME}/html/Getting started.html 68share/doc/${PKGNAME}/manual/Foreign type specifiers
69share/doc/${PKGNAME}/html/Interface to external functions and variables.html 69share/doc/${PKGNAME}/manual/Getting started
70share/doc/${PKGNAME}/html/Locations.html 70share/doc/${PKGNAME}/manual/Interface to external functions and variables
71share/doc/${PKGNAME}/html/Modules and macros.html 71share/doc/${PKGNAME}/manual/Locations
72share/doc/${PKGNAME}/html/Non-standard macros and special forms.html 72share/doc/${PKGNAME}/manual/Modules and macros
73share/doc/${PKGNAME}/html/Non-standard read syntax.html 73share/doc/${PKGNAME}/manual/Non-standard macros and special forms
74share/doc/${PKGNAME}/html/Other support procedures.html 74share/doc/${PKGNAME}/manual/Non-standard read syntax
75share/doc/${PKGNAME}/html/Parameters.html 75share/doc/${PKGNAME}/manual/Other support procedures
76share/doc/${PKGNAME}/html/Supported language.html 76share/doc/${PKGNAME}/manual/Parameters
77share/doc/${PKGNAME}/html/The R5RS standard.html 77share/doc/${PKGNAME}/manual/Supported language
78share/doc/${PKGNAME}/html/The User's Manual.html 78share/doc/${PKGNAME}/manual/The R5RS standard
79share/doc/${PKGNAME}/html/Unit data-structures.html 79share/doc/${PKGNAME}/manual/The User's Manual
80share/doc/${PKGNAME}/html/Unit eval.html 80share/doc/${PKGNAME}/manual/Unit data-structures
81share/doc/${PKGNAME}/html/Unit expand.html 81share/doc/${PKGNAME}/manual/Unit eval
82share/doc/${PKGNAME}/html/Unit extras.html 82share/doc/${PKGNAME}/manual/Unit expand
83share/doc/${PKGNAME}/html/Unit files.html 83share/doc/${PKGNAME}/manual/Unit extras
84share/doc/${PKGNAME}/html/Unit library.html 84share/doc/${PKGNAME}/manual/Unit files
85share/doc/${PKGNAME}/html/Unit lolevel.html 85share/doc/${PKGNAME}/manual/Unit library
86share/doc/${PKGNAME}/html/Unit ports.html 86share/doc/${PKGNAME}/manual/Unit lolevel
87share/doc/${PKGNAME}/html/Unit posix.html 87share/doc/${PKGNAME}/manual/Unit ports
88share/doc/${PKGNAME}/html/Unit regex.html 88share/doc/${PKGNAME}/manual/Unit posix
89share/doc/${PKGNAME}/html/Unit srfi-1.html 89share/doc/${PKGNAME}/manual/Unit regex
90share/doc/${PKGNAME}/html/Unit srfi-13.html 90share/doc/${PKGNAME}/manual/Unit srfi-1
91share/doc/${PKGNAME}/html/Unit srfi-14.html 91share/doc/${PKGNAME}/manual/Unit srfi-13
92share/doc/${PKGNAME}/html/Unit srfi-18.html 92share/doc/${PKGNAME}/manual/Unit srfi-14
93share/doc/${PKGNAME}/html/Unit srfi-4.html 93share/doc/${PKGNAME}/manual/Unit srfi-18
94share/doc/${PKGNAME}/html/Unit tcp.html 94share/doc/${PKGNAME}/manual/Unit srfi-4
95share/doc/${PKGNAME}/html/Unit utils.html 95share/doc/${PKGNAME}/manual/Unit srfi-69
96share/doc/${PKGNAME}/html/Using the compiler.html 96share/doc/${PKGNAME}/manual/Unit tcp
97share/doc/${PKGNAME}/html/Using the interpreter.html 97share/doc/${PKGNAME}/manual/Unit utils
98share/doc/${PKGNAME}/html/faq.html 98share/doc/${PKGNAME}/manual/Using the compiler
99share/doc/${PKGNAME}/html/manual.css 99share/doc/${PKGNAME}/manual/Using the interpreter
 100share/doc/${PKGNAME}/manual/faq

cvs diff -r1.28 -r1.29 pkgsrc/lang/chicken/distinfo (expand / switch to unified diff)

--- pkgsrc/lang/chicken/distinfo 2009/12/15 12:38:04 1.28
+++ pkgsrc/lang/chicken/distinfo 2010/03/15 03:43:51 1.29
@@ -1,5 +1,7 @@ @@ -1,5 +1,7 @@
1$NetBSD: distinfo,v 1.28 2009/12/15 12:38:04 asau Exp $ 1$NetBSD: distinfo,v 1.29 2010/03/15 03:43:51 asau Exp $
2 2
3SHA1 (chicken-4.3.0.tar.gz) = 5a0e061f5c67d20160034126f63ad64a7b15ee57 3SHA1 (chicken-4.4.0.tar.gz) = 509b8480919e8b888caa4074de8042bcbd7ce6fb
4RMD160 (chicken-4.3.0.tar.gz) = fb823661deaf2c78b81297c9e699c70db65d4aff 4RMD160 (chicken-4.4.0.tar.gz) = d169632f3683e6b85515d74fee2d43c3acf2e5b2
5Size (chicken-4.3.0.tar.gz) = 3481208 bytes 5Size (chicken-4.4.0.tar.gz) = 3663262 bytes
 6SHA1 (patch-aj) = b35f392d26cbb6cb5385b42efeddc05341137fde
 7SHA1 (patch-ak) = d518fc0be7deead4c584c483943a2cd2d9584677

File Added: pkgsrc/lang/chicken/patches/Attic/patch-aj
$NetBSD: patch-aj,v 1.1 2010/03/15 03:43:51 asau Exp $

--- csc.scm.orig	2010-03-09 01:15:31.000000000 +0000
+++ csc.scm
@@ -66,7 +66,7 @@
 (define win (or mingw msvc))
 
 (define elf
-  (memq (software-version) '(linux freebsd solaris openbsd)))
+  (memq (software-version) '(linux netbsd freebsd solaris openbsd)))
 
 (define (quit msg . args)
   (fprintf (current-error-port) "~a: ~?~%" CSC_PROGRAM msg args)

File Added: pkgsrc/lang/chicken/patches/Attic/patch-ak
$NetBSD: patch-ak,v 1.1 2010/03/15 03:43:51 asau Exp $

--- csc.c.orig	2010-03-10 19:09:15.000000000 +0000
+++ csc.c
@@ -1363,9 +1363,9 @@ if(!C_demand(3)){
 C_save(t1);
 C_reclaim((void*)toplevel_trampoline,NULL);}
 toplevel_initialized=1;
-if(!C_demand_2(2728)){
+if(!C_demand_2(2741)){
 C_save(t1);
-C_rereclaim2(2728*sizeof(C_word), 1);
+C_rereclaim2(2741*sizeof(C_word), 1);
 t1=C_restore;}
 a=C_alloc(3);
 C_initialize_lf(lf,422);
@@ -1373,7 +1373,8 @@ lf[1]=C_decode_literal(C_heaptop,"\376B\
 lf[2]=C_h_intern(&lf[2],7,"mingw32");
 lf[4]=C_h_intern(&lf[4],4,"msvc");
 lf[6]=C_h_intern(&lf[6],6,"macosx");
-lf[9]=C_decode_literal(C_heaptop,"\376\003\000\000\002\376\001\000\000\005linux\376\003\000\000\002\376\001\000\000\007freebsd\376\003\000\000\002\376\001\000\000\007solaris\376\003\000\000\002\376\001\000\000\007openbsd\376\377\016");
+lf[9]=C_decode_literal(C_heaptop,"\376\003\000\000\002\376\001\000\000\005linux\376\003\000\000\002\376\001\000\000\006netbsd\376\003\000\000\002\376\001\000\000\007freebsd\376\003\000\000\002\376\001\000\000\007solaris\376\003\000\000\002\376\001\000\000\007openb"
+"sd\376\377\016");
 lf[12]=C_h_intern(&lf[12],4,"exit");
 lf[13]=C_h_intern(&lf[13],7,"fprintf");
 lf[14]=C_decode_literal(C_heaptop,"\376B\000\000\010~a: ~\077~%");