Petite Chez Scheme is a complete Scheme system that is fully compatible

with Chez Scheme but uses high-speed threaded interpreter technology in
place of Chez Scheme's incremental native-code compiler. Petite Chez
Scheme may be used without license, fee or royalty for any purpose,
including for resale as part of a commercial product. 

Submitted by (a very patient) Aaron W. Hsu <arcfide at sacrideo dot us>
with license help and sanity checking from sthen@.
This commit is contained in:
wcmaier 2009-04-24 13:13:45 +00:00
parent a6cd62f47f
commit 354c8b831d
8 changed files with 176 additions and 0 deletions

40
lang/petite-chez/Makefile Normal file
View File

@ -0,0 +1,40 @@
# $OpenBSD: Makefile,v 1.1.1.1 2009/04/24 13:13:45 wcmaier Exp $
ONLY_FOR_ARCHS = i386
COMMENT = high-speed threaded Scheme interpreter
VERSION = 7.4
MACHINE-TYPE= ti3ob
DISTNAME = pcsv${VERSION}-${MACHINE-TYPE}
PKGNAME = petite-chez-${VERSION}
CATEGORIES = lang
HOMEPAGE = http://www.scheme.com
MAINTAINER = Aaron W. Hsu <arcfide@sacrideo.us>
# A few ambiguities, so err on the side of caution
PERMIT_PACKAGE_CDROM = Ambiguous
PERMIT_PACKAGE_FTP = Ambiguous
PERMIT_DISTFILES_CDROM =Ambiguous
PERMIT_DISTFILES_FTP = Yes
WANTLIB = c curses m pthread z
MASTER_SITES = http://www.scheme.com/download/
CONFIGURE_STYLE = simple
CONFIGURE_ARGS = --machine=${MACHINE-TYPE} \
--installprefix=${TRUEPREFIX} \
--temproot=${WRKINST} \
--force-relink --threads
NO_REGRESS = Yes
WRKDIST = ${WRKDIR}/csv7.4
WRKSRC = ${WRKDIST}/custom
ALL_TARGET =
.include <bsd.port.mk>

View File

@ -0,0 +1,5 @@
MD5 (pcsv7.4-ti3ob.tar.gz) = pGCedNN+zugD4b8Wpq8Xfw==
RMD160 (pcsv7.4-ti3ob.tar.gz) = vd/LES7FpnC69Metk1tZ9sg5Cz0=
SHA1 (pcsv7.4-ti3ob.tar.gz) = uZ3vIhqkJfntLHtZuhoY49RoFmc=
SHA256 (pcsv7.4-ti3ob.tar.gz) = 3PNogbXBzwYhC2JjEpyBmKqLofYRgzWEoImljDQJ+Xk=
SIZE (pcsv7.4-ti3ob.tar.gz) = 1050697

View File

@ -0,0 +1,13 @@
Don't use bundled zlib.
$OpenBSD: patch-custom_Makefile_in,v 1.1.1.1 2009/04/24 13:13:45 wcmaier Exp $
--- custom/Makefile.in.orig Wed Feb 11 17:03:52 2009
+++ custom/Makefile.in Wed Feb 11 17:09:12 2009
@@ -11,7 +11,6 @@ Kernel=../boot/$m/kernel.o
Custom=../boot/$m/custom.o
PetiteBoot=../boot/$m/petite.boot
SchemeBoot=../boot/$m/scheme.boot
-Archive=../zlib/$m/libz.a
# force local rebuild of executable if desired
ForceRelink=no

View File

@ -0,0 +1,32 @@
Fix example path and don't install with restrictive permissions.
$OpenBSD: patch-custom_Mf-install_in,v 1.1.1.1 2009/04/24 13:13:45 wcmaier Exp $
--- custom/Mf-install.in.orig Tue Mar 13 12:03:19 2007
+++ custom/Mf-install.in Wed Feb 11 16:43:12 2009
@@ -24,7 +24,7 @@ InstallBin=${InstallPrefix}/bin
InstallLib=${InstallPrefix}/lib/csv7.4
# example program directory
-InstallLibLib=${InstallLib}/lib
+InstallLibLib=${InstallPrefix}/share/examples/petite-chez
# base executable and heap file directory
InstallLibBin=${InstallLib}/$m
@@ -158,7 +158,7 @@ petitebininstall: ${Bin}
/bin/rm -f ${PetitePath};\
ln -f ${SchemePath} ${PetitePath};\
else\
- $I -m 511 ${Petite} ${PetitePath};\
+ $I -m 555 ${Petite} ${PetitePath};\
fi
petitemaninstall: petite.1 ${Man}
@@ -196,7 +196,7 @@ schemebininstall: ${Bin}
/bin/rm -f ${SchemePath};\
ln -f ${PetitePath} ${SchemePath};\
else\
- $I -m 511 ${Scheme} ${SchemePath};\
+ $I -m 555 ${Scheme} ${SchemePath};\
fi
schememaninstall: scheme.1 ${Man}

