diff options
author | will <will@FreeBSD.org> | 2002-06-27 22:32:30 +0800 |
---|---|---|
committer | will <will@FreeBSD.org> | 2002-06-27 22:32:30 +0800 |
commit | b622a506453fdb027cc659e558df7885166ba80e (patch) | |
tree | 86cde97b2362e28d94693ae1c26f8adf9c330ab7 /lang | |
parent | c801b903464d8f1ad23cfa270912c5938e81aef8 (diff) | |
download | freebsd-ports-gnome-b622a506453fdb027cc659e558df7885166ba80e.tar.gz freebsd-ports-gnome-b622a506453fdb027cc659e558df7885166ba80e.tar.zst freebsd-ports-gnome-b622a506453fdb027cc659e558df7885166ba80e.zip |
Add qscheme 0.5.1, a small and fast Scheme interpreter.
PR: 34999
Submitted by: erik@smluc.org
Diffstat (limited to 'lang')
-rw-r--r-- | lang/Makefile | 1 | ||||
-rw-r--r-- | lang/qscheme/Makefile | 29 | ||||
-rw-r--r-- | lang/qscheme/distinfo | 1 | ||||
-rw-r--r-- | lang/qscheme/files/patch-Makefile.in | 11 | ||||
-rw-r--r-- | lang/qscheme/files/patch-configure | 103 | ||||
-rw-r--r-- | lang/qscheme/files/patch-s.h | 11 | ||||
-rw-r--r-- | lang/qscheme/files/patch-s.scm | 30 | ||||
-rw-r--r-- | lang/qscheme/pkg-comment | 1 | ||||
-rw-r--r-- | lang/qscheme/pkg-descr | 12 | ||||
-rw-r--r-- | lang/qscheme/pkg-plist | 47 |
10 files changed, 246 insertions, 0 deletions
diff --git a/lang/Makefile b/lang/Makefile index 26ff5dab808a..fb91e3642191 100644 --- a/lang/Makefile +++ b/lang/Makefile @@ -151,6 +151,7 @@ SUBDIR += python15 SUBDIR += python20 SUBDIR += python21 + SUBDIR += qscheme SUBDIR += ratfor SUBDIR += rexx-imc SUBDIR += rotfl diff --git a/lang/qscheme/Makefile b/lang/qscheme/Makefile new file mode 100644 index 000000000000..738bd4b3871a --- /dev/null +++ b/lang/qscheme/Makefile @@ -0,0 +1,29 @@ +# New ports collection makefile for: qscheme +# Date created: 6 Dec 2001 +# Whom: erik@smluc.org +# +# $FreeBSD$ +# + +PORTNAME= qscheme +PORTVERSION= 0.5.1 +CATEGORIES= lang +MASTER_SITES= http://www.sof.ch/dan/qscheme/files/ + +MAINTAINER= erik@smluc.org + +BUILD_DEPENDS= ${LOCALBASE}/lib/libavcall.a:${PORTSDIR}/devel/ffcall\ + ${LOCALBASE}/lib/libpcre.a:${PORTSDIR}/devel/pcre +LIB_DEPENDS= getline:${PORTSDIR}/devel/libgetline + +GNU_CONFIGURE= yes +USE_GMAKE= yes +#USE_AUTOCONF= yes +PLIST_SUB+= PORTVERSION="${PORTVERSION}" + +CONFIGURE_ARGS= --with-pcre-dir=${LOCALBASE}/lib \ + --with-pcre-inc=${LOCALBASE}/include \ + --with-avcall-dir=${LOCALBASE}/lib \ + --with-avcall-inc=${LOCALBASE}/include + +.include <bsd.port.mk> diff --git a/lang/qscheme/distinfo b/lang/qscheme/distinfo new file mode 100644 index 000000000000..1bf9e622a969 --- /dev/null +++ b/lang/qscheme/distinfo @@ -0,0 +1 @@ +MD5 (qscheme-0.5.1.tar.gz) = 9bb70c527033b04a86320f39d16802fe diff --git a/lang/qscheme/files/patch-Makefile.in b/lang/qscheme/files/patch-Makefile.in new file mode 100644 index 000000000000..6bffee35418c --- /dev/null +++ b/lang/qscheme/files/patch-Makefile.in @@ -0,0 +1,11 @@ +--- Makefile.in.orig Sun Feb 10 12:52:32 2002 ++++ Makefile.in Sun Feb 10 12:52:37 2002 +@@ -111,7 +111,7 @@ + EXTRA_DIST = mkoptable mkwhatis $(modsrc) $(scmsrc) CHANGES LICENCE_EXCEPTION + + # other directories +-SUBDIRS = . doc sgtk ++SUBDIRS = . doc + + noinst_LIBRARIES = libqs.a + diff --git a/lang/qscheme/files/patch-configure b/lang/qscheme/files/patch-configure new file mode 100644 index 000000000000..e639d2ff9386 --- /dev/null +++ b/lang/qscheme/files/patch-configure @@ -0,0 +1,103 @@ +--- configure.orig Thu Jun 22 06:09:24 2000 ++++ configure Sun Feb 10 12:51:27 2002 +@@ -1288,55 +1288,6 @@ + rm -fr conftest* + fi + +- +-echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 +-echo "configure:1294: checking for dlopen in -ldl" >&5 +-ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` +-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then +- echo $ac_n "(cached) $ac_c" 1>&6 +-else +- ac_save_LIBS="$LIBS" +-LIBS="-ldl $LIBS" +-cat > conftest.$ac_ext <<EOF +-#line 1302 "configure" +-#include "confdefs.h" +-/* Override any gcc2 internal prototype to avoid an error. */ +-/* We use char because int might match the return type of a gcc2 +- builtin and then its argument prototype would still apply. */ +-char dlopen(); +- +-int main() { +-dlopen() +-; return 0; } +-EOF +-if { (eval echo configure:1313: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +- rm -rf conftest* +- eval "ac_cv_lib_$ac_lib_var=yes" +-else +- echo "configure: failed program was:" >&5 +- cat conftest.$ac_ext >&5 +- rm -rf conftest* +- eval "ac_cv_lib_$ac_lib_var=no" +-fi +-rm -f conftest* +-LIBS="$ac_save_LIBS" +- +-fi +-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then +- echo "$ac_t""yes" 1>&6 +- ac_tr_lib=HAVE_LIB`echo dl | sed -e 's/[^a-zA-Z0-9_]/_/g' \ +- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` +- cat >> confdefs.h <<EOF +-#define $ac_tr_lib 1 +-EOF +- +- LIBS="-ldl $LIBS" +- +-else +- echo "$ac_t""no" 1>&6 +-{ echo "configure: error: needs libdl" 1>&2; exit 1; } +-fi +- + echo $ac_n "checking for atan in -lm""... $ac_c" 1>&6 + echo "configure:1342: checking for atan in -lm" >&5 + ac_lib_var=`echo m'_'atan | sed 'y%./+-%__p_%'` +@@ -1385,14 +1336,14 @@ + { echo "configure: error: needs libm" 1>&2; exit 1; } + fi + +-echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6 +-echo "configure:1390: checking for pthread_create in -lpthread" >&5 ++echo $ac_n "checking for pthread_create in -pthread""... $ac_c" 1>&6 ++echo "configure:1390: checking for pthread_create in -pthread" >&5 + ac_lib_var=`echo pthread'_'pthread_create | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + ac_save_LIBS="$LIBS" +-LIBS="-lpthread $LIBS" ++LIBS="-pthread $LIBS" + cat > conftest.$ac_ext <<EOF + #line 1398 "configure" + #include "confdefs.h" +@@ -1426,7 +1377,7 @@ + #define $ac_tr_lib 1 + EOF + +- LIBS="-lpthread $LIBS" ++ LIBS="-pthread -L/usr/local/lib -lgetline $LIBS" + + else + echo "$ac_t""no" 1>&6 +@@ -2485,7 +2436,7 @@ + ac_given_srcdir=$srcdir + ac_given_INSTALL="$INSTALL" + +-trap 'rm -fr `echo "Makefile tst/Makefile doc/Makefile sgtk/Makefile config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 ++trap 'rm -fr `echo "Makefile tst/Makefile doc/Makefile config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 + EOF + cat >> $CONFIG_STATUS <<EOF + +@@ -2585,7 +2536,7 @@ + + cat >> $CONFIG_STATUS <<EOF + +-CONFIG_FILES=\${CONFIG_FILES-"Makefile tst/Makefile doc/Makefile sgtk/Makefile"} ++CONFIG_FILES=\${CONFIG_FILES-"Makefile tst/Makefile doc/Makefile"} + EOF + cat >> $CONFIG_STATUS <<\EOF + for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then diff --git a/lang/qscheme/files/patch-s.h b/lang/qscheme/files/patch-s.h new file mode 100644 index 000000000000..984d85b343ed --- /dev/null +++ b/lang/qscheme/files/patch-s.h @@ -0,0 +1,11 @@ +--- s.h.orig Sun Feb 10 12:45:20 2002 ++++ s.h Sun Feb 10 12:45:32 2002 +@@ -203,7 +203,7 @@ + + #ifdef SCM_WITH_THREADS + /*** same as in Boehm's GC */ +-#define SCM_SIG_SUSPEND SIGPWR ++#define SCM_SIG_SUSPEND SIGUSR1 + #define SCM_SIG_RESUME SIGXCPU + #endif + diff --git a/lang/qscheme/files/patch-s.scm b/lang/qscheme/files/patch-s.scm new file mode 100644 index 000000000000..9d987fc3dcd0 --- /dev/null +++ b/lang/qscheme/files/patch-s.scm @@ -0,0 +1,30 @@ +--- s.scm.orig Thu Dec 6 04:56:07 2001 ++++ s.scm Thu Dec 6 04:56:26 2001 +@@ -252,7 +252,26 @@ + (define hset! hash-set!) + + ; General purpose functions +-(load "sgtk/defextern.scm") ++;(load "sgtk/defextern.scm") ++ ++(define *lib* "") ++ ++(define-macro (extern type name . args) ++ `(make-extfunc *lib* ,type ,(symbol->string name) (quote ,@args))) ++ ++; simplified exteral declarator: ++; ++; (define-extern :RETURN-TYPE CFUNC-NAME :ARG1 :ARG2... [. :ANY]) ++; ++(define (cname->scheme x) ++ (string->symbol (string-translate (symbol->string x) "_" "-"))) ++ ++(define-macro (define-extern t n . a) ++; (write ++ `(define ,(cname->scheme n) ++ (make-extfunc *lib* ,t ,(symbol->string n) (quote ,a)))) ++; ) ++ + + ;; (load "repl.scm") + diff --git a/lang/qscheme/pkg-comment b/lang/qscheme/pkg-comment new file mode 100644 index 000000000000..1ff0e9920511 --- /dev/null +++ b/lang/qscheme/pkg-comment @@ -0,0 +1 @@ +A small and fast Scheme interpreter diff --git a/lang/qscheme/pkg-descr b/lang/qscheme/pkg-descr new file mode 100644 index 000000000000..7cdac23ef041 --- /dev/null +++ b/lang/qscheme/pkg-descr @@ -0,0 +1,12 @@ +QScheme is a fast and small implementation of Scheme written in C. QScheme is +easy to interface and should be easy to use as an extension language. + +QScheme currently supports foreign function call and dynamic library. A perl +like regular expression module is provided as example. + +QScheme is really fast: benchmarks (still a little old) shows that it is +generaly between 2 and 70 times faster than other scheme interpreters. + +Documentation and GTK support has been disabled in this port. + +WWW: http://www.sof.ch/dan/qscheme/index-e.html diff --git a/lang/qscheme/pkg-plist b/lang/qscheme/pkg-plist new file mode 100644 index 000000000000..2c9bddb65197 --- /dev/null +++ b/lang/qscheme/pkg-plist @@ -0,0 +1,47 @@ +bin/qscheme +share/qscheme/%%PORTVERSION%%/regex.so +share/qscheme/%%PORTVERSION%%/object.so +share/qscheme/%%PORTVERSION%%/process.so +share/qscheme/%%PORTVERSION%%/struct.so +share/qscheme/%%PORTVERSION%%/socket.so +share/qscheme/%%PORTVERSION%%/unix.so +share/qscheme/%%PORTVERSION%%/s.scm +share/qscheme/%%PORTVERSION%%/macro.scm +share/qscheme/%%PORTVERSION%%/loop.scm +share/qscheme/%%PORTVERSION%%/wloop.scm +share/qscheme/%%PORTVERSION%%/fib.scm +share/qscheme/%%PORTVERSION%%/cat.scm +share/qscheme/%%PORTVERSION%%/doc/s.dvi +share/qscheme/%%PORTVERSION%%/doc/s.ps +share/qscheme/%%PORTVERSION%%/doc/html/WARNINGS +share/qscheme/%%PORTVERSION%%/doc/html/footnode.html +share/qscheme/%%PORTVERSION%%/doc/html/images.aux +share/qscheme/%%PORTVERSION%%/doc/html/images.log +share/qscheme/%%PORTVERSION%%/doc/html/images.pl +share/qscheme/%%PORTVERSION%%/doc/html/images.tex +share/qscheme/%%PORTVERSION%%/doc/html/img1.png +share/qscheme/%%PORTVERSION%%/doc/html/img2.png +share/qscheme/%%PORTVERSION%%/doc/html/index.html +share/qscheme/%%PORTVERSION%%/doc/html/internals.pl +share/qscheme/%%PORTVERSION%%/doc/html/labels.pl +share/qscheme/%%PORTVERSION%%/doc/html/node1.html +share/qscheme/%%PORTVERSION%%/doc/html/node10.html +share/qscheme/%%PORTVERSION%%/doc/html/node11.html +share/qscheme/%%PORTVERSION%%/doc/html/node12.html +share/qscheme/%%PORTVERSION%%/doc/html/node13.html +share/qscheme/%%PORTVERSION%%/doc/html/node14.html +share/qscheme/%%PORTVERSION%%/doc/html/node15.html +share/qscheme/%%PORTVERSION%%/doc/html/node2.html +share/qscheme/%%PORTVERSION%%/doc/html/node3.html +share/qscheme/%%PORTVERSION%%/doc/html/node4.html +share/qscheme/%%PORTVERSION%%/doc/html/node5.html +share/qscheme/%%PORTVERSION%%/doc/html/node6.html +share/qscheme/%%PORTVERSION%%/doc/html/node7.html +share/qscheme/%%PORTVERSION%%/doc/html/node8.html +share/qscheme/%%PORTVERSION%%/doc/html/node9.html +share/qscheme/%%PORTVERSION%%/doc/html/s.css +share/qscheme/%%PORTVERSION%%/doc/html/s.html +@dirrm share/qscheme/%%PORTVERSION%%/doc/html +@dirrm share/qscheme/%%PORTVERSION%%/doc +@dirrm share/qscheme/%%PORTVERSION%% +@dirrm share/qscheme |