diff options
author | itojun <itojun@pkgsrc.org> | 2000-11-02 11:01:53 +0000 |
---|---|---|
committer | itojun <itojun@pkgsrc.org> | 2000-11-02 11:01:53 +0000 |
commit | 4d7f3ae1871248de5811489b3e332ab07451addb (patch) | |
tree | 3a1046204c65509e09e5e412dcb711c53b828aeb /lang/vscm | |
parent | d05f70015f74ac2430b3e1a7a0ac09753e4cb8d0 (diff) | |
download | pkgsrc-4d7f3ae1871248de5811489b3e332ab07451addb.tar.gz |
vscm, a portable scheme implementation
Diffstat (limited to 'lang/vscm')
-rw-r--r-- | lang/vscm/Makefile | 27 | ||||
-rw-r--r-- | lang/vscm/files/md5 | 4 | ||||
-rw-r--r-- | lang/vscm/files/patch-sum | 5 | ||||
-rw-r--r-- | lang/vscm/files/path.h | 2 | ||||
-rw-r--r-- | lang/vscm/patches/patch-aa | 54 | ||||
-rw-r--r-- | lang/vscm/patches/patch-ab | 9 | ||||
-rw-r--r-- | lang/vscm/patches/patch-ac | 13 | ||||
-rw-r--r-- | lang/vscm/pkg/COMMENT | 1 | ||||
-rw-r--r-- | lang/vscm/pkg/DESCR | 8 | ||||
-rw-r--r-- | lang/vscm/pkg/PLIST | 5 |
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 |