diff options
author | agc <agc> | 2002-01-15 20:08:43 +0000 |
---|---|---|
committer | agc <agc> | 2002-01-15 20:08:43 +0000 |
commit | 2a346c956435058cf3a57e678c6590ebfb11487c (patch) | |
tree | 5a0ab7666f24b47a77238e5c2e560b975fed9904 | |
parent | 5cd992a5abfe3e2259c5e4c018cecc66b290dec3 (diff) | |
download | pkgsrc-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/DESCR | 21 | ||||
-rw-r--r-- | lang/dylan-interpreter/Makefile | 10 | ||||
-rw-r--r-- | lang/dylan-interpreter/Makefile.common | 42 | ||||
-rw-r--r-- | lang/dylan-interpreter/PLIST | 48 | ||||
-rw-r--r-- | lang/dylan-interpreter/distinfo | 11 | ||||
-rw-r--r-- | lang/dylan-interpreter/patches/patch-aa | 33 | ||||
-rw-r--r-- | lang/dylan-interpreter/patches/patch-ab | 12 | ||||
-rw-r--r-- | lang/dylan-interpreter/patches/patch-ac | 28 | ||||
-rw-r--r-- | lang/dylan-interpreter/patches/patch-ad | 13 | ||||
-rw-r--r-- | lang/dylan-interpreter/patches/patch-ae | 23 | ||||
-rw-r--r-- | lang/dylan-interpreter/patches/patch-af | 101 | ||||
-rw-r--r-- | lang/dylan-interpreter/patches/patch-ag | 15 |
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"); |