import tinyscheme 1.40

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.

ok sthen@
This commit is contained in:
jasper 2012-06-26 19:53:38 +00:00
parent 1bf5e427fe
commit fc6be5c733
6 changed files with 98 additions and 0 deletions

32
lang/tinyscheme/Makefile Normal file
View File

@ -0,0 +1,32 @@
# $OpenBSD: Makefile,v 1.1.1.1 2012/06/26 19:53:38 jasper Exp $
COMMENT= lightweight Scheme implementation with subset of R5RS
DISTNAME= tinyscheme-1.40
CATEGORIES= lang
HOMEPAGE= http://tinyscheme.sourceforge.net/home.html
# BSD
PERMIT_PACKAGE_CDROM= Yes
PERMIT_PACKAGE_FTP= Yes
PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=tinyscheme/}
WANTLIB += c m
MAKE_FILE= ${WRKSRC}/makefile
CFLAGS+= -fPIC -DInitFile="\"${PREFIX}/share/tinyscheme/init.scm\""
NO_REGRESS= Yes
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/scheme ${PREFIX}/bin/tinyscheme
${INSTALL_DATA} ${WRKSRC}/scheme.h ${PREFIX}/include/tinyscheme.h
${INSTALL_DATA_DIR} ${PREFIX}/share/tinyscheme/
${INSTALL_DATA} ${WRKSRC}/init.scm ${PREFIX}/share/tinyscheme
.include <bsd.port.mk>

5
lang/tinyscheme/distinfo Normal file
View File

@ -0,0 +1,5 @@
MD5 (tinyscheme-1.40.tar.gz) = d2xCrFUo0V6JfvBS+ksEIA==
RMD160 (tinyscheme-1.40.tar.gz) = HqwIepDCwujKX0zvvFZguWSR5LM=
SHA1 (tinyscheme-1.40.tar.gz) = 4D96xB8FF7s17O0ncseeudtC6oI=
SHA256 (tinyscheme-1.40.tar.gz) = xZTIRjOx3P6DLgQWy8n4iba641KEXhRQOIMRmpQaEvw=
SIZE (tinyscheme-1.40.tar.gz) = 60160

View File

@ -0,0 +1,35 @@
$OpenBSD: patch-makefile,v 1.1.1.1 2012/06/26 19:53:38 jasper Exp $
--- makefile.orig Sun Jan 16 08:51:17 2011
+++ makefile Mon Jun 18 12:02:25 2012
@@ -18,7 +18,7 @@
#AR= echo
# Unix, generally
-CC = gcc -fpic
+CC ?= gcc -fpic
DEBUG=-g -Wall -Wno-char-subscripts -O
Osuf=o
SOsuf=so
@@ -30,10 +30,10 @@ RM= -rm -f
AR= ar crs
# Linux
-LD = gcc
-LDFLAGS = -shared
+LD ?= gcc
+LDFLAGS = -shared
DEBUG=-g -Wno-char-subscripts -O
-SYS_LIBS= -ldl
+SYS_LIBS= -lm
PLATFORM_FEATURES= -DSUN_DL=1
# Cygwin
@@ -66,7 +66,7 @@ $(LIBTARGET): $(OBJS)
$(LD) $(LDFLAGS) $(OUT) $(OBJS) $(SYS_LIBS)
scheme$(EXE_EXT): $(OBJS)
- $(CC) -o $@ $(DEBUG) $(OBJS) $(SYS_LIBS)
+ $(CC) $(CFLAGS) -o $@ $(DEBUG) $(OBJS) $(SYS_LIBS)
$(STATICLIBTARGET): $(OBJS)
$(AR) $@ $(OBJS)

View File

@ -0,0 +1,15 @@
$OpenBSD: patch-scheme_c,v 1.1.1.1 2012/06/26 19:53:38 jasper Exp $
Report correct version.
--- scheme.c.orig Mon Jun 18 12:07:53 2012
+++ scheme.c Mon Jun 18 12:08:00 2012
@@ -62,7 +62,7 @@
* Basic memory allocation units
*/
-#define banner "TinyScheme 1.39"
+#define banner "TinyScheme 1.40"
#include <string.h>
#include <stdlib.h>

View File

@ -0,0 +1,6 @@
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.

View File

@ -0,0 +1,5 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2012/06/26 19:53:38 jasper Exp $
@bin bin/tinyscheme
include/tinyscheme.h
share/tinyscheme/
share/tinyscheme/init.scm