From owner-freebsd-ports Thu Dec 6 12:50:44 2001 Delivered-To: freebsd-ports@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 99D6837B41D for ; Thu, 6 Dec 2001 12:50:01 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id fB6Ko1280335; Thu, 6 Dec 2001 12:50:01 -0800 (PST) (envelope-from gnats) Received: from csc.smsu.edu (csc.smsu.edu [146.7.45.212]) by hub.freebsd.org (Postfix) with ESMTP id D905837B419 for ; Thu, 6 Dec 2001 12:45:34 -0800 (PST) Received: (from greenwald@localhost) by csc.smsu.edu (8.11.1/8.11.1) id fB6KjYW19717; Thu, 6 Dec 2001 14:45:34 -0600 (CST) (envelope-from greenwald) Message-Id: <200112062045.fB6KjYW19717@csc.smsu.edu> Date: Thu, 6 Dec 2001 14:45:34 -0600 (CST) From: Erik Greenwald Reply-To: Erik Greenwald To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: ports/32565: New port: QScheme scheme interpretor Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >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 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 X X #ifdef SCM_WITH_THREADS X-# ifdef HAVE_LIBPTHREAD X # include X # include X # include X-# else X-# error "No posix threads found" X-# endif X #endif X X #include 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