View File

@ -0,0 +1,34 @@
Link with system zlib.
$OpenBSD: patch-custom_Mf-ti3ob,v 1.1.1.1 2009/04/24 13:13:45 wcmaier Exp $
--- custom/Mf-ti3ob.orig Mon Jun 11 12:09:01 2007
+++ custom/Mf-ti3ob Wed Feb 11 17:12:30 2009
@@ -4,13 +4,13 @@
# Usage: included in custom/Makefile
# Add additional machine-dependent C libraries here.
-mdclib=-lm -lcurses -pthread
+mdclib=-lz -lm -lcurses -pthread
# Add additinal machine-dependent object files to clean here
mdclean=
# Define C compiler here
-C=gcc -D_REENTRANT -pthread
+C=gcc -D_REENTRANT -pthread -Xlinker -E -Xlinker -Bdynamic
# Define default installation group here
group=bin
@@ -18,10 +18,10 @@ group=bin
.SUFFIXES: .c .o
.c.o: ; $C -c -I${Include} $*.c
-${Scheme}: ${Kernel} ${Custom} ${cobj} ${Archive}
+${Scheme}: ${Kernel} ${Custom} ${cobj}
/bin/rm -f ${Scheme}
echo "const char *S_date_stamp = \"`date +%m%d%Y%H%M%S`\";" > datestamp.c
- $C -rdynamic -o ${Scheme} datestamp.c ${Kernel} ${Custom} ${cobj} ${Archive} ${clib} ${mdclib}
+ $C -rdynamic -o ${Scheme} datestamp.c ${Kernel} ${Custom} ${cobj} ${clib} ${mdclib}
chmod 551 ${Scheme}
include Mf-install

View File

@ -0,0 +1,14 @@
Don't describe scheme executable in synopsis.
$OpenBSD: patch-custom_scheme_1_in,v 1.1.1.1 2009/04/24 13:13:45 wcmaier Exp $
--- custom/scheme.1.in.orig Wed Feb 11 16:18:42 2009
+++ custom/scheme.1.in Wed Feb 11 16:18:54 2009
@@ -10,8 +10,6 @@
.br
\fIPetite Chez Scheme\fP
.SH SYNOPSIS
-\fB{InstallSchemeName}\fP [ \fIoptions\fP ] \fIfile\fP ...
-.br
\fB{InstallPetiteName}\fP [ \fIoptions\fP ] \fIfile\fP ...
.SH DESCRIPTION
\*s is a high-performance implementation of ANSI Scheme with numerous

View File

@ -0,0 +1,5 @@
Petite Chez Scheme is a complete Scheme system that is fully compatible
with Chez Scheme but uses high-speed threaded interpreter technology in
place of Chez Scheme's incremental native-code compiler. Petite Chez
Scheme may be used without license, fee or royalty for any purpose,
including for resale as part of a commercial product.

View File

@ -0,0 +1,33 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2009/04/24 13:13:45 wcmaier Exp $
@conflict chez-*
@bin bin/petite
lib/csv7.4/
lib/csv7.4/ti3ob/
lib/csv7.4/ti3ob/petite.boot
lib/csv7.4/ti3ob/scheme.h
@man man/man1/petite.1
share/examples/petite-chez/
share/examples/petite-chez/Makefile
share/examples/petite-chez/compat.ss
share/examples/petite-chez/csocket.c
share/examples/petite-chez/def.ss
share/examples/petite-chez/edit.ss
share/examples/petite-chez/fact.ss
share/examples/petite-chez/fatfib.ss
share/examples/petite-chez/fft.ss
share/examples/petite-chez/fib.ss
share/examples/petite-chez/foreign.ss
share/examples/petite-chez/freq.ss
share/examples/petite-chez/interpret.ss
share/examples/petite-chez/m4.ss
share/examples/petite-chez/macro.ss
share/examples/petite-chez/matrix.ss
share/examples/petite-chez/object.ss
share/examples/petite-chez/power.ss
share/examples/petite-chez/queue.ss
share/examples/petite-chez/rabbit.ss
share/examples/petite-chez/rsa.ss
share/examples/petite-chez/scons.ss
share/examples/petite-chez/setof.ss
share/examples/petite-chez/socket.ss
share/examples/petite-chez/unify.ss