Skip site navigation (1)Skip section navigation (2)
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>