pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/scm You can never have enough scheme interpreters.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/eebec98a2829
branches:  trunk
changeset: 462508:eebec98a2829
user:      agc <agc%pkgsrc.org@localhost>
date:      Sat Oct 04 20:31:23 2003 +0000

description:
You can never have enough scheme interpreters.

Initial import of scm-5d8 into the NetBSD Packages Collection. Provided in
PR 22186 by David S., modified slighly by myself.

Scm is a portable R5RS Scheme implementation written in C.
    * Support for SICP, R2RS, R3RS, and R5RS scheme code.
    * Is fully documented in TeXinfo form, allowing documentation to be
      generated in info, TeX, html, nroff, and troff formats.
    * Supports inexact real and complex numbers, 30 bit immediate integers
        and large precision integers.
    * Many Common Lisp functions: logand, logor, logxor, lognot, ash,
        logcount, integer-length, bit-extract, defmacro, macroexpand,
        macroexpand1, gentemp, defvar, force-output, software-type,
        get-decoded-time, get-internal-run-time, get-internal-real-time,
        delete-file, rename-file, copy-tree, acons, and eval.
    * Char-code-limit, most-positive-fixnum, most-negative-fixnum, and
        internal-time-units-per-second constants. *Features* and
        *load-pathname* variables.
    * Arrays and bit-vectors. String ports and software emulation ports.
        I/O extensions providing ANSI C and POSIX.1 facilities.
    * Interfaces to standard libraries
    * Available add-on packages including an interactive debugger, database,
        X-window graphics, BGI graphics, Motif, and Open-Windows packages.
    * A compiler (HOBBIT) and dynamic linking of compiled modules.
    * User definable responses to interrupts and errors,
        Process-syncronization primitives. Setable levels of monitoring
        and timing information printed interactively (the verbose function).

diffstat:

 lang/scm/DESCR             |  23 +++++++++++++++++++++
 lang/scm/Makefile          |  44 +++++++++++++++++++++++++++++++++++++++++
 lang/scm/PLIST             |  35 ++++++++++++++++++++++++++++++++
 lang/scm/distinfo          |   6 +++++
 lang/scm/files/buildscm.sh |  23 +++++++++++++++++++++
 lang/scm/files/require.scm |   2 +
 lang/scm/patches/patch-aa  |  49 ++++++++++++++++++++++++++++++++++++++++++++++
 lang/scm/patches/patch-ab  |  13 ++++++++++++
 8 files changed, 195 insertions(+), 0 deletions(-)

diffs (227 lines):

