Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Dec 2001 14:45:34 -0600 (CST)
From:      Erik Greenwald <erik@smluc.org>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   ports/32565: New port: QScheme scheme interpretor
Message-ID:  <200112062045.fB6KjYW19717@csc.smsu.edu>

next in thread | raw e-mail | index | archive | help

>Number:         32565
>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:   Thu Dec 06 12:50:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Erik Greenwald
>Release:        FreeBSD 4.2-RELEASE i386 (and -current)
>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/
#	lang/qscheme/pkg-plist
#	lang/qscheme/pkg-descr
#	lang/qscheme/pkg-comment
#	lang/qscheme/distinfo
#	lang/qscheme/Makefile
#	lang/qscheme/files
#	lang/qscheme/files/patch-configure.in
#	lang/qscheme/files/patch-s.h
#	lang/qscheme/files/patch-s.scm
#	lang/qscheme/files/patch-Makefile.am
#
echo c - lang/qscheme/
mkdir -p lang/qscheme/ > /dev/null 2>&1
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
X@dirrm share/qscheme/0.5.1
X@dirrm share/qscheme
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
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
Xpre-configure:
X	cd ${WRKSRC} && aclocal && autoheader && aclocal && automake -c -a && autoconf
X
X.include <bsd.port.mk>
END-of-lang/qscheme/Makefile
echo c - lang/qscheme/files
mkdir -p lang/qscheme/files > /dev/null 2>&1
echo x - lang/qscheme/files/patch-configure.in
sed 's/^X//' >lang/qscheme/files/patch-configure.in << 'END-of-lang/qscheme/files/patch-configure.in'
X--- configure.in.orig	Thu Jun 22 06:09:16 2000
X+++ configure.in	Thu Dec  6 04:36:35 2001
X@@ -52,9 +52,10 @@
X 	AC_MSG_ERROR(no cross compilation support))
X 
X dnl Checks for libraries.
X-AC_CHECK_LIB(dl,dlopen,,AC_MSG_ERROR(needs libdl))
X+dnl AC_CHECK_LIB(dl,dlopen,,AC_MSG_ERROR(needs libdl))
X AC_CHECK_LIB(m,atan,,AC_MSG_ERROR(needs libm))
X-AC_CHECK_LIB(pthread,pthread_create)
X+dnl AC_CHECK_LIB(pthread,pthread_create)
X+LIBS="$LIBS -pthread -L/usr/local/lib -lgetline"
X 
X dnl AC_CHECK_LIB(avcall,__builtin_avcall,,AC_MSG_ERROR(needs libavcall))
X dnl AC_CHECK_LIB(pcre,pcre_compile,,AC_MSG_ERROR(needs libpcre))
X@@ -220,13 +221,9 @@
X 	:,enableval=yes)
X 
X if test "x$enableval" = xyes; then
X-	if test "x$ac_cv_lib_pthread_pthread_create" = xyes; then
X 		AC_DEFINE(SCM_WITH_THREADS, 1, [support for multi threading])
X 		AC_DEFINE(_REENTRANT,1, [use threading])
X 		AC_DEFINE(_GNU_SOURCE,1, [use gnu source])
X-	else
X-		AC_MSG_ERROR(threading requires POSIX threads library)
X-	fi
X fi
X 
X dnl export the default lib path, based on datadir
X@@ -240,4 +237,4 @@
X 		  "$SCM_DEFAULT_LIB_PATH",
X 		  [the default path where to search for libs])
X 
X-AC_OUTPUT(Makefile tst/Makefile doc/Makefile sgtk/Makefile)
X+AC_OUTPUT(Makefile tst/Makefile doc/Makefile)
END-of-lang/qscheme/files/patch-configure.in
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	Thu Jun 15 16:15:42 2000
X+++ s.h	Thu Dec  6 10:55:29 2001
X@@ -20,13 +20,9 @@
X #include <limits.h>
X 
X #ifdef SCM_WITH_THREADS
X-# ifdef HAVE_LIBPTHREAD
X # include <pthread.h>
X # include <semaphore.h>
X # include <signal.h>
X-# else
X-# error "No posix threads found"
X-# endif
X #endif
X 
X #include <gmp.h>
X@@ -203,7 +199,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-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
echo x - lang/qscheme/files/patch-Makefile.am
sed 's/^X//' >lang/qscheme/files/patch-Makefile.am << 'END-of-lang/qscheme/files/patch-Makefile.am'
X--- Makefile.am.orig	Thu Jun 22 17:37:42 2000
X+++ Makefile.am	Thu Dec  6 04:51:57 2001
X@@ -42,7 +42,7 @@
X EXTRA_DIST = mkoptable mkwhatis $(modsrc) $(scmsrc) CHANGES LICENCE_EXCEPTION
X 
X # other directories
X-SUBDIRS = . doc sgtk
X+SUBDIRS = .
X 
X noinst_LIBRARIES = libqs.a
X 
X@@ -85,8 +85,8 @@
X 	touch $(distdir)/sproto.h
X 
X # force the x bit on the shared libraries
X-install-data-local:
X-	chmod +x $(shared_dir)/*.so
X+#install-data-local:
X+#	chmod +x $(shared_dir)/*.so
X 
X whatis: whatis.qs
X 
END-of-lang/qscheme/files/patch-Makefile.am
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?200112062045.fB6KjYW19717>