summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoragc <agc>2002-01-15 20:08:43 +0000
committeragc <agc>2002-01-15 20:08:43 +0000
commit2a346c956435058cf3a57e678c6590ebfb11487c (patch)
tree5a0ab7666f24b47a77238e5c2e560b975fed9904
parent5cd992a5abfe3e2259c5e4c018cecc66b290dec3 (diff)
downloadpkgsrc-2a346c956435058cf3a57e678c6590ebfb11487c.tar.gz
Initial import of the Gwydion Dylan interpreter, version 2.3.6, into
the NetBSD Packages Collection. Dylan is an object-oriented, dynamic, infix, garbage-collected programming language with support for multiple inheritence, multiple dispatch (an advanced form of polymorphism), typed and untyped variables, closures and exceptions. Dylan also supports pattern-based hygenic macros. These allow you to define new control constructs and fully integrate them with the language. Dylan (theoretically) combines the performance of C or C++ with the rapid development of Perl and the expressiveness of LISP. It looks similar to C or Pascal, so experienced programmers can learn to write simple programs quickly. Gwydion Dylan provides two implementations of the Dylan programming language: Mindy and d2c. Mindy is bytecode compiler and interpreter, and d2c is a Dylan-to-C compiler. Mindy compiles programs quickly, but the resulting executables run slowly. On the other hand, d2c compiles programs slowly, but they run quickly. This package contains mindy. Gwydion Dylan was originally written by the Gwydion Group at CMU as part of a research project studying advanced hypercode development environments. It is now maintained by a group of volunteers. For just now, the only supported platform is NetBSD/i386, but they are fairly easy to add, so all contributions gratefully received.
-rw-r--r--lang/dylan-interpreter/DESCR21
-rw-r--r--lang/dylan-interpreter/Makefile10
-rw-r--r--lang/dylan-interpreter/Makefile.common42
-rw-r--r--lang/dylan-interpreter/PLIST48
-rw-r--r--lang/dylan-interpreter/distinfo11
-rw-r--r--lang/dylan-interpreter/patches/patch-aa33
-rw-r--r--lang/dylan-interpreter/patches/patch-ab12
-rw-r--r--lang/dylan-interpreter/patches/patch-ac28
-rw-r--r--lang/dylan-interpreter/patches/patch-ad13
-rw-r--r--lang/dylan-interpreter/patches/patch-ae23
-rw-r--r--lang/dylan-interpreter/patches/patch-af101
-rw-r--r--lang/dylan-interpreter/patches/patch-ag15
12 files changed, 357 insertions, 0 deletions
diff --git a/lang/dylan-interpreter/DESCR b/lang/dylan-interpreter/DESCR
new file mode 100644
index 00000000000..31447a63eb3
--- /dev/null
+++ b/lang/dylan-interpreter/DESCR
@@ -0,0 +1,21 @@
+Dylan is an object-oriented, dynamic, infix, garbage-collected
+programming language with support for multiple inheritence, multiple
+dispatch (an advanced form of polymorphism), typed and untyped
+variables, closures and exceptions. Dylan also supports pattern-based
+hygenic macros. These allow you to define new control constructs and
+fully integrate them with the language.
+
+Dylan (theoretically) combines the performance of C or C++ with the
+rapid development of Perl and the expressiveness of LISP. It looks
+similar to C or Pascal, so experienced programmers can learn to write
+simple programs quickly.
+
+Gwydion Dylan provides two implementations of the Dylan programming
+language: Mindy and d2c. Mindy is bytecode compiler and interpreter,
+and d2c is a Dylan-to-C compiler. Mindy compiles programs quickly,
+but the resulting executables run slowly. On the other hand, d2c
+compiles programs slowly, but they run quickly.
+
+Gwydion Dylan was originally written by the Gwydion Group at CMU as
+part of a research project studying advanced hypercode development
+environments. It is now maintained by a group of volunteers.
diff --git a/lang/dylan-interpreter/Makefile b/lang/dylan-interpreter/Makefile
new file mode 100644
index 00000000000..1913bb76ecb
--- /dev/null
+++ b/lang/dylan-interpreter/Makefile
@@ -0,0 +1,10 @@
+# $NetBSD: Makefile,v 1.1.1.1 2002/01/15 20:08:43 agc Exp $
+#
+
+PKGNAME= dylan-interpreter-2.3.6
+
+AUTOGEN_TARGET= --disable-d2c
+
+CONFLICTS= dylan-compiler-[0-9]*
+
+.include "${.CURDIR}/Makefile.common"
diff --git a/lang/dylan-interpreter/Makefile.common b/lang/dylan-interpreter/Makefile.common
new file mode 100644
index 00000000000..26ad0b41259
--- /dev/null
+++ b/lang/dylan-interpreter/Makefile.common
@@ -0,0 +1,42 @@
+# $NetBSD: Makefile.common,v 1.1.1.1 2002/01/15 20:08:43 agc Exp $
+#
+
+DISTNAME= gwydion-dylan-2.3.6
+CATEGORIES= lang
+MASTER_SITES= ftp://berlin.ccc.de/pub/gd/src/ \
+ ftp://ftp.fu-berlin.de/pub/unix/languages/dylan/src/ \
+ ftp://ftp.infodrom.north.de/pub/unix/language/dylan/gwydion/src/ \
+ ftp://folk.federated.com/pub/gd/src/ \
+ ftp://cymru.basistech.com/pub/mirrors/gd/src/ \
+ ftp://ftp.ntua.gr/pub/lang/gwydion/src/ \
+ ftp://ftp.kddlabs.co.jp/lang/dylan/gwydion/src/ \
+ ftp://gd.tuwien.ac.at/languages/gwydiondylan/src/
+
+MAINTAINER= packages@netbsd.org
+HOMEPAGE= http://www.gwydiondylan.org/
+COMMENT= functional language
+
+USE_GMAKE= yes
+MAKEFILE= GNUmakefile
+ALL_TARGET= default
+
+# other architecture changes will be gratefully received
+ONLY_FOR_PLATFORM= NetBSD-*-i386
+
+USE_PERL5= yes
+
+USE_LIBTOOL= yes
+LIBTOOL_OVERRIDE= ${WRKSRC}/libtool
+
+post-patch:
+ cd ${WRKSRC}; \
+ for f in tools/melange/netbsd-portability.dylan; do \
+ ${MV} $$f $$f.in && \
+ ${SED} -e 's|@prefix@|${PREFIX}|g' $$f.in > $$f; \
+ done
+
+post-configure:
+ cd ${WRKSRC}; ./autogen.sh --prefix=${PREFIX} ${AUTOGEN_TARGET}
+
+.include "../../x11/gtk/buildlink.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/lang/dylan-interpreter/PLIST b/lang/dylan-interpreter/PLIST
new file mode 100644
index 00000000000..9afe072316a
--- /dev/null
+++ b/lang/dylan-interpreter/PLIST
@@ -0,0 +1,48 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2002/01/15 20:08:43 agc Exp $
+bin/mindy
+bin/mindycomp
+bin/mindyexec
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/base-file-system-lib.dbc
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/collection-extensions-lib.dbc
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/dylan-lib.dbc
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/format-lib.dbc
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/format-out-lib.dbc
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/inspector-base-lib.dbc
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/matrix-lib.dbc
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/parse-arguments-lib.dbc
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/print-lib.dbc
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/random-lib.dbc
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/regular-expressions-lib.dbc
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/standard-io-lib.dbc
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/stream-extensions-lib.dbc
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/streams-lib.dbc
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/string-extensions-lib.dbc
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/table-extensions-lib.dbc
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/text-inspector-lib.dbc
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/time-lib.dbc
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/tk-lib.dbc
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/transcendental-lib.dbc
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/x-inspector-lib.dbc
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/elisp/dylan-mode.el
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/elisp/dylan-params.el
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/elisp/fill-comment.el
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/elisp/goto-def.el
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/elisp/mindy-comp.el
+lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/elisp/page-cmds.el
+man/man1/d2c.1
+man/man1/dybug.1
+man/man1/make-dylan-app.1
+man/man1/melange.1
+man/man1/mindy.1
+man/man1/mindycomp.1
+man/man1/mindyexec.1
+man/man1/parsergen.1
+man/man4/platforms.descr.4
+man/man7/dylan.7
+man/man7/gwydion.7
+@dirrm lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/elisp
+@exec /bin/mkdir -p %D/lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/dylan-user
+@dirrm lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc/dylan-user
+@dirrm lib/dylan/2.3.6/x86-${LOWER_OPSYS}-gcc
+@dirrm lib/dylan/2.3.6
+@dirrm lib/dylan
diff --git a/lang/dylan-interpreter/distinfo b/lang/dylan-interpreter/distinfo
new file mode 100644
index 00000000000..180e3b7ea41
--- /dev/null
+++ b/lang/dylan-interpreter/distinfo
@@ -0,0 +1,11 @@
+$NetBSD: distinfo,v 1.1.1.1 2002/01/15 20:08:43 agc Exp $
+
+SHA1 (gwydion-dylan-2.3.6.tar.gz) = 1c6ce71b5ab36351ba9471e6b9f53f94c6b3d0d3
+Size (gwydion-dylan-2.3.6.tar.gz) = 3304421 bytes
+SHA1 (patch-aa) = ee465fdf00e8d9594d8e924113f7cd7be8c30a39
+SHA1 (patch-ab) = 9f999c509d349f2185f71c2b5f3c50009ea4dac2
+SHA1 (patch-ac) = 9f9b1db0fdfebea9ef926653a0249a14b89fff32
+SHA1 (patch-ad) = c31c3407c9a238402820bc4769afeffceb6f75d4
+SHA1 (patch-ae) = 0c0643df0e295e8e668369cbddc2011df93a1f35
+SHA1 (patch-af) = f1b49f731fb3710e354b1e152444a0925b73da31
+SHA1 (patch-ag) = 34afeb31bab67283f5c8822a47e7d1785195d663
diff --git a/lang/dylan-interpreter/patches/patch-aa b/lang/dylan-interpreter/patches/patch-aa
new file mode 100644
index 00000000000..135b2d2113d
--- /dev/null
+++ b/lang/dylan-interpreter/patches/patch-aa
@@ -0,0 +1,33 @@
+$NetBSD: patch-aa,v 1.1.1.1 2002/01/15 20:08:43 agc Exp $
+
+Basic NetBSD and platform descriptions
+
+--- d2c/compiler/platforms.descr 2002/01/14 11:28:08 1.1
++++ d2c/compiler/platforms.descr 2002/01/14 11:33:01
+@@ -242,6 +242,13 @@
+ make-command: gmake
+ randomize-library-command: ranlib %s
+
++// NetBSD:
++platform-name: netbsd
++inherit-from: generic-unix
++default-features: compiled-for-netbsd
++make-command: gmake
++randomize-library-command: ranlib %s
++
+ // OpenBSD:
+ platform-name: openbsd
+ inherit-from: generic-unix
+@@ -519,6 +526,12 @@
+ inherit-from: gcc irix mips
+ default-features: compiled-for-irix compiled-for-mips C-compiler-is-GCC
+ link-shared-library-command: $(LIBTOOL) cc -n32 -Wl,-woff,85 -o %s %s -rpath %s
++
++// This is untested.
++platform-name: x86-netbsd-gcc
++inherit-from: gcc netbsd x86
++default-features: compiled-for-netbsd compiled-for-x86 C-compiler-is-GCC
++default-c-compiler-debug-flags: -I. -I%s -g -O0 -fno-inline-functions
+
+ // This is untested.
+ platform-name: sparc-openbsd-gcc
diff --git a/lang/dylan-interpreter/patches/patch-ab b/lang/dylan-interpreter/patches/patch-ab
new file mode 100644
index 00000000000..e0295acee56
--- /dev/null
+++ b/lang/dylan-interpreter/patches/patch-ab
@@ -0,0 +1,12 @@
+$NetBSD: patch-ab,v 1.1.1.1 2002/01/15 20:08:43 agc Exp $
+
+--- configure.in 2002/01/14 11:35:39 1.1
++++ configure.in 2002/01/14 11:36:17
+@@ -102,6 +102,7 @@
+ sparc*-openbsd*) $2=sparc-openbsd-gcc ;;
+ i*86-*-freebsd2.*) $2=x86-freebsd-aout-gcc ;;
+ i*86-*-freebsd*) $2=x86-freebsd-elf-gcc ;;
++ i*86-*-netbsd*) $2=x86-netbsd-gcc ;;
+ i*86-pc-cygwin*) $2=x86-cygnus-gcc ;;
+ i*86-pc-none) $2=x86-win32-vc ;;
+ i*86-pc-beos) $2=x86-beos-gcc ;;
diff --git a/lang/dylan-interpreter/patches/patch-ac b/lang/dylan-interpreter/patches/patch-ac
new file mode 100644
index 00000000000..caa0c013d08
--- /dev/null
+++ b/lang/dylan-interpreter/patches/patch-ac
@@ -0,0 +1,28 @@
+$NetBSD: patch-ac,v 1.1.1.1 2002/01/15 20:08:43 agc Exp $
+
+--- configure 2002/01/14 11:36:51 1.1
++++ configure 2002/01/14 11:37:48
+@@ -973,6 +973,7 @@
+ sparc*-openbsd*) d2c_build=sparc-openbsd-gcc ;;
+ i*86-*-freebsd2.*) d2c_build=x86-freebsd-aout-gcc ;;
+ i*86-*-freebsd*) d2c_build=x86-freebsd-elf-gcc ;;
++ i*86-*-netbsd*) d2c_build=x86-netbsd-gcc ;;
+ i*86-pc-cygwin*) d2c_build=x86-cygnus-gcc ;;
+ i*86-pc-none) d2c_build=x86-win32-vc ;;
+ i*86-pc-beos) d2c_build=x86-beos-gcc ;;
+@@ -998,6 +999,7 @@
+ sparc*-openbsd*) d2c_host=sparc-openbsd-gcc ;;
+ i*86-*-freebsd2.*) d2c_host=x86-freebsd-aout-gcc ;;
+ i*86-*-freebsd*) d2c_host=x86-freebsd-elf-gcc ;;
++ i*86-*-netbsd*) d2c_host=x86-netbsd-gcc ;;
+ i*86-pc-cygwin*) d2c_host=x86-cygnus-gcc ;;
+ i*86-pc-none) d2c_host=x86-win32-vc ;;
+ i*86-pc-beos) d2c_host=x86-beos-gcc ;;
+@@ -1040,6 +1042,7 @@
+ sparc*-openbsd*) d2c_target=sparc-openbsd-gcc ;;
+ i*86-*-freebsd2.*) d2c_target=x86-freebsd-aout-gcc ;;
+ i*86-*-freebsd*) d2c_target=x86-freebsd-elf-gcc ;;
++ i*86-*-netbsd*) d2c_target=x86-netbsd-gcc ;;
+ i*86-pc-cygwin*) d2c_target=x86-cygnus-gcc ;;
+ i*86-pc-none) d2c_target=x86-win32-vc ;;
+ i*86-pc-beos) d2c_target=x86-beos-gcc ;;
diff --git a/lang/dylan-interpreter/patches/patch-ad b/lang/dylan-interpreter/patches/patch-ad
new file mode 100644
index 00000000000..08626803041
--- /dev/null
+++ b/lang/dylan-interpreter/patches/patch-ad
@@ -0,0 +1,13 @@
+$NetBSD: patch-ad,v 1.1.1.1 2002/01/15 20:08:43 agc Exp $
+
+--- tools/melange/Makegen 2002/01/14 11:51:49 1.1
++++ tools/melange/Makegen 2002/01/14 11:52:12
+@@ -15,6 +15,8 @@
+ $c_decl_lid = "freebsd-c-decl";
+ } elsif ($features{'compiled_for_openbsd'}) {
+ $c_decl_lid = "openbsd-c-decl";
++} elsif ($features{'compiled_for_netbsd'}) {
++ $c_decl_lid = "netbsd-c-decl";
+ } elsif ($features{'compiled_for_darwin'}) {
+ $c_decl_lid = "macos-decl";
+ } elsif ($features{'compiled_for_irix'}) {
diff --git a/lang/dylan-interpreter/patches/patch-ae b/lang/dylan-interpreter/patches/patch-ae
new file mode 100644
index 00000000000..3c41a3c70d6
--- /dev/null
+++ b/lang/dylan-interpreter/patches/patch-ae
@@ -0,0 +1,23 @@
+$NetBSD: patch-ae,v 1.1.1.1 2002/01/15 20:08:43 agc Exp $
+
+--- /dev/null Mon Jan 14 11:54:37 2002
++++ tools/melange/netbsd-c-decl.lid Mon Jan 14 11:54:22 2002
+@@ -0,0 +1,18 @@
++rcs-header: '$' Header: /home/cvsroot/gd/src/tools/melange/netbsd-c-decl.lid,v 1.1 2002/01/14 19:50:11 agc Exp '$'
++library: melange-c
++unit-prefix: cdecl
++unique-id-base: 10000
++shared-library: no
++
++c-exports.dylan
++source-location.dylan
++parse-conditions.dylan
++multistring.dylan
++c-lexer.dylan
++c-lexer-cpp.dylan
++netbsd-portability.dylan
++c-parse.dylan
++alignment.dylan
++c-decl-state.dylan
++c-decl-write.dylan
++c-decl.dylan
diff --git a/lang/dylan-interpreter/patches/patch-af b/lang/dylan-interpreter/patches/patch-af
new file mode 100644
index 00000000000..2363f33613b
--- /dev/null
+++ b/lang/dylan-interpreter/patches/patch-af
@@ -0,0 +1,101 @@
+$NetBSD: patch-af,v 1.1.1.1 2002/01/15 20:08:43 agc Exp $
+
+--- /dev/null Mon Jan 14 11:58:04 2002
++++ tools/melange/netbsd-portability.dylan Mon Jan 14 11:56:59 2002
+@@ -0,0 +1,96 @@
++documented: #t
++module: portability
++copyright: see below
++ This code was produced by the Gwydion Project at Carnegie Mellon
++ University. If you are interested in using this code, contact
++ "Scott.Fahlman@cs.cmu.edu" (Internet).
++rcs-header: '$' Header:
++
++//======================================================================
++//
++// Copyright (c) 1995, 1996, 1997 Carnegie Mellon University
++// Copyright (c) 1998, 1999, 2000 Gwydion Dylan Maintainers
++// All rights reserved.
++//
++// Use and copying of this software and preparation of derivative
++// works based on this software are permitted, including commercial
++// use, provided that the following conditions are observed:
++//
++// 1. This copyright notice must be retained in full on any copies
++// and on appropriate parts of any derivative works.
++// 2. Documentation (paper or online) accompanying any system that
++// incorporates this software, or any part of it, must acknowledge
++// the contribution of the Gwydion Project at Carnegie Mellon
++// University, and the Gwydion Dylan Maintainers.
++//
++// This software is made available "as is". Neither the authors nor
++// Carnegie Mellon University make any warranty about the software,
++// its performance, or its conformity to any specification.
++//
++// Bug reports should be sent to <gd-bugs@gwydiondylan.org>; questions,
++// comments and suggestions are welcome at <gd-hackers@gwydiondylan.org>.
++// Also, see http://www.gwydiondylan.org/ for updates and documentation.
++//
++//======================================================================
++
++//======================================================================
++//
++// Copyright (c) 1994 Carnegie Mellon University
++// Copyright (c) 1998, 1999, 2000 Gwydion Dylan Maintainers
++// All rights reserved.
++//
++//======================================================================
++
++//======================================================================
++// Module portability is a tiny OS dependent module which defines the
++// preprocessor definions and "standard" include directories which would be
++// used by a typical C compiler for that OS. It may, at some future date,
++// also include behavioral switches for things like slot allocation or sizes
++// of different sorts of numbers.
++//
++//======================================================================
++
++// default defines came from "gcc -v anyfile.c"
++//
++define constant $default-defines
++ = #["const", "",
++ "volatile", "",
++ "unix", "",
++ "__i386__", "",
++ "__NetBSD__", "",
++ "__unix__", "",
++ "__unix", "",
++// gcc supports 64-bits long long int
++// "_NO_LONGLONG", "",
++ "__STDC__", ""
++];
++
++
++define constant netbsd-include-directories
++ = #["@prefix@/include", "/usr/include"];
++
++for (dir in netbsd-include-directories)
++ push-last(include-path, dir);
++end for;
++
++
++// These constants should be moved here in the future. Until the module
++// declarations can be sufficiently rearranged to allow their definition
++// here, they will remain commented out. -- panda
++//
++// define constant c-type-size = unix-type-size;
++// define constant c-type-alignment = unix-type-alignment;
++// define constant $default-alignment :: <integer> = 4;
++
++
++define constant $integer-size :: <integer> = 4;
++define constant $short-int-size :: <integer> = 2;
++define constant $long-int-size :: <integer> = 4;
++define constant $longlong-int-size :: <integer> = 8;
++define constant $char-size :: <integer> = 1;
++define constant $float-size :: <integer> = 4;
++define constant $double-float-size :: <integer> = 8;
++define constant $long-double-size :: <integer> = 16;
++define constant $enum-size :: <integer> = $integer-size;
++define constant $pointer-size :: <integer> = 4;
++define constant $function-pointer-size :: <integer> = $pointer-size;
diff --git a/lang/dylan-interpreter/patches/patch-ag b/lang/dylan-interpreter/patches/patch-ag
new file mode 100644
index 00000000000..6c39513f52f
--- /dev/null
+++ b/lang/dylan-interpreter/patches/patch-ag
@@ -0,0 +1,15 @@
+$NetBSD: patch-ag,v 1.1.1.1 2002/01/15 20:08:43 agc Exp $
+
+Need to compile support libs before running tests
+
+--- Makegen 2002/01/14 13:01:34 1.1
++++ Makegen 2002/01/14 13:01:59
+@@ -99,7 +99,7 @@
+ if ($enable_d2c) {
+ &compile_subdirs("d2c");
+ }
+- &compile_subdirs("tests");
++ &compile_subdirs("common", "tests");
+ &compile_subdirs("common", "tools");
+ if($enable_duim ne 'no') {
+ &compile_subdirs("duim");