summaryrefslogtreecommitdiff
path: root/lang/vscm
diff options
context:
space:
mode:
authoritojun <itojun@pkgsrc.org>2000-11-02 11:01:53 +0000
committeritojun <itojun@pkgsrc.org>2000-11-02 11:01:53 +0000
commit4d7f3ae1871248de5811489b3e332ab07451addb (patch)
tree3a1046204c65509e09e5e412dcb711c53b828aeb /lang/vscm
parentd05f70015f74ac2430b3e1a7a0ac09753e4cb8d0 (diff)
downloadpkgsrc-4d7f3ae1871248de5811489b3e332ab07451addb.tar.gz
vscm, a portable scheme implementation
Diffstat (limited to 'lang/vscm')
-rw-r--r--lang/vscm/Makefile27
-rw-r--r--lang/vscm/files/md54
-rw-r--r--lang/vscm/files/patch-sum5
-rw-r--r--lang/vscm/files/path.h2
-rw-r--r--lang/vscm/patches/patch-aa54
-rw-r--r--lang/vscm/patches/patch-ab9
-rw-r--r--lang/vscm/patches/patch-ac13
-rw-r--r--lang/vscm/pkg/COMMENT1
-rw-r--r--lang/vscm/pkg/DESCR8
-rw-r--r--lang/vscm/pkg/PLIST5
10 files changed, 128 insertions, 0 deletions
diff --git a/lang/vscm/Makefile b/lang/vscm/Makefile
new file mode 100644
index 00000000000..c6533902a8b
--- /dev/null
+++ b/lang/vscm/Makefile
@@ -0,0 +1,27 @@
+# $NetBSD: Makefile,v 1.1.1.1 2000/11/02 11:01:53 itojun Exp $
+
+DISTNAME= vscmV0r4
+PKGNAME= vscm-0.4
+CATEGORIES= lang
+MASTER_SITES= ftp://ftp.cs.indiana.edu/pub/scheme-repository/imp/vscm/
+
+PATCHFILES= bugfix.txt
+PATCH_SITES= ${MASTER_SITES}
+
+MAINTAINER= packages@netbsd.org
+
+USE_GMAKE= yes
+
+post-patch:
+ ${SED} -e "s,@PREFIX@,${PREFIX}," <${FILESDIR}/path.h >${WRKSRC}/path.h
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/scheme ${PREFIX}/bin
+ ${MKDIR} ${PREFIX}/lib/vscm
+ ${INSTALL_DATA} ${WRKSRC}/.scheme-boot ${PREFIX}/lib/vscm/scheme-boot
+ ${MKDIR} ${PREFIX}/share/examples/vscm
+ for i in README INSTALL DESCRIPTION; do \
+ ${INSTALL_DATA} ${WRKSRC}/$$i ${PREFIX}/share/examples/vscm; \
+ done
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/lang/vscm/files/md5 b/lang/vscm/files/md5
new file mode 100644
index 00000000000..903dbcb5928
--- /dev/null
+++ b/lang/vscm/files/md5
@@ -0,0 +1,4 @@
+$NetBSD: md5,v 1.1.1.1 2000/11/02 11:01:53 itojun Exp $
+
+MD5 (vscmV0r4.tar.gz) = 4c05cc25ad619a4d620b303068ee67bd
+MD5 (bugfix.txt) = c9ae37d60b77bcdbe3e6f3723b810f69
diff --git a/lang/vscm/files/patch-sum b/lang/vscm/files/patch-sum
new file mode 100644
index 00000000000..75927cd504e
--- /dev/null
+++ b/lang/vscm/files/patch-sum
@@ -0,0 +1,5 @@
+$NetBSD: patch-sum,v 1.1.1.1 2000/11/02 11:01:53 itojun Exp $
+
+MD5 (patch-aa) = ae0294754c227077b253c20a58939bea
+MD5 (patch-ab) = 3a780ad4cf2330aa96a6d1f958644f75
+MD5 (patch-ac) = ffc049185e63e9f58ff7047fee8b5125
diff --git a/lang/vscm/files/path.h b/lang/vscm/files/path.h
new file mode 100644
index 00000000000..abe1a89a19b
--- /dev/null
+++ b/lang/vscm/files/path.h
@@ -0,0 +1,2 @@
+#define DEFAULT_BOOTFILE "@PREFIX@/lib/vscm/scheme-boot"
+#define DEFAULT_DUMP_PREFIX "#! @PREFIX@/bin/scheme -b"
diff --git a/lang/vscm/patches/patch-aa b/lang/vscm/patches/patch-aa
new file mode 100644
index 00000000000..cf57a49376c
--- /dev/null
+++ b/lang/vscm/patches/patch-aa
@@ -0,0 +1,54 @@
+$NetBSD: patch-aa,v 1.1.1.1 2000/11/02 11:01:53 itojun Exp $
+
+--- Numeric.c- Thu Nov 2 19:38:25 2000
++++ Numeric.c Thu Nov 2 19:38:38 2000
+@@ -504,7 +504,7 @@
+ }
+
+ static bigdig
+- qdiv (bigdig *a, bigreg b, bigdig *c, bigreg *r, int la)
++ qdiv__ (bigdig *a, bigreg b, bigdig *c, bigreg *r, int la)
+ {
+ int i;
+ bigreg d;
+@@ -937,11 +937,11 @@
+ (void) normalize (d, &ld, 0);
+ } else if (gcd [0] != 1) {
+ tmp_n = provide_bignum (tmp_n, &tmp_ln, ln);
+- if (qdiv (n, gcd [0], tmp_n, &r, ln) == 0)
++ if (qdiv__ (n, gcd [0], tmp_n, &r, ln) == 0)
+ --ln;
+ n = tmp_n;
+ tmp_d = provide_bignum (tmp_d, &tmp_ld, ld);
+- if (qdiv (d, gcd [0], tmp_d, &r, ld) == 0)
++ if (qdiv__ (d, gcd [0], tmp_d, &r, ld) == 0)
+ --ld;
+ d = tmp_d;
+ } else {
+@@ -1428,7 +1428,7 @@
+ tmp1_dig = provide_bignum (tmp1_dig, &tmp1_len, a->nlength);
+ tmp2_dig = provide_bignum (tmp2_dig, &tmp2_len, 1);
+ l1 = a->nlength;
+- qdiv (a->dig, a->dig [a->nlength], tmp1_dig, &rr, a->nlength);
++ qdiv__ (a->dig, a->dig [a->nlength], tmp1_dig, &rr, a->nlength);
+ tmp2_dig [0] = rr;
+ (void) normalize (tmp1_dig, &l1, 0);
+ r = tmp2_dig;
+@@ -1899,7 +1899,7 @@
+ bigdig_copy (a, tmp1_dig, la);
+ s = strg;
+ while (la > 1 || tmp1_dig [0] > 0) {
+- if (qdiv (tmp1_dig, 10000, tmp1_dig, &r, la) == 0)
++ if (qdiv__ (tmp1_dig, 10000, tmp1_dig, &r, la) == 0)
+ --la;
+ sprintf (buf, "%04u", (unsigned) r);
+ for (i = 3; i >= 0; i--)
+@@ -2729,7 +2729,7 @@
+ qq = ((ScmFixnum *) gcs3)->dig;
+ } else
+ qq = tmp1_dig = provide_bignum (tmp1_dig, &tmp1_len, lq);
+- if (qdiv (a->dig, b->dig [0], qq, &rr, lq) == 0)
++ if (qdiv__ (a->dig, b->dig [0], qq, &rr, lq) == 0)
+ --lq;
+ if (r != NULL) {
+ int sign = a->sign;
diff --git a/lang/vscm/patches/patch-ab b/lang/vscm/patches/patch-ab
new file mode 100644
index 00000000000..4d602b3ac6e
--- /dev/null
+++ b/lang/vscm/patches/patch-ab
@@ -0,0 +1,9 @@
+$NetBSD: patch-ab,v 1.1.1.1 2000/11/02 11:01:53 itojun Exp $
+
+--- Makefile Sat Aug 6 00:31:07 1994
++++ Makefile Thu Nov 2 19:41:00 2000
+@@ -415,3 +415,3 @@
+
+-scheme: $(OBJECTS) $(TMPLIBS)
++scheme: $(OBJECTS) non-ansi-lib $(TMPLIBS)
+ $(CC) -o scheme $(LDFLAGS) $(OBJECTS) $(LIBS) -lc $(TMPLIBS)
diff --git a/lang/vscm/patches/patch-ac b/lang/vscm/patches/patch-ac
new file mode 100644
index 00000000000..e67e677dc52
--- /dev/null
+++ b/lang/vscm/patches/patch-ac
@@ -0,0 +1,13 @@
+$NetBSD: patch-ac,v 1.1.1.1 2000/11/02 11:01:53 itojun Exp $
+
+--- main.c- Thu Nov 2 19:51:47 2000
++++ main.c Thu Nov 2 19:52:00 2000
+@@ -17,6 +17,8 @@
+ # include <string.h>
+ # include <errno.h>
+
++# include "path.h"
++
+ # include "main.h"
+ # include "storage.h"
+ # include "storext.h"
diff --git a/lang/vscm/pkg/COMMENT b/lang/vscm/pkg/COMMENT
new file mode 100644
index 00000000000..68984447073
--- /dev/null
+++ b/lang/vscm/pkg/COMMENT
@@ -0,0 +1 @@
+Portable scheme implementation
diff --git a/lang/vscm/pkg/DESCR b/lang/vscm/pkg/DESCR
new file mode 100644
index 00000000000..827e7ab2929
--- /dev/null
+++ b/lang/vscm/pkg/DESCR
@@ -0,0 +1,8 @@
+VSCM -- A portable Scheme implementation
+
+This is VSCM, a complete and portable implementation of Scheme
+according to R4RS (The ``Revised revised revised revised Report of the
+Algorithmic Language Scheme'').
+
+VSCM is based on a virtual machine written in ANSI C and on a
+bytecode-compiler written in Scheme itself.
diff --git a/lang/vscm/pkg/PLIST b/lang/vscm/pkg/PLIST
new file mode 100644
index 00000000000..338f00b4207
--- /dev/null
+++ b/lang/vscm/pkg/PLIST
@@ -0,0 +1,5 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2000/11/02 11:01:54 itojun Exp $
+bin/scheme
+lib/vscm/scheme-boot
+@dirrm lib/vscm
+@dirrm share/examples/vscm