diff -r e178b8b12186 -r eebec98a2829 lang/scm/DESCR
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/scm/DESCR    Sat Oct 04 20:31:23 2003 +0000
@@ -0,0 +1,23 @@
+Scm is a portable R5RS Scheme implementation written in C.
+    * Support for SICP, R2RS, R3RS, and R5RS scheme code.
+    * Is fully documented in TeXinfo form, allowing documentation to be
+      generated in info, TeX, html, nroff, and troff formats.
+    * Supports inexact real and complex numbers, 30 bit immediate integers 
+       and large precision integers.
+    * Many Common Lisp functions: logand, logor, logxor, lognot, ash, 
+       logcount, integer-length, bit-extract, defmacro, macroexpand, 
+       macroexpand1, gentemp, defvar, force-output, software-type, 
+       get-decoded-time, get-internal-run-time, get-internal-real-time, 
+       delete-file, rename-file, copy-tree, acons, and eval.
+    * Char-code-limit, most-positive-fixnum, most-negative-fixnum, and 
+       internal-time-units-per-second constants. *Features* and 
+       *load-pathname* variables.
+    * Arrays and bit-vectors. String ports and software emulation ports. 
+       I/O extensions providing ANSI C and POSIX.1 facilities.
+    * Interfaces to standard libraries
+    * Available add-on packages including an interactive debugger, database,
+       X-window graphics, BGI graphics, Motif, and Open-Windows packages.
+    * A compiler (HOBBIT) and dynamic linking of compiled modules.
+    * User definable responses to interrupts and errors, 
+       Process-syncronization primitives. Setable levels of monitoring 
+       and timing information printed interactively (the verbose function). 
diff -r e178b8b12186 -r eebec98a2829 lang/scm/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/scm/Makefile Sat Oct 04 20:31:23 2003 +0000
@@ -0,0 +1,44 @@
+# $NetBSD: Makefile,v 1.1.1.1 2003/10/04 20:31:23 agc Exp $
+#
+
+DISTNAME=      scm5d8
+PKGNAME=       scm-5d8
+CATEGORIES=    lang
+MASTER_SITES=  http://swissnet.ai.mit.edu/ftpdir/scm/
+EXTRACT_SUFX=  .zip
+
+MAINTAINER=    davids%idiom.com@localhost
+HOMEPAGE=      http://www.swiss.ai.mit.edu/~jaffer/SCM.html
+COMMENT=       Portable scheme interpreter
+
+DEPENDS+=      slib>=2.4.6:../../devel/slib
+
+USE_GMAKE=     # defined
+USE_X11=       # defined
+
+WRKSRC=                ${WRKDIR}/scm
+
+ALL_TARGET=    scmlit libscm.a
+INSTALL_TARGET=        install installlib
+
+INFO_FILES=    scm.info hobbit.info Xlibscm.info
+
+post-patch:
+       ${SED} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
+               < ${FILESDIR}/require.scm > ${WRKSRC}/require.scm
+
+post-build:
+       ${CAT} ${FILESDIR}/buildscm.sh \
+               | ${SED} -e 's|%%PREFIX%%|${PREFIX}|g' \
+               | ${SED} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
+               > ${WRKSRC}/buildscm.sh
+       cd ${WRKSRC} && ${SH} ./buildscm.sh
+
+post-install:
+       ${INSTALL_DATA} ${WRKSRC}/slibcat ${PREFIX}/share/scm
+       for f in ${INFO_FILES}; do                                      \
+               ${INSTALL_DATA} ${WRKSRC}/$$f ${PREFIX}/info;           \
+       done
+
+.include "../../devel/ncurses/buildlink2.mk"
+.include "../../mk/bsd.pkg.mk"
diff -r e178b8b12186 -r eebec98a2829 lang/scm/PLIST
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/scm/PLIST    Sat Oct 04 20:31:23 2003 +0000
@@ -0,0 +1,35 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2003/10/04 20:31:23 agc Exp $
+bin/scm
+bin/scmlit
+include/patchlvl.h
+include/scm.h
+include/scmfig.h
+include/scmflags.h
+include/scmhob.h
+info/Xlibscm.info
+info/hobbit.info
+info/scm.info
+lib/libscm.a
+man/man1/scm.1
+share/scm/COPYING
+share/scm/Iedline.scm
+share/scm/Init5d8.scm
+share/scm/Link.scm
+share/scm/Macexp.scm
+share/scm/Macro.scm
+share/scm/Transcen.scm
+share/scm/Tscript.scm
+share/scm/build
+share/scm/build.scm
+share/scm/compile.scm
+share/scm/hobbit.scm
+share/scm/keysymdef.scm
+share/scm/mkimpcat.scm
+share/scm/r4rstest.scm
+share/scm/require.scm
+share/scm/scmhob.scm
+share/scm/slibcat
+share/scm/x11.scm
+share/scm/xatoms.scm
+share/scm/xevent.scm
+@dirrm share/scm
diff -r e178b8b12186 -r eebec98a2829 lang/scm/distinfo
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/scm/distinfo Sat Oct 04 20:31:23 2003 +0000
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1.1.1 2003/10/04 20:31:23 agc Exp $
+
+SHA1 (scm5d8.zip) = cf2b6120d5096e7f4cb0c8fffb9d83cc6022216f
+Size (scm5d8.zip) = 835040 bytes
+SHA1 (patch-aa) = 8a47d342097d3030f7f31d0248b2f31a89b048ff
+SHA1 (patch-ab) = d6c19134cb99d6f4d847ff53c2d73f7ba847becd
diff -r e178b8b12186 -r eebec98a2829 lang/scm/files/buildscm.sh
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/scm/files/buildscm.sh        Sat Oct 04 20:31:23 2003 +0000
@@ -0,0 +1,23 @@
+#! /bin/sh
+# unix (unix) script created by SLIB/batch Thu Jul 17 21:20:04 2003
+# ================ Write file with C defines
+rm -f scmflags.h
+echo '#define IMPLINIT "%%PREFIX%%/share/scm/Init5d8.scm"'>>scmflags.h
+echo '#define INITS init_sc2();init_ramap();init_gsubr();init_ioext();init_posix();init_record();init_rgx();init_socket();init_unix();'>>scmflags.h
+echo '#define COMPILED_INITS init_edline();'>>scmflags.h
+echo '#define ARRAYS'>>scmflags.h
+echo '#define BIGNUMS'>>scmflags.h
+echo '#define CAUTIOUS'>>scmflags.h
+echo '#define CHEAP_CONTINUATIONS'>>scmflags.h
+echo '#define CAN_DUMP'>>scmflags.h
+echo '#define ENGNOT'>>scmflags.h
+echo '#define FLOATS'>>scmflags.h
+echo '#define MACRO'>>scmflags.h
+echo '#define CCLO'>>scmflags.h
+echo '#define TICKS'>>scmflags.h
+# ================ Compile C source files
+cc -O -c -Wall sc2.c ramap.c dynl.c edline.c gsubr.c ioext.c posix.c record.c rgx.c socket.c unix.c  continue.c scm.c scmmain.c findexec.c script.c time.c repl.c scl.c eval.c sys.c subr.c debug.c 
unif.c rope.c unexelf.c
+# ================ Link C object files
+mv -f scm scm~
+cc -o scm sc2.o ramap.o dynl.o edline.o gsubr.o ioext.o posix.o record.o rgx.o socket.o unix.o continue.o scm.o scmmain.o findexec.o script.o time.o repl.o scl.o eval.o sys.o subr.o debug.o unif.o 
rope.o unexelf.o -lm -ledit -ltermcap
+
diff -r e178b8b12186 -r eebec98a2829 lang/scm/files/require.scm
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/scm/files/require.scm        Sat Oct 04 20:31:23 2003 +0000
@@ -0,0 +1,2 @@
+(define (library-vicinity) "%%LOCALBASE%%/share/slib/")
+(load (in-vicinity (library-vicinity) "require"))
diff -r e178b8b12186 -r eebec98a2829 lang/scm/patches/patch-aa
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/scm/patches/patch-aa Sat Oct 04 20:31:23 2003 +0000
@@ -0,0 +1,49 @@
+$NetBSD: patch-aa,v 1.1.1.1 2003/10/04 20:31:23 agc Exp $
+
+--- Makefile.orig      2003-06-17 20:25:30.000000000 -0700
++++ Makefile
+@@ -92,7 +92,9 @@ ofiles = scm.o time.o repl.o scl.o sys.o
+ # ramap.o
+ ifiles = Init$(VERSION).scm Transcen.scm Link.scm Macro.scm Macexp.scm \
+       Tscript.scm compile.scm
+-hobfiles = hobbit.scm scmhob.scm scmhob.h
++hobsrcs = hobbit.scm scmhob.scm
++hobincs = scmhob.h
++hobfiles = $(hobsrcs) $(hobincs)
+ xafiles = xatoms.scm x11.scm xevent.scm keysymdef.scm
+ xfiles = x.c x.h xgen.scm xevent.h inc2scm $(xafiles)
+ 
+@@ -341,12 +343,12 @@ $(PREVDOCS)scm.info:     srcdir.mk Makefile
+ 
+ rpm_prefix=/usr/src/redhat/
+ 
+-prefix = /usr/local/
++prefix = $(PREFIX)/
+ exec_prefix = $(prefix)
+ # directory where `make install' will put executable.
+ bindir = $(exec_prefix)bin/
+ libdir = $(exec_prefix)lib/
+-libscmdir = $(libdir)scm/
++libscmdir = $(prefix)share/scm/
+ # directory where `make install' will put manual page.
+ mandir = $(prefix)man/
+ man1dir = $(mandir)man1/
+@@ -407,15 +409,15 @@ install: scm.1
+       -cp scm.1 $(man1dir)
+       test -d $(libdir) || mkdir $(libdir)
+       test -d $(libscmdir) || mkdir $(libscmdir)
+-      -cp $(ifiles) $(hobfiles) COPYING r4rstest.scm $(libscmdir)
++      -cp $(ifiles) $(hobsrcs) COPYING r4rstest.scm $(libscmdir)
+       test -f $(libscmdir)require.scm || \
+               cp requires.scm $(libscmdir)require.scm
+-      -cp build build.scm mkimpcat.scm Iedline.scm *.sl *.so patchlvl.h\
++      -cp build build.scm mkimpcat.scm Iedline.scm *.sl *.so \
+               $(xafiles) $(libscmdir)
+ 
+ installlib:
+       test -d $(includedir) || mkdir $(includedir)
+-      cp scm.h scmfig.h scmflags.h $(includedir)
++      cp scm.h scmfig.h scmflags.h patchlvl.h $(hobincs) $(includedir)
+       test -d $(libdir) || mkdir $(libdir)
+       cp libscm.a $(libdir)libscm.a
+ 
diff -r e178b8b12186 -r eebec98a2829 lang/scm/patches/patch-ab
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/scm/patches/patch-ab Sat Oct 04 20:31:23 2003 +0000
@@ -0,0 +1,13 @@
+$NetBSD: patch-ab,v 1.1.1.1 2003/10/04 20:31:23 agc Exp $
+
+--- socket.c.orig      2003-01-02 11:44:31.000000000 -0800
++++ socket.c
+@@ -146,7 +146,7 @@ SCM l_hostinfo(name)
+   struct in_addr inad;
+   char **argv;
+   int i = 0;
+-#ifndef linux
++#if !(defined(linux) || defined(__NetBSD__))
+   if UNBNDP(name) {
+     DEFER_INTS;
+     SYSCALL(entry = gethostent(););



Home | Main Index | Thread Index | Old Index