Date: Sat, 16 Feb 2002 09:59:55 -0600 (CST) From: Erik Greenwald <greenwald@csc.smsu.edu> To: FreeBSD-gnats-submit@freebsd.org Subject: ports/34999: New Port: QScheme scheme interpretor Message-ID: <200202161559.g1GFxtv68371@csc.smsu.edu>
next in thread | raw e-mail | index | archive | help
>Number: 34999 >Category: ports >Synopsis: New Port: QScheme scheme interpretor >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sat Feb 16 08:00:04 PST 2002 >Closed-Date: >Last-Modified: >Originator: Erik Greenwald >Release: FreeBSD 4.5-STABLE i386 >Organization: >Environment: >Description: Qscheme is a small and fast Scheme interpreter. >How-To-Repeat: >Fix: # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # lang/qscheme/pkg-plist # lang/qscheme/pkg-descr # lang/qscheme/pkg-comment # lang/qscheme/distinfo # lang/qscheme/Makefile # lang/qscheme/files/patch-s.h # lang/qscheme/files/patch-configure # lang/qscheme/files/patch-Makefile.in # lang/qscheme/files/patch-s.scm # echo x - lang/qscheme/pkg-plist sed 's/^X//' >lang/qscheme/pkg-plist << 'END-of-lang/qscheme/pkg-plist' Xbin/qscheme Xshare/qscheme/0.5.1/regex.so Xshare/qscheme/0.5.1/object.so Xshare/qscheme/0.5.1/process.so Xshare/qscheme/0.5.1/struct.so Xshare/qscheme/0.5.1/socket.so Xshare/qscheme/0.5.1/unix.so Xshare/qscheme/0.5.1/s.scm Xshare/qscheme/0.5.1/macro.scm Xshare/qscheme/0.5.1/loop.scm Xshare/qscheme/0.5.1/wloop.scm Xshare/qscheme/0.5.1/fib.scm Xshare/qscheme/0.5.1/cat.scm Xshare/qscheme/0.5.1/doc/s.dvi Xshare/qscheme/0.5.1/doc/s.ps Xshare/qscheme/0.5.1/doc/html/WARNINGS Xshare/qscheme/0.5.1/doc/html/footnode.html Xshare/qscheme/0.5.1/doc/html/images.aux Xshare/qscheme/0.5.1/doc/html/images.log Xshare/qscheme/0.5.1/doc/html/images.pl Xshare/qscheme/0.5.1/doc/html/images.tex Xshare/qscheme/0.5.1/doc/html/img1.png Xshare/qscheme/0.5.1/doc/html/img2.png Xshare/qscheme/0.5.1/doc/html/index.html Xshare/qscheme/0.5.1/doc/html/internals.pl Xshare/qscheme/0.5.1/doc/html/labels.pl Xshare/qscheme/0.5.1/doc/html/node1.html Xshare/qscheme/0.5.1/doc/html/node10.html Xshare/qscheme/0.5.1/doc/html/node11.html Xshare/qscheme/0.5.1/doc/html/node12.html Xshare/qscheme/0.5.1/doc/html/node13.html Xshare/qscheme/0.5.1/doc/html/node14.html Xshare/qscheme/0.5.1/doc/html/node15.html Xshare/qscheme/0.5.1/doc/html/node2.html Xshare/qscheme/0.5.1/doc/html/node3.html Xshare/qscheme/0.5.1/doc/html/node4.html Xshare/qscheme/0.5.1/doc/html/node5.html Xshare/qscheme/0.5.1/doc/html/node6.html Xshare/qscheme/0.5.1/doc/html/node7.html Xshare/qscheme/0.5.1/doc/html/node8.html Xshare/qscheme/0.5.1/doc/html/node9.html Xshare/qscheme/0.5.1/doc/html/s.css Xshare/qscheme/0.5.1/doc/html/s.html X@dirrm share/qscheme/0.5.1/doc/html X@dirrm share/qscheme/0.5.1/doc X@dirrm share/qscheme/0.5.1 X@dirrm share/qscheme X END-of-lang/qscheme/pkg-plist echo x - lang/qscheme/pkg-descr sed 's/^X//' >lang/qscheme/pkg-descr << 'END-of-lang/qscheme/pkg-descr' XQScheme is a fast and small implementation of Scheme written in C. QScheme is Xeasy to interface and should be easy to use as an extension language. X XQScheme currently supports foreign function call and dynamic library. A perl Xlike regular expression module is provided as example. X XQScheme is really fast: benchmarks (still a little old) shows that it is Xgeneraly between 2 and 70 times faster than other scheme interpreters. X XDocumentation and GTK support has been disabled in this port. X XWWW: http://www.sof.ch/dan/qscheme/index-e.html END-of-lang/qscheme/pkg-descr echo x - lang/qscheme/pkg-comment sed 's/^X//' >lang/qscheme/pkg-comment << 'END-of-lang/qscheme/pkg-comment' XQScheme is a small and fast Scheme interpreter. END-of-lang/qscheme/pkg-comment echo x - lang/qscheme/distinfo sed 's/^X//' >lang/qscheme/distinfo << 'END-of-lang/qscheme/distinfo' XMD5 (qscheme-0.5.1.tar.gz) = 9bb70c527033b04a86320f39d16802fe END-of-lang/qscheme/distinfo echo x - lang/qscheme/Makefile sed 's/^X//' >lang/qscheme/Makefile << 'END-of-lang/qscheme/Makefile' X# New ports collection makefile for: qscheme X# Date created: 6 Dec 2001 X# Whom: erik@smluc.org X# X# $FreeBSD$ X# X XPORTNAME= qscheme XPORTVERSION= 0.5.1 XCATEGORIES= lang XMASTER_SITES= http://www.sof.ch/dan/qscheme/files/ X XMAINTAINER= erik@smluc.org X XLICENSE= GPLv2 with exception X XBUILD_DEPENDS= ${LOCALBASE}/lib/libavcall.a:${PORTSDIR}/devel/ffcall\ X ${LOCALBASE}/lib/libpcre.a:${PORTSDIR}/devel/pcre XLIB_DEPENDS= getline:${PORTSDIR}/devel/libgetline X XGNU_CONFIGURE= yes XUSE_GMAKE= yes X#USE_AUTOCONF= yes X XCONFIGURE_ARGS= --with-pcre-dir=${LOCALBASE}/lib --with-pcre-inc=${LOCALBASE}/include --with-avcall-dir=${LOCALBASE}/lib --with-avcall-inc=${LOCALBASE}/include X X.include <bsd.port.mk> END-of-lang/qscheme/Makefile echo x - lang/qscheme/files/patch-s.h sed 's/^X//' >lang/qscheme/files/patch-s.h << 'END-of-lang/qscheme/files/patch-s.h' X--- s.h.orig Sun Feb 10 12:45:20 2002 X+++ s.h Sun Feb 10 12:45:32 2002 X@@ -203,7 +203,7 @@ X X #ifdef SCM_WITH_THREADS X /*** same as in Boehm's GC */ X-#define SCM_SIG_SUSPEND SIGPWR X+#define SCM_SIG_SUSPEND SIGUSR1 X #define SCM_SIG_RESUME SIGXCPU X #endif X END-of-lang/qscheme/files/patch-s.h echo x - lang/qscheme/files/patch-configure sed 's/^X//' >lang/qscheme/files/patch-configure << 'END-of-lang/qscheme/files/patch-configure' X--- configure.orig Thu Jun 22 06:09:24 2000 X+++ configure Sun Feb 10 12:51:27 2002 X@@ -1288,55 +1288,6 @@ X rm -fr conftest* X fi X X- X-echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 X-echo "configure:1294: checking for dlopen in -ldl" >&5 X-ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` X-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then X- echo $ac_n "(cached) $ac_c" 1>&6 X-else X- ac_save_LIBS="$LIBS" X-LIBS="-ldl $LIBS" X-cat > conftest.$ac_ext <<EOF X-#line 1302 "configure" X-#include "confdefs.h" X-/* Override any gcc2 internal prototype to avoid an error. */ X-/* We use char because int might match the return type of a gcc2 X- builtin and then its argument prototype would still apply. */ X-char dlopen(); X- X-int main() { X-dlopen() X-; return 0; } X-EOF X-if { (eval echo configure:1313: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then X- rm -rf conftest* X- eval "ac_cv_lib_$ac_lib_var=yes" X-else X- echo "configure: failed program was:" >&5 X- cat conftest.$ac_ext >&5 X- rm -rf conftest* X- eval "ac_cv_lib_$ac_lib_var=no" X-fi X-rm -f conftest* X-LIBS="$ac_save_LIBS" X- X-fi X-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then X- echo "$ac_t""yes" 1>&6 X- ac_tr_lib=HAVE_LIB`echo dl | sed -e 's/[^a-zA-Z0-9_]/_/g' \ X- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` X- cat >> confdefs.h <<EOF X-#define $ac_tr_lib 1 X-EOF X- X- LIBS="-ldl $LIBS" X- X-else X- echo "$ac_t""no" 1>&6 X-{ echo "configure: error: needs libdl" 1>&2; exit 1; } X-fi X- X echo $ac_n "checking for atan in -lm""... $ac_c" 1>&6 X echo "configure:1342: checking for atan in -lm" >&5 X ac_lib_var=`echo m'_'atan | sed 'y%./+-%__p_%'` X@@ -1385,14 +1336,14 @@ X { echo "configure: error: needs libm" 1>&2; exit 1; } X fi X X-echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6 X-echo "configure:1390: checking for pthread_create in -lpthread" >&5 X+echo $ac_n "checking for pthread_create in -pthread""... $ac_c" 1>&6 X+echo "configure:1390: checking for pthread_create in -pthread" >&5 X ac_lib_var=`echo pthread'_'pthread_create | sed 'y%./+-%__p_%'` X if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then X echo $ac_n "(cached) $ac_c" 1>&6 X else X ac_save_LIBS="$LIBS" X-LIBS="-lpthread $LIBS" X+LIBS="-pthread $LIBS" X cat > conftest.$ac_ext <<EOF X #line 1398 "configure" X #include "confdefs.h" X@@ -1426,7 +1377,7 @@ X #define $ac_tr_lib 1 X EOF X X- LIBS="-lpthread $LIBS" X+ LIBS="-pthread -L/usr/local/lib -lgetline $LIBS" X X else X echo "$ac_t""no" 1>&6 X@@ -2485,7 +2436,7 @@ X ac_given_srcdir=$srcdir X ac_given_INSTALL="$INSTALL" X X-trap 'rm -fr `echo "Makefile tst/Makefile doc/Makefile sgtk/Makefile config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 X+trap 'rm -fr `echo "Makefile tst/Makefile doc/Makefile config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 X EOF X cat >> $CONFIG_STATUS <<EOF X X@@ -2585,7 +2536,7 @@ X X cat >> $CONFIG_STATUS <<EOF X X-CONFIG_FILES=\${CONFIG_FILES-"Makefile tst/Makefile doc/Makefile sgtk/Makefile"} X+CONFIG_FILES=\${CONFIG_FILES-"Makefile tst/Makefile doc/Makefile"} X EOF X cat >> $CONFIG_STATUS <<\EOF X for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then END-of-lang/qscheme/files/patch-configure echo x - lang/qscheme/files/patch-Makefile.in sed 's/^X//' >lang/qscheme/files/patch-Makefile.in << 'END-of-lang/qscheme/files/patch-Makefile.in' X--- Makefile.in.orig Sun Feb 10 12:52:32 2002 X+++ Makefile.in Sun Feb 10 12:52:37 2002 X@@ -111,7 +111,7 @@ X EXTRA_DIST = mkoptable mkwhatis $(modsrc) $(scmsrc) CHANGES LICENCE_EXCEPTION X X # other directories X-SUBDIRS = . doc sgtk X+SUBDIRS = . doc X X noinst_LIBRARIES = libqs.a X END-of-lang/qscheme/files/patch-Makefile.in echo x - lang/qscheme/files/patch-s.scm sed 's/^X//' >lang/qscheme/files/patch-s.scm << 'END-of-lang/qscheme/files/patch-s.scm' X--- s.scm.orig Thu Dec 6 04:56:07 2001 X+++ s.scm Thu Dec 6 04:56:26 2001 X@@ -252,7 +252,26 @@ X (define hset! hash-set!) X X ; General purpose functions X-(load "sgtk/defextern.scm") X+;(load "sgtk/defextern.scm") X+ X+(define *lib* "") X+ X+(define-macro (extern type name . args) X+ `(make-extfunc *lib* ,type ,(symbol->string name) (quote ,@args))) X+ X+; simplified exteral declarator: X+; X+; (define-extern :RETURN-TYPE CFUNC-NAME :ARG1 :ARG2... [. :ANY]) X+; X+(define (cname->scheme x) X+ (string->symbol (string-translate (symbol->string x) "_" "-"))) X+ X+(define-macro (define-extern t n . a) X+; (write X+ `(define ,(cname->scheme n) X+ (make-extfunc *lib* ,t ,(symbol->string n) (quote ,a)))) X+; ) X+ X X ;; (load "repl.scm") X END-of-lang/qscheme/files/patch-s.scm exit >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200202161559.g1GFxtv68371>