diff options
author | agc <agc> | 2002-10-28 09:04:02 +0000 |
---|---|---|
committer | agc <agc> | 2002-10-28 09:04:02 +0000 |
commit | f95c9345578f724315676e0f7772813112be5bca (patch) | |
tree | 6c717e06f378d55002ed6c37bb3b65fb0f67bda1 /lang/tinyscheme | |
parent | 2cc25c6ece7764a0bb0c54a6d3e4711e34cdb3fe (diff) | |
download | pkgsrc-f95c9345578f724315676e0f7772813112be5bca.tar.gz |
Import tinyscheme-1.31, a small, embeddable BSD-licensed scheme
interpreter, into the NetBSD Packages Collection.
TinyScheme is a lightweight Scheme interpreter that implements as
large a subset of R5RS as was possible without getting very large and
complicated. It is meant to be used as an embedded scripting
interpreter for other programs. As such, it does not offer IDEs or
extensive toolkits although it does sport a small top-level loop,
included conditionally. A lot of functionality in TinyScheme is
included conditionally, to allow developers freedom in balancing
features and footprint.
As an embedded interpreter, it allows multiple interpreter states to
coexist in the same program, without any interference between them.
Programmatically, foreign functions in C can be added and values can
be defined in the Scheme environment. Being quite a small program, it
is easy to comprehend, get to grips with, and use.
Diffstat (limited to 'lang/tinyscheme')
-rw-r--r-- | lang/tinyscheme/DESCR | 14 | ||||
-rw-r--r-- | lang/tinyscheme/Makefile | 14 | ||||
-rw-r--r-- | lang/tinyscheme/PLIST | 9 | ||||
-rw-r--r-- | lang/tinyscheme/distinfo | 6 | ||||
-rw-r--r-- | lang/tinyscheme/patches/patch-aa | 68 | ||||
-rw-r--r-- | lang/tinyscheme/patches/patch-ab | 22 |
6 files changed, 133 insertions, 0 deletions
diff --git a/lang/tinyscheme/DESCR b/lang/tinyscheme/DESCR new file mode 100644 index 00000000000..0a239123635 --- /dev/null +++ b/lang/tinyscheme/DESCR @@ -0,0 +1,14 @@ +TinyScheme is a lightweight Scheme interpreter that implements as +large a subset of R5RS as was possible without getting very large and +complicated. It is meant to be used as an embedded scripting +interpreter for other programs. As such, it does not offer IDEs or +extensive toolkits although it does sport a small top-level loop, +included conditionally. A lot of functionality in TinyScheme is +included conditionally, to allow developers freedom in balancing +features and footprint. + +As an embedded interpreter, it allows multiple interpreter states to +coexist in the same program, without any interference between them. +Programmatically, foreign functions in C can be added and values can +be defined in the Scheme environment. Being quite a small program, it +is easy to comprehend, get to grips with, and use. diff --git a/lang/tinyscheme/Makefile b/lang/tinyscheme/Makefile new file mode 100644 index 00000000000..a74fe2203e9 --- /dev/null +++ b/lang/tinyscheme/Makefile @@ -0,0 +1,14 @@ +# $NetBSD: Makefile,v 1.1.1.1 2002/10/28 09:04:02 agc Exp $ + +DISTNAME= tinyscheme-1.31 +CATEGORIES= lang +MASTER_SITES= http://tinyscheme.sourceforge.net/ + +MAINTAINER= packages@netbsd.org +HOMEPAGE= http://tinyscheme.sourceforge.net/home.html +COMMENT= BSD-licensed R5RS small embeddable scheme implementation + +MAKEFILE= makefile +USE_LIBTOOL= yes + +.include "../../mk/bsd.pkg.mk" diff --git a/lang/tinyscheme/PLIST b/lang/tinyscheme/PLIST new file mode 100644 index 00000000000..2f2eeb4dade --- /dev/null +++ b/lang/tinyscheme/PLIST @@ -0,0 +1,9 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2002/10/28 09:04:02 agc Exp $ +bin/tinyscheme +lib/libtinyscheme.so.1.31 +lib/libtinyscheme.so.1 +lib/libtinyscheme.so +lib/libtinyscheme.la +lib/libtinyscheme.a +share/tinyscheme/init.scm +@dirrm share/tinyscheme diff --git a/lang/tinyscheme/distinfo b/lang/tinyscheme/distinfo new file mode 100644 index 00000000000..16b681709af --- /dev/null +++ b/lang/tinyscheme/distinfo @@ -0,0 +1,6 @@ +$NetBSD: distinfo,v 1.1.1.1 2002/10/28 09:04:02 agc Exp $ + +SHA1 (tinyscheme-1.31.tar.gz) = 5a99f5d223be0ce4df440d0e4d5fd9568cea2418 +Size (tinyscheme-1.31.tar.gz) = 50828 bytes +SHA1 (patch-aa) = f9729f39fa97a8f135a914da316ebad795d0730f +SHA1 (patch-ab) = b8577bc0659b88561bd8fe488e531ba7c69656b4 diff --git a/lang/tinyscheme/patches/patch-aa b/lang/tinyscheme/patches/patch-aa new file mode 100644 index 00000000000..2f757cc94bf --- /dev/null +++ b/lang/tinyscheme/patches/patch-aa @@ -0,0 +1,68 @@ +$NetBSD: patch-aa,v 1.1.1.1 2002/10/28 09:04:02 agc Exp $ + +--- makefile 2002/10/24 09:41:47 1.1 ++++ makefile 2002/10/24 09:42:36 +@@ -18,7 +18,7 @@ + #AR= echo + + # Unix, generally +-CC = gcc -fpic ++CC = gcc + DEBUG=-g -Wall -Wno-char-subscripts -O + Osuf=o + SOsuf=so +@@ -28,12 +28,13 @@ + OUT = -o $@ + RM= -rm -f + AR= ar crs ++SYS_LIBS= -lm + + # Linux + LD = gcc + LDFLAGS = -shared + DEBUG=-g -Wno-char-subscripts -O +-SYS_LIBS= -ldl ++#SYS_LIBS= -ldl + PLATFORM_FEATURES= -DSUN_DL=1 + + +@@ -47,26 +48,30 @@ + #LIBPREFIX = lib + #OUT = -o $@ + +-FEATURES = $(PLATFORM_FEATURES) -DUSE_DL=1 -DUSE_MATH=0 -DUSE_ASCII_NAMES=0 ++DIRS= -DTINYSCHEMEPREFIX='"${PREFIX}"' -DTINYSCHEMEDIR='"/share/tinyscheme/"' ++FEATURES = ${DIRS} $(PLATFORM_FEATURES) -DUSE_DL=1 -DUSE_MATH=0 -DUSE_ASCII_NAMES=0 + + OBJS = scheme.$(Osuf) dynload.$(Osuf) + + LIBTARGET = $(LIBPREFIX)tinyscheme.$(SOsuf) + STATICLIBTARGET = $(LIBPREFIX)tinyscheme.$(LIBsuf) + +-all: $(LIBTARGET) $(STATICLIBTARGET) scheme$(EXE_EXT) ++all: $(STATICLIBTARGET) scheme$(EXE_EXT) + +-%.$(Osuf): %.c +- $(CC) -I. -c $(DEBUG) $(FEATURES) $(DL_FLAGS) $< +- +-$(LIBTARGET): $(OBJS) +- $(LD) $(LDFLAGS) $(OUT) $(OBJS) $(SYS_LIBS) ++.c.o: ++ ${LIBTOOL} --mode=compile ${CC} -I. -c $(DEBUG) $(FEATURES) $(DL_FLAGS) $< + + scheme$(EXE_EXT): $(OBJS) +- $(CC) -o $@ $(DEBUG) $(OBJS) $(SYS_LIBS) ++ ${LIBTOOL} --mode=link ${CC} -o $@ ${DEBUG} ${OBJS} ${SYS_LIBS} ${LIBS:.a=.la} -o scheme${EXE_EXT} + + $(STATICLIBTARGET): $(OBJS) +- $(AR) $@ $(OBJS) ++ ${LIBTOOL} --mode=link ${CC} -o ${.TARGET:.a=.la} ${OBJS:.o=.lo} -rpath ${PREFIX}/lib -version-info 1:31 ++ ++install: all ++ ${LIBTOOL} --mode=install ${BSD_INSTALL_DATA} ${STATICLIBTARGET:.a=.la} ${PREFIX}/lib ++ ${LIBTOOL} --mode=install ${BSD_INSTALL_PROGRAM} scheme${EXE_EXT} ${PREFIX}/bin/tinyscheme ++ ${BSD_INSTALL_DATA_DIR} ${PREFIX}/share/tinyscheme ++ ${BSD_INSTALL_DATA} init.scm ${PREFIX}/share/tinyscheme + + $(OBJS): scheme.h scheme-private.h opdefines.h + dynload.$(Osuf): dynload.h diff --git a/lang/tinyscheme/patches/patch-ab b/lang/tinyscheme/patches/patch-ab new file mode 100644 index 00000000000..5cbcf119a30 --- /dev/null +++ b/lang/tinyscheme/patches/patch-ab @@ -0,0 +1,22 @@ +$NetBSD: patch-ab,v 1.1.1.1 2002/10/28 09:04:02 agc Exp $ + +--- scheme.c 2002/10/24 11:01:22 1.1 ++++ scheme.c 2002/10/24 11:03:17 +@@ -91,8 +91,16 @@ + # define prompt "> " + #endif + ++#ifndef TINYSCHEMEPREFIX ++# define TINYSCHEMEPREFIX "" ++#endif ++ ++#ifndef TINYSCHEMEDIR ++# define TINYSCHEMEDIR "" ++#endif ++ + #ifndef InitFile +-# define InitFile "init.scm" ++# define InitFile TINYSCHEMEPREFIX TINYSCHEMEDIR "init.scm" + #endif + + #ifndef FIRST_CELLSEGS |