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 updiff -r1.40 -r1.41 pkgsrc/lang/chicken/Makefile
(asau)
@@ -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 | |||
4 | DISTNAME= chicken-4.3.0 | 4 | DISTNAME= chicken-4.4.0 | |
5 | CATEGORIES= lang | 5 | CATEGORIES= lang | |
6 | MASTER_SITES= http://chicken.wiki.br/releases/${PKGVERSION_NOREV}/ \ | 6 | MASTER_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 | |||
10 | MAINTAINER= asau@inbox.ru #, airhead@users.sourceforge.net | 10 | MAINTAINER= asau@inbox.ru #, airhead@users.sourceforge.net | |
11 | HOMEPAGE= http://www.call-with-current-continuation.org/ | 11 | HOMEPAGE= http://www.call-with-current-continuation.org/ | |
12 | COMMENT= Scheme to C compiler, handling R5RS | 12 | COMMENT= Scheme to C compiler, handling R5RS | |
13 | LICENSE= modified-bsd | 13 | LICENSE= modified-bsd | |
14 | 14 | |||
15 | PKG_DESTDIR_SUPPORT= user-destdir | 15 | PKG_DESTDIR_SUPPORT= user-destdir | |
16 | 16 | |||
17 | MAKE_JOBS_SAFE= no | 17 | MAKE_JOBS_SAFE= no | |
18 | 18 | |||
19 | INFO_FILES= yes | 19 | INFO_FILES= yes | |
20 | USE_LIBTOOL= yes | 20 | USE_LIBTOOL= yes | |
21 | USE_TOOLS+= gmake makeinfo | 21 | USE_TOOLS+= gmake makeinfo | |
22 | UNLIMIT_RESOURCES= datasize | 22 | UNLIMIT_RESOURCES= datasize | |
23 | 23 | |||
24 | INSTALLATION_DIRS= share/chicken | 24 | INSTALLATION_DIRS= share/chicken | |
25 | OWN_DIRS= ${PREFIX}/lib/chicken ${PREFIX}/lib/chicken/4 | 25 | OWN_DIRS= ${PREFIX}/lib/chicken ${PREFIX}/lib/chicken/5 | |
26 | 26 | |||
27 | BUILD_TARGET= all | 27 | BUILD_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" | |
33 | PLATFORM= bsd | 33 | PLATFORM= bsd | |
34 | .elif ${OPSYS} == "Linux" | 34 | .elif ${OPSYS} == "Linux" | |
35 | PLATFORM= linux | 35 | PLATFORM= linux | |
36 | .elif ${OPSYS} == "Darwin" | 36 | .elif ${OPSYS} == "Darwin" | |
37 | PLATFORM= macosx | 37 | PLATFORM= macosx | |
38 | .elif ${OPSYS} == "SunOS" | 38 | .elif ${OPSYS} == "SunOS" |
@@ -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 $ | |
2 | bin/chicken | 2 | bin/chicken | |
3 | bin/chicken-bug | 3 | bin/chicken-bug | |
4 | bin/chicken-install | 4 | bin/chicken-install | |
5 | bin/chicken-profile | 5 | bin/chicken-profile | |
6 | bin/chicken-setup | |||
7 | bin/chicken-status | 6 | bin/chicken-status | |
8 | bin/chicken-uninstall | 7 | bin/chicken-uninstall | |
9 | bin/csc | 8 | bin/csc | |
10 | bin/csi | 9 | bin/csi | |
11 | include/chicken-config.h | 10 | include/chicken-config.h | |
12 | include/chicken.h | 11 | include/chicken.h | |
13 | lib/chicken/4/chicken.import.so | 12 | lib/chicken/5/chicken.import.so | |
14 | lib/chicken/4/csi.import.so | 13 | lib/chicken/5/csi.import.so | |
15 | lib/chicken/4/data-structures.import.so | 14 | lib/chicken/5/data-structures.import.so | |
16 | lib/chicken/4/extras.import.so | 15 | lib/chicken/5/extras.import.so | |
17 | lib/chicken/4/files.import.so | 16 | lib/chicken/5/files.import.so | |
18 | lib/chicken/4/foreign.import.so | 17 | lib/chicken/5/foreign.import.so | |
19 | lib/chicken/4/irregex.import.so | 18 | lib/chicken/5/irregex.import.so | |
20 | lib/chicken/4/lolevel.import.so | 19 | lib/chicken/5/lolevel.import.so | |
21 | lib/chicken/4/ports.import.so | 20 | lib/chicken/5/ports.import.so | |
22 | lib/chicken/4/posix.import.so | 21 | lib/chicken/5/posix.import.so | |
23 | lib/chicken/4/regex.import.so | 22 | lib/chicken/5/regex.import.so | |
24 | lib/chicken/4/scheme.import.so | 23 | lib/chicken/5/scheme.import.so | |
25 | lib/chicken/4/setup-api.import.so | 24 | lib/chicken/5/setup-api.import.so | |
26 | lib/chicken/4/setup-api.so | 25 | lib/chicken/5/setup-api.so | |
27 | lib/chicken/4/setup-download.import.so | 26 | lib/chicken/5/setup-download.import.so | |
28 | lib/chicken/4/setup-download.so | 27 | lib/chicken/5/setup-download.so | |
29 | lib/chicken/4/srfi-1.import.so | 28 | lib/chicken/5/srfi-1.import.so | |
30 | lib/chicken/4/srfi-13.import.so | 29 | lib/chicken/5/srfi-13.import.so | |
31 | lib/chicken/4/srfi-14.import.so | 30 | lib/chicken/5/srfi-14.import.so | |
32 | lib/chicken/4/srfi-18.import.so | 31 | lib/chicken/5/srfi-18.import.so | |
33 | lib/chicken/4/srfi-4.import.so | 32 | lib/chicken/5/srfi-4.import.so | |
34 | lib/chicken/4/srfi-69.import.so | 33 | lib/chicken/5/srfi-69.import.so | |
35 | lib/chicken/4/tcp.import.so | 34 | lib/chicken/5/tcp.import.so | |
36 | lib/chicken/4/utils.import.so | 35 | lib/chicken/5/types.db | |
36 | lib/chicken/5/utils.import.so | |||
37 | lib/libchicken.a | 37 | lib/libchicken.a | |
38 | lib/libchicken.so | 38 | lib/libchicken.so | |
39 | lib/libchicken.so.4 | 39 | lib/libchicken.so.5 | |
40 | lib/libuchicken.a | 40 | lib/libuchicken.a | |
41 | lib/libuchicken.so | 41 | lib/libuchicken.so | |
42 | lib/libuchicken.so.4 | 42 | lib/libuchicken.so.5 | |
43 | man/man1/chicken-bug.1 | 43 | man/man1/chicken-bug.1 | |
44 | man/man1/chicken-install.1 | 44 | man/man1/chicken-install.1 | |
45 | man/man1/chicken-profile.1 | 45 | man/man1/chicken-profile.1 | |
46 | man/man1/chicken-status.1 | 46 | man/man1/chicken-status.1 | |
47 | man/man1/chicken-uninstall.1 | 47 | man/man1/chicken-uninstall.1 | |
48 | man/man1/chicken.1 | 48 | man/man1/chicken.1 | |
49 | man/man1/csc.1 | 49 | man/man1/csc.1 | |
50 | man/man1/csi.1 | 50 | man/man1/csi.1 | |
51 | share/chicken/setup.defaults | 51 | share/chicken/setup.defaults | |
52 | share/doc/${PKGNAME}/LICENSE | 52 | share/doc/${PKGNAME}/LICENSE | |
53 | share/doc/${PKGNAME}/README | 53 | share/doc/${PKGNAME}/README | |
54 | share/doc/${PKGNAME}/html/Accessing external objects.html | 54 | share/doc/${PKGNAME}/manual/Accessing external objects | |
55 | share/doc/${PKGNAME}/html/Acknowledgements.html | 55 | share/doc/${PKGNAME}/manual/Acknowledgements | |
56 | share/doc/${PKGNAME}/html/Basic mode of operation.html | 56 | share/doc/${PKGNAME}/manual/Basic mode of operation | |
57 | share/doc/${PKGNAME}/html/Bibliography.html | 57 | share/doc/${PKGNAME}/manual/Bibliography | |
58 | share/doc/${PKGNAME}/html/Bugs and limitations.html | 58 | share/doc/${PKGNAME}/manual/Bugs and limitations | |
59 | share/doc/${PKGNAME}/html/C interface.html | 59 | share/doc/${PKGNAME}/manual/C interface | |
60 | share/doc/${PKGNAME}/html/Callbacks.html | 60 | share/doc/${PKGNAME}/manual/Callbacks | |
61 | share/doc/${PKGNAME}/html/Data representation.html | 61 | share/doc/${PKGNAME}/manual/Data representation | |
62 | share/doc/${PKGNAME}/html/Declarations.html | 62 | share/doc/${PKGNAME}/manual/Declarations | |
63 | share/doc/${PKGNAME}/html/Deviations from the standard.html | 63 | share/doc/${PKGNAME}/manual/Deployment | |
64 | share/doc/${PKGNAME}/html/Embedding.html | 64 | share/doc/${PKGNAME}/manual/Deviations from the standard | |
65 | share/doc/${PKGNAME}/html/Extensions to the standard.html | 65 | share/doc/${PKGNAME}/manual/Embedding | |
66 | share/doc/${PKGNAME}/html/Extensions.html | 66 | share/doc/${PKGNAME}/manual/Extensions | |
67 | share/doc/${PKGNAME}/html/Foreign type specifiers.html | 67 | share/doc/${PKGNAME}/manual/Extensions to the standard | |
68 | share/doc/${PKGNAME}/html/Getting started.html | 68 | share/doc/${PKGNAME}/manual/Foreign type specifiers | |
69 | share/doc/${PKGNAME}/html/Interface to external functions and variables.html | 69 | share/doc/${PKGNAME}/manual/Getting started | |
70 | share/doc/${PKGNAME}/html/Locations.html | 70 | share/doc/${PKGNAME}/manual/Interface to external functions and variables | |
71 | share/doc/${PKGNAME}/html/Modules and macros.html | 71 | share/doc/${PKGNAME}/manual/Locations | |
72 | share/doc/${PKGNAME}/html/Non-standard macros and special forms.html | 72 | share/doc/${PKGNAME}/manual/Modules and macros | |
73 | share/doc/${PKGNAME}/html/Non-standard read syntax.html | 73 | share/doc/${PKGNAME}/manual/Non-standard macros and special forms | |
74 | share/doc/${PKGNAME}/html/Other support procedures.html | 74 | share/doc/${PKGNAME}/manual/Non-standard read syntax | |
75 | share/doc/${PKGNAME}/html/Parameters.html | 75 | share/doc/${PKGNAME}/manual/Other support procedures | |
76 | share/doc/${PKGNAME}/html/Supported language.html | 76 | share/doc/${PKGNAME}/manual/Parameters | |
77 | share/doc/${PKGNAME}/html/The R5RS standard.html | 77 | share/doc/${PKGNAME}/manual/Supported language | |
78 | share/doc/${PKGNAME}/html/The User's Manual.html | 78 | share/doc/${PKGNAME}/manual/The R5RS standard | |
79 | share/doc/${PKGNAME}/html/Unit data-structures.html | 79 | share/doc/${PKGNAME}/manual/The User's Manual | |
80 | share/doc/${PKGNAME}/html/Unit eval.html | 80 | share/doc/${PKGNAME}/manual/Unit data-structures | |
81 | share/doc/${PKGNAME}/html/Unit expand.html | 81 | share/doc/${PKGNAME}/manual/Unit eval | |
82 | share/doc/${PKGNAME}/html/Unit extras.html | 82 | share/doc/${PKGNAME}/manual/Unit expand | |
83 | share/doc/${PKGNAME}/html/Unit files.html | 83 | share/doc/${PKGNAME}/manual/Unit extras | |
84 | share/doc/${PKGNAME}/html/Unit library.html | 84 | share/doc/${PKGNAME}/manual/Unit files | |
85 | share/doc/${PKGNAME}/html/Unit lolevel.html | 85 | share/doc/${PKGNAME}/manual/Unit library | |
86 | share/doc/${PKGNAME}/html/Unit ports.html | 86 | share/doc/${PKGNAME}/manual/Unit lolevel | |
87 | share/doc/${PKGNAME}/html/Unit posix.html | 87 | share/doc/${PKGNAME}/manual/Unit ports | |
88 | share/doc/${PKGNAME}/html/Unit regex.html | 88 | share/doc/${PKGNAME}/manual/Unit posix | |
89 | share/doc/${PKGNAME}/html/Unit srfi-1.html | 89 | share/doc/${PKGNAME}/manual/Unit regex | |
90 | share/doc/${PKGNAME}/html/Unit srfi-13.html | 90 | share/doc/${PKGNAME}/manual/Unit srfi-1 | |
91 | share/doc/${PKGNAME}/html/Unit srfi-14.html | 91 | share/doc/${PKGNAME}/manual/Unit srfi-13 | |
92 | share/doc/${PKGNAME}/html/Unit srfi-18.html | 92 | share/doc/${PKGNAME}/manual/Unit srfi-14 | |
93 | share/doc/${PKGNAME}/html/Unit srfi-4.html | 93 | share/doc/${PKGNAME}/manual/Unit srfi-18 | |
94 | share/doc/${PKGNAME}/html/Unit tcp.html | 94 | share/doc/${PKGNAME}/manual/Unit srfi-4 | |
95 | share/doc/${PKGNAME}/html/Unit utils.html | 95 | share/doc/${PKGNAME}/manual/Unit srfi-69 | |
96 | share/doc/${PKGNAME}/html/Using the compiler.html | 96 | share/doc/${PKGNAME}/manual/Unit tcp | |
97 | share/doc/${PKGNAME}/html/Using the interpreter.html | 97 | share/doc/${PKGNAME}/manual/Unit utils | |
98 | share/doc/${PKGNAME}/html/faq.html | 98 | share/doc/${PKGNAME}/manual/Using the compiler | |
99 | share/doc/${PKGNAME}/html/manual.css | 99 | share/doc/${PKGNAME}/manual/Using the interpreter | |
100 | share/doc/${PKGNAME}/manual/faq |
@@ -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 | |||
3 | SHA1 (chicken-4.3.0.tar.gz) = 5a0e061f5c67d20160034126f63ad64a7b15ee57 | 3 | SHA1 (chicken-4.4.0.tar.gz) = 509b8480919e8b888caa4074de8042bcbd7ce6fb | |
4 | RMD160 (chicken-4.3.0.tar.gz) = fb823661deaf2c78b81297c9e699c70db65d4aff | 4 | RMD160 (chicken-4.4.0.tar.gz) = d169632f3683e6b85515d74fee2d43c3acf2e5b2 | |
5 | Size (chicken-4.3.0.tar.gz) = 3481208 bytes | 5 | Size (chicken-4.4.0.tar.gz) = 3663262 bytes | |
6 | SHA1 (patch-aj) = b35f392d26cbb6cb5385b42efeddc05341137fde | |||
7 | SHA1 (patch-ak) = d518fc0be7deead4c584c483943a2cd2d9584677 |
$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)
$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~%");