pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/lang/gambc Import version 4.2.6 of the Gambit-C Scheme...
details: https://anonhg.NetBSD.org/pkgsrc/rev/c0cff6bc4587
branches: trunk
changeset: 541910:c0cff6bc4587
user: bjs <bjs%pkgsrc.org@localhost>
date: Mon Apr 28 04:14:31 2008 +0000
description:
Import version 4.2.6 of the Gambit-C Scheme System.
Blurb:
Gambit-C includes a Scheme interpreter and a Scheme compiler which can
be used to build standalone executables. Because the compiler generates
portable C code it is fairly easy to port to any platform with a decent
C compiler.
The Gambit-C system conforms to the R4RS, R5RS and IEEE Scheme standards.
The full numeric tower is implemented, including: infinite precision
integers (bignums), rationals, inexact reals (floating point numbers),
and complex numbers. Gambit-C supports a number of extensions to the
standards including (non-exhaustively):
- an optimizing compiler
- with several powerful transformations (automatic function inlining,
partial evaluation, etc)
- that generates properly tail-recursive portable C code
- a scalable thread system that can handle millions of concurrent threads
- an I/O system fully integrated with the thread system that supports
regular files, ttys, sockets (client and server, with TCP or UDP),
directories, processes, and pipes
- an infix syntax extension (SIX) that allows mixing code in the
standard prefix syntax with code in a C-like syntax
- SRFIs 0, 4, 6, 8, 9, 18, 21, 22, 23, 27, 39
- a REPL/debugger with
- a continuation inspection facility (i.e. "backtrace")
- a single-stepping mode
- error messages with location of error (file, line, and column number)
- emacs compatible line-editing with history
- very efficient bignum implementation
- a foreign function interface for C
- a memory management system that grows and shrinks the heap based on
the program's needs
- a linker that builds standalone executables and shared libraries
- dynamic loading of compiled modules and libraries (supported on many
platforms)
- Unicode support for characters, strings, I/O and source code
- object finalization, pretty printing, keyword objects optional and
keyword parameters (with the syntax and semantics of DSSSL)
- configurable reader with control over case sensitivity
- write/read invariance of symbols, e.g. (string->symbol "B;123") => |B;123|
- write/read invariance of floating point numbers
- unhygienic macros and more!
diffstat:
lang/gambc/DESCR | 12 ++++++
lang/gambc/Makefile | 78 +++++++++++++++++++++++++++++++++++++++++++++
lang/gambc/PLIST | 39 ++++++++++++++++++++++
lang/gambc/buildlink3.mk | 21 ++++++++++++
lang/gambc/distinfo | 6 +++
lang/gambc/hacks.mk | 14 ++++++++
lang/gambc/patches/patch-aa | 28 ++++++++++++++++
lang/gambc/version.mk | 10 +++++
8 files changed, 208 insertions(+), 0 deletions(-)
diffs (240 lines):
diff -r 152f6a955c9e -r c0cff6bc4587 lang/gambc/DESCR
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gambc/DESCR Mon Apr 28 04:14:31 2008 +0000
@@ -0,0 +1,12 @@
+This package the Gambit-C Scheme programming system. Gambit-C
+includes a Scheme interpreter and a Scheme compiler which can be used
+to build standalone executables. Because the compiler generates
+portable C code it is fairly easy to port to any platform with a
+decent C compiler.
+
+The Gambit-C system conforms to the R4RS, R5RS and IEEE Scheme standards.
+The full numeric tower is implemented, including: infinite precision
+integers (bignums), rationals, inexact reals (floating point numbers),
+and complex numbers. Gambit-C supports a number of extensions to the
+standards. Please see the <http://gambit.uri.umontreal.ca/~gambit/wiki>
+for more information: there is simply not enough room here to elaborate!
diff -r 152f6a955c9e -r c0cff6bc4587 lang/gambc/Makefile
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gambc/Makefile Mon Apr 28 04:14:31 2008 +0000
@@ -0,0 +1,78 @@
+# $NetBSD: Makefile,v 1.1.1.1 2008/04/28 04:14:31 bjs Exp $
+#
+
+DISTNAME= gambc-${GAMBC_DIST_VERSION}
+PKGNAME= gambc-${GAMBC_VERSION}
+CATEGORIES= lang
+MASTER_SITES= http://www.iro.umontreal.ca/~gambit/download/gambit/v4.2/source/
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= bjs%NetBSD.org@localhost
+HOMEPAGE= http://www.iro.umontreal.ca/~gambit/
+COMMENT= GambitC Scheme System
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+GNU_CONFIGURE= yes
+USE_LANGUAGES= c c++
+USE_LIBTOOL= yes
+USE_TOOLS+= gmake autoconf automake
+
+CONFIGURE_ARGS+= --enable-single-host
+CONFIGURE_ARGS+= --enable-cplusplus
+CONFIGURE_ARGS+= --enable-shared
+###
+### XXX On NetBSD/amd64 4.99.61, gcc had a resident memory size of over 384MB
+### while building this and ultimately exhausted all 1GB of swap I had.
+### See the documentation for more information. (This was due to using
+### -fmodulo-sched, gcc 4.1.3).
+###
+CONFIGURE_ARGS+= --disable-gcc-opts
+
+INFO_FILES= yes
+MAKE_FILE= makefile
+
+BUILD_TARGET+= bootstrap
+TEST_TARGET= check
+
+CHECK_PORTABILITY_SKIP= prebuilt/*/*
+DLOPEN_REQUIRE_PTHREADS=no
+
+.include "../../mk/bsd.prefs.mk"
+
+GAMBC_DIST_VERSION= ${GAMBC_VERSION:C|^.*|v&|:S|.|_|g}
+
+GAMBC_MAKE_FLAGS= prefix=${PREFIX}
+GAMBC_MAKE_FLAGS+= includedir=${PREFIX}/include
+GAMBC_MAKE_FLAGS+= bindir=${PREFIX}/bin
+GAMBC_MAKE_FLAGS+= infodir=${PREFIX}/${PKGINFODIR}
+GAMBC_MAKE_FLAGS+= libdir=${PREFIX}/lib/
+GAMBC_MAKE_FLAGS+= mandir=${PREFIX}/${PKGMANDIR}
+GAMBC_MAKE_FLAGS+= docdir=${PREFIX}/share/doc/${PKGBASE}
+GAMBC_MAKE_FLAGS+= infodir=${PREFIX}/${PKGINFODIR}
+GAMBC_MAKE_FLAGS+= emacsdir=${PREFIX}/share/emacs/site-lisp
+
+MAKE_FLAGS+= ${GAMBC_MAKE_FLAGS}
+INSTALL_MAKE_FLAGS+= ${GAMBC_MAKE_FLAGS:@.f.@\
+ ${.f.:C|${PREFIX}|${DESTDIR}&|}\
+ @:M*}
+
+SUBST_CLASSES+= build
+SUBST_FILES.build= configure
+SUBST_FILES.build+= makefile.in */makefile.in */*/makefile.in
+SUBST_MESSAGE.build= Preparing build-time and installation configuration.
+SUBST_SED.build= -e 's|v${GAMBC_DIST_VERSION}||'
+SUBST_SED.build+= -e 's|@target_vendor@|The NetBSD Foundation, Inc.|g'
+SUBST_STAGE.build= pre-configure
+SUBST_VARS.build+= PACKAGE_SUBDIR PACKAGE_VERSION
+SUBST_VARS.build+= PACKAGE_STRING
+
+PACKAGE_SUBDIR= # empty
+PACKAGE_VERSION= ${PKGVERSION}
+PACKAGE_STRING= ${${PKGBASE} ${PKGVERSION}:L}
+
+.include "version.mk"
+
+.include "../../mk/dlopen.buildlink3.mk"
+.include "../../mk/termcap.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff -r 152f6a955c9e -r c0cff6bc4587 lang/gambc/PLIST
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gambc/PLIST Mon Apr 28 04:14:31 2008 +0000
@@ -0,0 +1,39 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2008/04/28 04:14:31 bjs Exp $
+bin/gsc
+bin/gsc-cc-o.bat
+bin/gsc-script
+bin/gsi
+bin/gsi-script
+bin/scheme-ieee-1178-1990
+bin/scheme-r4rs
+bin/scheme-r5rs
+bin/scheme-srfi-0
+bin/six
+bin/six-script
+include/gambit.h
+info/gambit-c.info
+lib/_eval#.scm
+lib/_gambc.c
+lib/_gambcgsc.c
+lib/_gambcgsi.c
+lib/_gambit#.scm
+lib/_io#.scm
+lib/_kernel#.scm
+lib/_nonstd#.scm
+lib/_num#.scm
+lib/_repl#.scm
+lib/_std#.scm
+lib/_system#.scm
+lib/_thread#.scm
+lib/digest#.scm
+lib/digest.scm
+lib/gambit#.scm
+lib/libgambc.so
+lib/libgambcgsc.so
+lib/libgambcgsi.so
+lib/r4rs#.scm
+lib/r5rs#.scm
+share/doc/gambc/gambit-c.html
+share/doc/gambc/gambit-c.pdf
+share/doc/gambc/gambit-c.txt
+@dirrm share/doc/gambc
diff -r 152f6a955c9e -r c0cff6bc4587 lang/gambc/buildlink3.mk
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gambc/buildlink3.mk Mon Apr 28 04:14:31 2008 +0000
@@ -0,0 +1,21 @@
+# $NetBSD: buildlink3.mk,v 1.1.1.1 2008/04/28 04:14:31 bjs Exp $
+
+BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+
+GAMBC_BUILDLINK3_MK:= ${GAMBC_BUILDLINK3_MK}+
+
+.if ${BUILDLINK_DEPTH} == "+"
+BUILDLINK_DEPENDS+= gambc
+.endif
+
+BUILDLINK_PACKAGES:= ${BUILDLINK_PACKAGES:Ngambc}
+BUILDLINK_PACKAGES+= gambc
+BUILDLINK_ORDER:= ${BUILDLINK_ORDER} ${BUILDLINK_DEPTH}gambc
+
+.if ${GAMBC_BUILDLINK3_MK} == "+"
+BUILDLINK_API_DEPENDS.gambc+= gambc>=4.2.6
+BUILDLINK_PKGSRCDIR.gambc?= ../../lang/gambc
+.endif # GAMBC_BUILDLINK3_MK
+
+.include "../../mk/dlopen.buildlink3.mk"
+
+BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//}
diff -r 152f6a955c9e -r c0cff6bc4587 lang/gambc/distinfo
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gambc/distinfo Mon Apr 28 04:14:31 2008 +0000
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1.1.1 2008/04/28 04:14:31 bjs Exp $
+
+SHA1 (gambc-v4_2_6.tgz) = 2b6415a82d10113d5f6535f52da4718207c13c30
+RMD160 (gambc-v4_2_6.tgz) = 0d8a4f22a909b1014489db3ec9d545f46df3530e
+Size (gambc-v4_2_6.tgz) = 14147053 bytes
+SHA1 (patch-aa) = 4261aa36e1dbf3f818a851dd17a579521c1dac7d
diff -r 152f6a955c9e -r c0cff6bc4587 lang/gambc/hacks.mk
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gambc/hacks.mk Mon Apr 28 04:14:31 2008 +0000
@@ -0,0 +1,14 @@
+# $NetBSD: hacks.mk,v 1.1.1.1 2008/04/28 04:14:31 bjs Exp $
+###
+.if !defined(GAMBC_HACKS_MK)
+GAMBC_HACKS_MK= # empty
+. include "../../mk/compiler.mk"
+###
+### It looks as if the developers don't think O2 is a win. Considering how
+### much memory and time this package takes to build the more optimization
+### is enabled, let's let the configure script do its job.
+###
+. if !empty(CC_VERSION:Mgcc-*)
+BUILDLINK_TRANSFORM+= rm:-O[2-9s]*
+. endif
+.endif
diff -r 152f6a955c9e -r c0cff6bc4587 lang/gambc/patches/patch-aa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gambc/patches/patch-aa Mon Apr 28 04:14:31 2008 +0000
@@ -0,0 +1,28 @@
+$NetBSD: patch-aa,v 1.1.1.1 2008/04/28 04:14:31 bjs Exp $
+
+--- makefile.in.orig 2008-03-17 13:13:58.000000000 -0400
++++ makefile.in
+@@ -56,7 +56,7 @@ includedir=$(includedir) libdir=$(libdir
+ bindir=$(bindir) docdir=$(docdir) \
+ infodir=$(infodir) emacsdir=$(emacsdir)
+
+-SUBDIRS = include lib gsi gsc bin misc doc tests examples prebuilt
++SUBDIRS = include lib gsi gsc bin doc tests examples
+
+ RCFILES = README INSTALL.txt LICENSE-2.0.txt LGPL.txt \
+ makefile.in configure.ac config.guess config.sub install-sh mkidirs \
+@@ -174,10 +174,10 @@ publish-release: fake_target
+ install-pre:
+
+ install-post: all
+- rm -f $(prefix)/current $(prefix)/current.lnk
+- if test "@bat@" = ""; then \
+- (cd $(prefix) && $(LN_S) .$(PACKAGE_SUBDIR) current); \
+- fi
++# rm -f $(prefix)/current $(prefix)/current.lnk
++# if test "@bat@" = ""; then \
++# (cd $(prefix) && $(LN_S) .$(PACKAGE_SUBDIR) current); \
++# fi
+
+ uninstall-pre:
+
diff -r 152f6a955c9e -r c0cff6bc4587 lang/gambc/version.mk
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gambc/version.mk Mon Apr 28 04:14:31 2008 +0000
@@ -0,0 +1,10 @@
+# $NetBSD: version.mk,v 1.1.1.1 2008/04/28 04:14:31 bjs Exp $
+###
+.if !defined(GAMBC_VERSION_MK)
+GAMBC_VERSION_MK= # empty
+###
+### The package version sets the distribution version.
+###
+GAMBC_VERSION= 4.2.6
+GAMBC_DIST_VERSION= ${GAMBC_VERSION:C|^.*|v&|:S|.|_|g}
+.endif
Home |
Main Index |
Thread Index |
Old Index