Import scheme48 1.3

Scheme 48 is an implementation of the Scheme programming language as
described in the Revised5 Report on the Algorithmic Language Scheme.
It is based on a compiler and interpreter for a virtual Scheme
machine.  Scheme 48 tries to be faithful to the Revised5 Scheme
Report, providing neither more nor less in the initial user
environment. It is based on a byte-code interpreter and is designed to
be used as a testbed for experiments in implementation techniques and
as an expository tool.

From Aaron Hsu <arcfide@sacrificumdeo.net>
This commit is contained in:
alek 2006-08-01 14:34:33 +00:00
parent 1e853c8483
commit 3d5f66d6f7
5 changed files with 315 additions and 0 deletions

36
lang/scheme48/Makefile Normal file
View File

@ -0,0 +1,36 @@
# $OpenBSD: Makefile,v 1.1.1.1 2006/08/01 14:34:33 alek Exp $
ONLY_FOR_ARCHS= i386
COMMENT= "R5RS Scheme byte-code interpreter"
DISTNAME= scheme48-1.3
CATEGORIES= lang
HOMEPAGE= http://www.s48.org/
MAINTAINER= Aaron Hsu <arcfide@sacrificumdeo.net>
# BSD with GPL, see COPYING file
PERMIT_PACKAGE_CDROM= Yes
PERMIT_PACKAGE_FTP= Yes
PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
WANTLIB= m c
MASTER_SITES= ${HOMEPAGE}/1.3/
EXTRACT_SUFX= .tgz
CONFIGURE_STYLE=gnu dest
CONFIGURE_ENV= LDFLAGS="-Wl,--export-dynamic"
post-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/scheme48
${INSTALL_DATA} ${WRKSRC}/doc/*.txt ${WRKSRC}/doc/*.ps \
${PREFIX}/share/doc/scheme48
${INSTALL_DATA} ${WRKSRC}/COPYING ${PREFIX}/share/doc/scheme48
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/scheme48/html
${INSTALL_DATA} ${WRKSRC}/doc/html/* \
${PREFIX}/share/doc/scheme48/html
.include <bsd.port.mk>

4
lang/scheme48/distinfo Normal file
View File

@ -0,0 +1,4 @@
MD5 (scheme48-1.3.tgz) = c436e4c7ba0820e591458804eb8aec5a
RMD160 (scheme48-1.3.tgz) = 25cbf7ddda946ffe114264c3cb4818817eeeb440
SHA1 (scheme48-1.3.tgz) = be1704893b5932fc304b8a2e2279ec753a49f15b
SIZE (scheme48-1.3.tgz) = 2322178

View File

@ -0,0 +1,65 @@
$OpenBSD: patch-Makefile_in,v 1.1.1.1 2006/08/01 14:34:33 alek Exp $
--- Makefile.in.orig Sun May 22 09:06:14 2005
+++ Makefile.in Sat Jul 22 18:28:10 2006
@@ -27,6 +27,7 @@ libdir = $(exec_prefix)/lib
incdir = $(exec_prefix)/include
manext = 1
mandir = $(prefix)/man/man$(manext)
+truebindir = $(TRUEPREFIX)/bin
# HP 9000 series, if you don't have gcc
# CC = cc
@@ -43,6 +44,7 @@ mandir = $(prefix)/man/man$(manext)
RUNNABLE = scheme48
MANPAGE = $(RUNNABLE).$(manext)
LIB = $(libdir)/$(RUNNABLE)
+TRUELIB = $(TRUEPREFIX)/lib/$(RUNNABLE)
distdir = /tmp
@@ -231,7 +233,7 @@ script-interpreter: c/script-interpreter
c/main.o: c/main.c c/scheme48vm.h c/scheme48heap.h
$(CC) -c $(CFLAGS) -o $@ \
- -DDEFAULT_IMAGE_NAME=\"$(LIB)/$(IMAGE)\" \
+ -DDEFAULT_IMAGE_NAME=\"$(TRUELIB)/$(IMAGE)\" \
$(CPPFLAGS) $(DEFS) $(srcdir)/c/main.c
c/scheme48vm.o: c/prescheme.h c/scheme48vm.h c/scheme48heap.h \
@@ -259,7 +261,7 @@ c/unix/misc.o: c/sysdep.h $(FAKEHS)
c/unix/io.o: c/io.h
c/script-interpreter.o: c/sysdep.h $(FAKEHS) c/script-interpreter.c
$(CC) -c $(CFLAGS) -o $@ \
- -DRUNNABLE=\"$(bindir)/$(RUNNABLE)\" \
+ -DRUNNABLE=\"$(truebindir)/$(RUNNABLE)\" \
$(CPPFLAGS) $(DEFS) \
-I ./c -I$(srcdir)/c \
$(srcdir)/c/script-interpreter.c
@@ -294,15 +296,15 @@ inst-vm:
inst-image:
rm -f '/tmp/$(IMAGE)' && \
- $(srcdir)/build/build-usual-image $(srcdir) '$(LIB)' \
+ $(srcdir)/build/build-usual-image $(srcdir) '$(TRUELIB)' \
'/tmp/$(IMAGE)' './$(VM)' '$(INITIAL)' && \
$(INSTALL_DATA) /tmp/$(IMAGE) $(LIB) && \
rm /tmp/$(IMAGE)
inst-man:
$(srcdir)/mkinstalldirs $(mandir)
- sed 's=LBIN=$(bindir)=g' $(srcdir)/doc/scheme48.man | \
- sed 's=LLIB=$(LIB)=g' | \
+ sed 's=LBIN=$(truebindir)=g' $(srcdir)/doc/scheme48.man | \
+ sed 's=LLIB=$(TRUELIB)=g' | \
sed 's=LS48=$(RUNNABLE)=g' >$(MANPAGE) && \
$(INSTALL_DATA) $(MANPAGE) $(mandir) && \
rm $(MANPAGE); \
@@ -326,7 +328,7 @@ inst-script:
script=$(bindir)/$(RUNNABLE) && \
echo '#!/bin/sh' >$$script && \
echo >>$$script && \
- echo 'lib=$(LIB)' >>$$script && \
+ echo 'lib=$(TRUELIB)' >>$$script && \
echo 'exec $$lib/$(VM) -o $$lib/$(VM) -i $$lib/$(IMAGE) "$$@"' \
>>$$script && \
chmod +x $$script

9
lang/scheme48/pkg/DESCR Normal file
View File

@ -0,0 +1,9 @@
Scheme 48 is an implementation of the Scheme programming language as
described in the Revised5 Report on the Algorithmic Language Scheme.
It is based on a compiler and interpreter for a virtual Scheme
machine. Scheme 48 tries to be faithful to the Revised5 Scheme
Report, providing neither more nor less in the initial user
environment. It is based on a byte-code interpreter and is designed to
be used as a testbed for experiments in implementation techniques and
as an expository tool.

201
lang/scheme48/pkg/PLIST Normal file
View File

@ -0,0 +1,201 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2006/08/01 14:34:33 alek Exp $
@conflict scsh-*
bin/scheme-r5rs
bin/scheme-srfi-7
bin/scheme48
include/scheme48.h
include/scheme48write-barrier.h
lib/scheme48/
lib/scheme48/big/
lib/scheme48/big/array.scm
lib/scheme48/big/big-util.scm
lib/scheme48/big/callback.scm
lib/scheme48/big/compose-cont.scm
lib/scheme48/big/defrecord.scm
lib/scheme48/big/destructure.scm
lib/scheme48/big/dump.scm
lib/scheme48/big/dynamic-external.scm
lib/scheme48/big/either.scm
lib/scheme48/big/enum-set.scm
lib/scheme48/big/external.scm
lib/scheme48/big/filename.scm
lib/scheme48/big/finite-type.scm
lib/scheme48/big/format.scm
lib/scheme48/big/general-table.scm
lib/scheme48/big/hilbert.scm
lib/scheme48/big/import-def.scm
lib/scheme48/big/iterate.scm
lib/scheme48/big/linked-queue.scm
lib/scheme48/big/lock.scm
lib/scheme48/big/lu-decomp.scm
lib/scheme48/big/mask.scm
lib/scheme48/big/more-port.scm
lib/scheme48/big/mvlet.scm
lib/scheme48/big/pipe.scm
lib/scheme48/big/placeholder.scm
lib/scheme48/big/pp.scm
lib/scheme48/big/queue.scm
lib/scheme48/big/random.scm
lib/scheme48/big/receive.scm
lib/scheme48/big/search-tree.scm
lib/scheme48/big/shared-object.scm
lib/scheme48/big/socket.scm
lib/scheme48/big/strong.scm
lib/scheme48/big/value-pipe.scm
lib/scheme48/cml/
lib/scheme48/cml/async-channel.scm
lib/scheme48/cml/channel.scm
lib/scheme48/cml/interfaces.scm
lib/scheme48/cml/jar.scm
lib/scheme48/cml/packages.scm
lib/scheme48/cml/placeholder.scm
lib/scheme48/cml/rendezvous.scm
lib/scheme48/cml/time.scm
lib/scheme48/cml/trans-id.scm
lib/scheme48/env/
lib/scheme48/env/assem.scm
lib/scheme48/env/basic-command.scm
lib/scheme48/env/build.scm
lib/scheme48/env/command-level.scm
lib/scheme48/env/command.scm
lib/scheme48/env/condition.scm
lib/scheme48/env/debug.scm
lib/scheme48/env/debuginfo.scm
lib/scheme48/env/disasm.scm
lib/scheme48/env/disclosers.scm
lib/scheme48/env/dispcond.scm
lib/scheme48/env/flatload.scm
lib/scheme48/env/init-defpackage.scm
lib/scheme48/env/inspect.scm
lib/scheme48/env/io-condition.scm
lib/scheme48/env/jar-assem.scm
lib/scheme48/env/list-interface.scm
lib/scheme48/env/load-package.scm
lib/scheme48/env/menu.scm
lib/scheme48/env/pacman.scm
lib/scheme48/env/pedit.scm
lib/scheme48/env/profile.scm
lib/scheme48/env/read-command.scm
lib/scheme48/env/shadow.scm
lib/scheme48/env/signal.scm
lib/scheme48/env/space.scm
lib/scheme48/env/start.scm
lib/scheme48/env/traverse.scm
lib/scheme48/env/user.scm
lib/scheme48/env/version-info.scm
lib/scheme48/link/
lib/scheme48/link/data.scm
lib/scheme48/link/generate-c-header.scm
lib/scheme48/link/generate-old-c-header.scm
lib/scheme48/link/link.scm
lib/scheme48/link/loadc.scm
lib/scheme48/link/reify.scm
lib/scheme48/link/transport.scm
lib/scheme48/link/write-image.scm
lib/scheme48/misc/
lib/scheme48/misc/annotate.scm
lib/scheme48/misc/doodl.scm
lib/scheme48/misc/engine.scm
lib/scheme48/misc/ilength.scm
lib/scheme48/misc/integertostring.scm
lib/scheme48/misc/load-static.scm
lib/scheme48/misc/mail.scm
lib/scheme48/misc/packages.scm
lib/scheme48/misc/pipe.scm
lib/scheme48/misc/psd-s48.scm
lib/scheme48/misc/remote.scm
lib/scheme48/misc/require.scm
lib/scheme48/misc/separate.scm
lib/scheme48/misc/shift-reset.scm
lib/scheme48/misc/sicp.scm
lib/scheme48/misc/static.scm
lib/scheme48/misc/test-doodl.scm
lib/scheme48/opt/
lib/scheme48/opt/analyze.scm
lib/scheme48/opt/inline.scm
lib/scheme48/opt/sort.scm
lib/scheme48/opt/tst.scm
lib/scheme48/opt/usage.scm
lib/scheme48/posix/
lib/scheme48/posix/check.scm
lib/scheme48/posix/dir.scm
lib/scheme48/posix/file-options.scm
lib/scheme48/posix/func-regexp.scm
lib/scheme48/posix/io.scm
lib/scheme48/posix/packages.scm
lib/scheme48/posix/proc-env.scm
lib/scheme48/posix/proc.scm
lib/scheme48/posix/regexp.scm
lib/scheme48/posix/signal.scm
lib/scheme48/rts/
lib/scheme48/rts/defenum.scm
lib/scheme48/rts/floatnum.scm
lib/scheme48/rts/innum.scm
lib/scheme48/rts/jar-defrecord.scm
lib/scheme48/rts/ratnum.scm
lib/scheme48/rts/recnum.scm
lib/scheme48/rts/xnum.scm
lib/scheme48/scheme48.image
lib/scheme48/scheme48vm
lib/scheme48/sort/
lib/scheme48/sort/delndups.scm
lib/scheme48/sort/interfaces.scm
lib/scheme48/sort/lmsort.scm
lib/scheme48/sort/packages.scm
lib/scheme48/sort/sort-support-macs.scm
lib/scheme48/sort/sort.scm
lib/scheme48/sort/sortp.scm
lib/scheme48/sort/test.scm
lib/scheme48/sort/vbinsearch.scm
lib/scheme48/sort/vector-util.scm
lib/scheme48/sort/vhsort.scm
lib/scheme48/sort/visort.scm
lib/scheme48/sort/vmsort.scm
lib/scheme48/srfi/
lib/scheme48/srfi/packages.scm
lib/scheme48/srfi/srfi-1.scm
lib/scheme48/srfi/srfi-11.scm
lib/scheme48/srfi/srfi-13.scm
lib/scheme48/srfi/srfi-14.scm
lib/scheme48/srfi/srfi-16.scm
lib/scheme48/srfi/srfi-17.scm
lib/scheme48/srfi/srfi-19.scm
lib/scheme48/srfi/srfi-2.scm
lib/scheme48/srfi/srfi-25.scm
lib/scheme48/srfi/srfi-26.scm
lib/scheme48/srfi/srfi-27.scm
lib/scheme48/srfi/srfi-28.scm
lib/scheme48/srfi/srfi-37.scm
lib/scheme48/srfi/srfi-42.scm
lib/scheme48/srfi/srfi-45.scm
lib/scheme48/srfi/srfi-5.scm
lib/scheme48/srfi/srfi-7.scm
@man man/man1/scheme48.1
share/doc/scheme48/
share/doc/scheme48/COPYING
share/doc/scheme48/hacking.txt
share/doc/scheme48/html/
share/doc/scheme48/html/manual-Z-G-D-1.gif
share/doc/scheme48/html/manual-Z-H-1.html
share/doc/scheme48/html/manual-Z-H-10.html
share/doc/scheme48/html/manual-Z-H-11.html
share/doc/scheme48/html/manual-Z-H-12.html
share/doc/scheme48/html/manual-Z-H-13.html
share/doc/scheme48/html/manual-Z-H-2.html
share/doc/scheme48/html/manual-Z-H-3.html
share/doc/scheme48/html/manual-Z-H-4.html
share/doc/scheme48/html/manual-Z-H-5.html
share/doc/scheme48/html/manual-Z-H-6.html
share/doc/scheme48/html/manual-Z-H-7.html
share/doc/scheme48/html/manual-Z-H-8.html
share/doc/scheme48/html/manual-Z-H-9.html
share/doc/scheme48/html/manual-Z-S.css
share/doc/scheme48/html/manual.html
share/doc/scheme48/install.txt
share/doc/scheme48/io.txt
share/doc/scheme48/manual.ps
share/doc/scheme48/meeting.ps
share/doc/scheme48/news.txt
share/doc/scheme48/no-leaf-env.txt
share/doc/scheme48/todo.txt
share/doc/scheme48/type.txt