summaryrefslogtreecommitdiff
path: root/lang/qscheme
diff options
context:
space:
mode:
authorWill Andrews <will@FreeBSD.org>2002-06-27 14:32:30 +0000
committerWill Andrews <will@FreeBSD.org>2002-06-27 14:32:30 +0000
commit1a388281f524ea046302e574bf981d1542f09d30 (patch)
tree8be62a37a000a94cb5ade5fdec0b4b4cdcd4dda0 /lang/qscheme
parentAdd durep 0.8, an utility for monitoring disk usage in a more visual (diff)
Add qscheme 0.5.1, a small and fast Scheme interpreter.
PR: 34999 Submitted by: erik@smluc.org
Notes
Notes: svn path=/head/; revision=62108
Diffstat (limited to 'lang/qscheme')
-rw-r--r--lang/qscheme/Makefile29
-rw-r--r--lang/qscheme/distinfo1
-rw-r--r--lang/qscheme/files/patch-Makefile.in11
-rw-r--r--lang/qscheme/files/patch-configure103
-rw-r--r--lang/qscheme/files/patch-s.h11
-rw-r--r--lang/qscheme/files/patch-s.scm30
-rw-r--r--lang/qscheme/pkg-comment1
-rw-r--r--lang/qscheme/pkg-descr12
-rw-r--r--lang/qscheme/pkg-plist47
9 files changed, 245 insertions, 0 deletions
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