DESCR

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
for more information: there is simply not enough room here to elaborate!

Makefile

# $NetBSD: Makefile,v 1.7 2008/08/31 09:17:56 obache 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
HOMEPAGE= http://www.iro.umontreal.ca/~gambit/
COMMENT= GambitC Scheme System

PKG_DESTDIR_SUPPORT= user-destdir
NOT_FOR_BULK_PLATFORM+= SunOS-*-*

# bin/scheme-r5rs
CONFLICTS+= scheme48>=1.2

GNU_CONFIGURE= yes
USE_LANGUAGES= c c++
USE_TOOLS+= gmake

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

TEST_TARGET= check

.include "../../mk/bsd.prefs.mk"

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"

PLIST

@comment $NetBSD: PLIST,v 1.3 2009/06/14 18:03:31 joerg 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
include/gambit-not.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

buildlink3.mk

# $NetBSD: buildlink3.mk,v 1.2 2009/03/20 19:24:49 joerg Exp $

BUILDLINK_TREE+= gambc

.if !defined(GAMBC_BUILDLINK3_MK)
GAMBC_BUILDLINK3_MK:=

BUILDLINK_API_DEPENDS.gambc+= gambc>=4.2.6
BUILDLINK_PKGSRCDIR.gambc?= ../../lang/gambc

.include "../../mk/dlopen.buildlink3.mk"
.endif # GAMBC_BUILDLINK3_MK

BUILDLINK_TREE+= -gambc

distinfo

$NetBSD: distinfo,v 1.3 2009/07/20 18:18:10 hasso Exp $

SHA1 (gambc-v4_2_8.tgz) = 785cb0667c7bfb554cd584413eed8bdb9f4a6077
RMD160 (gambc-v4_2_8.tgz) = ae51ee03c9fcd6da55102e4cf2d72b2e48161d70
Size (gambc-v4_2_8.tgz) = 14255377 bytes
SHA1 (patch-aa) = 73f5408fbfda26e7fca5f3547d68af1809107959
SHA1 (patch-ab) = d49f8dc9d33648536bc34f0efec88f2e6ee8c2c8

hacks.mk

# $NetBSD: hacks.mk,v 1.2 2008/05/06 15:26:57 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
BUILDLINK_TRANSFORM+= rm:-pipe # XXX takes up too much memory
.endif

version.mk

# $NetBSD: version.mk,v 1.2 2008/07/16 07:14:36 bjs Exp $
###
.if !defined(GAMBC_VERSION_MK)
GAMBC_VERSION_MK= # empty
###
### The package version sets the distribution version.
###
GAMBC_VERSION= 4.2.8
GAMBC_DIST_VERSION= ${GAMBC_VERSION:C|^.*|v&|:S|.|_|g}
.endif