From ba47e7baaa0ef72e9aec0bdfd39a291d640bf58e Mon Sep 17 00:00:00 2001 From: is Date: Mon, 17 Oct 2005 16:16:48 +0000 Subject: Initial import of MPD-1.0.1. Might still have some problems on LP64. --- lang/mpd/DESCR | 19 ++++++++ lang/mpd/Makefile | 44 +++++++++++++++++ lang/mpd/PLIST | 37 +++++++++++++++ lang/mpd/distinfo | 17 +++++++ lang/mpd/patches/patch-aa | 52 +++++++++++++++++++++ lang/mpd/patches/patch-ab | 17 +++++++ lang/mpd/patches/patch-ar | 9 ++++ lang/mpd/patches/patch-as | 23 +++++++++ lang/mpd/patches/patch-at | 36 ++++++++++++++ lang/mpd/patches/patch-au | 117 ++++++++++++++++++++++++++++++++++++++++++++++ lang/mpd/patches/patch-av | 12 +++++ lang/mpd/patches/patch-aw | 12 +++++ lang/mpd/patches/patch-ax | 10 ++++ lang/mpd/patches/patch-ay | 15 ++++++ lang/mpd/patches/patch-bi | 14 ++++++ lang/mpd/patches/patch-bk | 11 +++++ 16 files changed, 445 insertions(+) create mode 100644 lang/mpd/DESCR create mode 100644 lang/mpd/Makefile create mode 100644 lang/mpd/PLIST create mode 100644 lang/mpd/distinfo create mode 100644 lang/mpd/patches/patch-aa create mode 100644 lang/mpd/patches/patch-ab create mode 100644 lang/mpd/patches/patch-ar create mode 100644 lang/mpd/patches/patch-as create mode 100644 lang/mpd/patches/patch-at create mode 100644 lang/mpd/patches/patch-au create mode 100644 lang/mpd/patches/patch-av create mode 100644 lang/mpd/patches/patch-aw create mode 100644 lang/mpd/patches/patch-ax create mode 100644 lang/mpd/patches/patch-ay create mode 100644 lang/mpd/patches/patch-bi create mode 100644 lang/mpd/patches/patch-bk (limited to 'lang') diff --git a/lang/mpd/DESCR b/lang/mpd/DESCR new file mode 100644 index 00000000000..2efc17bd96f --- /dev/null +++ b/lang/mpd/DESCR @@ -0,0 +1,19 @@ +This the MPD language for Multithreaded, Parallel, and Distributed +Programming. Installation instructions are in the file doc/install.html. + +Language documentation can be found at the MPD home on the web, + http://www.cs.arizona.edu/mpd + +MPD was inspired by the book: + Foundations of Multithreaded, Parallel, and Distributed Programming + Gregory R. Andrews + Addison-Wesley, 2000 (ISBN 0-201-35752-6) + +The MPD implementation is based on version 2.3.2 of the SR programming +language. The syntax has changed, but the internals are essentially +the same except for a massive renaming. Accordingly MPD is limited by +the features of SR and does not correspond exactly to the MPD book. + +Much of the SR implementation documentation is still valid. It can be +found at: + http://www.cs.arizona.edu/sr/doc.html diff --git a/lang/mpd/Makefile b/lang/mpd/Makefile new file mode 100644 index 00000000000..82496dc8361 --- /dev/null +++ b/lang/mpd/Makefile @@ -0,0 +1,44 @@ +# $NetBSD: Makefile,v 1.1.1.1 2005/10/17 16:16:48 is Exp $ +# + +PKGNAME= mpd-1.0.1 +DISTNAME= mpd.1.0.1 +#PKGREVISION= 0 +CATEGORIES= lang parallel +MASTER_SITES= http://www.cs.arizona.edu/mpd/download/ +EXTRACT_SUFX= .tgz + +MAINTAINER= is@NetBSD.org +HOMEPAGE= http://www.cs.arizona.edu/mpd/ +COMMENT= The MPD language compiler and run time system + +ONLY_FOR_PLATFORM= NetBSD-[2-9]*-* + + +TEST_TARGET= verify + +.include "../../mk/x11.buildlink3.mk" + +pre-configure: + ${MV} ${WRKSRC}/Configuration \ + ${WRKSRC}/Configuration.template + ${SED} -e 's,_LOCALBASE_,${LOCALBASE},g' \ + -e 's,_WRKSRC_,${WRKSRC},g' \ + -e 's,_XINC_,${X11BASE}/include,g' \ + -e 's,_XLIB_,${X11BASE}/lib,g' \ + ${WRKSRC}/Configuration.template \ + > ${WRKSRC}/Configuration + +pre-install: + -${MKDIR} ${PREFIX}/lib/mpd + +post-install: + ${INSTALL_PROGRAM} ${WRKSRC}/csw/cstest ${PREFIX}/bin/mpd-cstest + ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/mpd + ${INSTALL_DATA} ${WRKSRC}/README ${PREFIX}/share/doc/mpd + ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/html/mpd + ${INSTALL_DATA} ${WRKSRC}/doc/cairn.jpg ${PREFIX}/share/doc/html/mpd + ${INSTALL_DATA} ${WRKSRC}/doc/install.html ${PREFIX}/share/doc/html/mpd + ${INSTALL_DATA} ${WRKSRC}/doc/release.html ${PREFIX}/share/doc/html/mpd + +.include "../../mk/bsd.pkg.mk" diff --git a/lang/mpd/PLIST b/lang/mpd/PLIST new file mode 100644 index 00000000000..3bf4ac53fc3 --- /dev/null +++ b/lang/mpd/PLIST @@ -0,0 +1,37 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2005/10/17 16:16:48 is Exp $ +bin/mpd +bin/mpd-cstest +bin/mpdl +bin/mpdm +bin/mpdprof +lib/mpd/MPDWin.impl +lib/mpd/MPDWin.o +lib/mpd/MPDWin.spec +lib/mpd/MPDanimator.impl +lib/mpd/MPDanimator.o +lib/mpd/MPDanimator.spec +lib/mpd/MPDgetopt.impl +lib/mpd/MPDgetopt.o +lib/mpd/MPDgetopt.spec +lib/mpd/mpd.h +lib/mpd/mpdlib.a +lib/mpd/mpdmap +lib/mpd/mpdmulti.h +lib/mpd/mpdwin.o +lib/mpd/mpdx +man/man1/mpd.1 +man/man1/mpdl.1 +man/man1/mpdm.1 +man/man1/mpdprof.1 +man/man3/mpdanimator.3 +man/man3/mpdgetopt.3 +man/man3/mpdwin.3 +man/man5/mpdmap.5 +man/man5/mpdtrace.5 +share/doc/html/mpd/cairn.jpg +share/doc/html/mpd/install.html +share/doc/html/mpd/release.html +share/doc/mpd/README +@dirrm share/doc/html/mpd +@dirrm share/doc/mpd +@dirrm lib/mpd diff --git a/lang/mpd/distinfo b/lang/mpd/distinfo new file mode 100644 index 00000000000..79c422c7afa --- /dev/null +++ b/lang/mpd/distinfo @@ -0,0 +1,17 @@ +$NetBSD: distinfo,v 1.1.1.1 2005/10/17 16:16:48 is Exp $ + +SHA1 (mpd.1.0.1.tgz) = 797b505935ccc741fdca6010bc0bd53601a6f262 +RMD160 (mpd.1.0.1.tgz) = 2862ae9220ec0a546ed4193aeee4dc8dc94610a2 +Size (mpd.1.0.1.tgz) = 581498 bytes +SHA1 (patch-aa) = f3c3911afa2596e72d8e3056f93e5277cd41dabc +SHA1 (patch-ab) = 2a086280fefb4acddd19cb3cbafd58f8de5b309e +SHA1 (patch-ar) = 7b9c76e47a5f5900a2bfd6b9bb4b585dc10da562 +SHA1 (patch-as) = 4a7701f337f64ca4f0e68377ca6f32e5110a5ff0 +SHA1 (patch-at) = 6f7be8ba344a1606663f7dfeefa73edd62380721 +SHA1 (patch-au) = f694bd75154de25247e9609dc954c9319ab32089 +SHA1 (patch-av) = b10aa333ecf77e29933256117a9c4d27792993bd +SHA1 (patch-aw) = d0efc58da58fb601257d4c108f4acc50ae05cbf9 +SHA1 (patch-ax) = daa27e66622a693cf860e3fbf7569a9363a81354 +SHA1 (patch-ay) = 1621ca66dfbece6bc82fc709fd2c507abb64abae +SHA1 (patch-bi) = 31fc9eb664dd3e73c7fe12ae6e95fd85b67286fc +SHA1 (patch-bk) = ffbcc49346ea57a3fd0eed51d7bb00f80e25f3a5 diff --git a/lang/mpd/patches/patch-aa b/lang/mpd/patches/patch-aa new file mode 100644 index 00000000000..ad20baff8ea --- /dev/null +++ b/lang/mpd/patches/patch-aa @@ -0,0 +1,52 @@ +$NetBSD: patch-aa,v 1.1.1.1 2005/10/17 16:16:48 is Exp $ + +--- Configuration.orig 2004-01-20 23:13:18.000000000 +0100 ++++ Configuration +@@ -26,12 +26,12 @@ VERSION = "MPD version 1.0.1, January 20 + # MAN5: directory in which to install the mpdmap/mpdtrace(5) man pages + # (extension will be `tr 1 5` of MANEXT) + +-MPDSRC = /usr/local/src/mpd +-MPDCMD = /usr/local/bin +-MPDLIB = /usr/local/lib/mpd +-MAN1 = /usr/local/man/man1 +-MAN3 = /usr/local/man/man3 +-MAN5 = /usr/local/man/man5 ++MPDSRC = _WRKSRC_ ++MPDCMD = _LOCALBASE_/bin ++MPDLIB = _LOCALBASE_/lib/mpd ++MAN1 = _LOCALBASE_/man/man1 ++MAN3 = _LOCALBASE_/man/man3 ++MAN5 = _LOCALBASE_/man/man5 + MANEXT = 1 + + +@@ -54,8 +54,8 @@ MANEXT = 1 + # for Sun Solaris with Sun's C compiler use: CCPATH = /opt/SUNWspro/bin/cc + # for Linux, NetBSD, FreeBSD, or SGI Irix use: CCPATH = /usr/bin/cc + +-CCPATH = /bin/cc +-RSHPATH = /usr/bin/rsh ++CCPATH = /usr/bin/cc ++RSHPATH = /usr/bin/ssh + + + +@@ -74,7 +74,7 @@ RSHPATH = /usr/bin/rsh + # LIBC = , LIBR = , LIBM = -lm + + LIBC = +-LIBR = -L/usr/X11R6/lib ++LIBR = -R_XLIB_ -L_XLIB_ + LIBM = -lm + + +@@ -91,7 +91,7 @@ LIBM = -lm + # for NetBSD, set XINCL = /usr/X386/include + # for Linux, set XINCL = /usr/X11R6/include + +-XINCL = /usr/X11R6/include ++XINCL = _XINC_ + XTANGO = + + diff --git a/lang/mpd/patches/patch-ab b/lang/mpd/patches/patch-ab new file mode 100644 index 00000000000..0878f33dfb9 --- /dev/null +++ b/lang/mpd/patches/patch-ab @@ -0,0 +1,17 @@ +$NetBSD: patch-ab,v 1.1.1.1 2005/10/17 16:16:48 is Exp $ + +--- arch.h.orig 1999-08-09 16:34:12.000000000 +0000 ++++ arch.h +@@ -7,6 +7,12 @@ + * BIGCC arguments passed to CC to enlarge tree space (if needed) + */ + ++ ++/* here so that cpu-specific code below doesn't overwrite our choices */ ++#if !defined(ARCH) && defined(__NetBSD__) ++#define ARCH "NetBSD 2.0 and later" ++#endif ++ + #ifndef ARCH + + #ifdef apollo diff --git a/lang/mpd/patches/patch-ar b/lang/mpd/patches/patch-ar new file mode 100644 index 00000000000..1c4159a599f --- /dev/null +++ b/lang/mpd/patches/patch-ar @@ -0,0 +1,9 @@ +$NetBSD: patch-ar,v 1.1.1.1 2005/10/17 16:16:48 is Exp $ + +--- vsuite/quick/easy/Make.std.orig 1999-07-28 22:43:18.000000000 +0200 ++++ vsuite/quick/easy/Make.std +@@ -1,3 +1,3 @@ + echo gries.mpd +-rm -rf ./MPDinter ++rm -rf ./MPDinter + rm -f core a.out diff --git a/lang/mpd/patches/patch-as b/lang/mpd/patches/patch-as new file mode 100644 index 00000000000..fe83857e612 --- /dev/null +++ b/lang/mpd/patches/patch-as @@ -0,0 +1,23 @@ +$NetBSD: patch-as,v 1.1.1.1 2005/10/17 16:16:48 is Exp $ + +--- Makefile.orig 2001-02-06 19:30:37.000000000 +0100 ++++ Makefile +@@ -4,7 +4,7 @@ + + + CC = cc +-CFLAGS = -g ++CFLAGS = -O3 -Wall + MAKE = make + SHELL = /bin/sh + +@@ -212,6 +212,9 @@ vscripts: ; @cd vsuite; find * -name Sc + + + ++verify: ++ mpdv/mpdv ++ + # run some distributed tests with mpdv + + mpdvdist: diff --git a/lang/mpd/patches/patch-at b/lang/mpd/patches/patch-at new file mode 100644 index 00000000000..65f0ecf93ed --- /dev/null +++ b/lang/mpd/patches/patch-at @@ -0,0 +1,36 @@ +$NetBSD: patch-at,v 1.1.1.1 2005/10/17 16:16:48 is Exp $ + +--- csw/Makefile.orig 1999-07-30 05:01:50.000000000 +0000 ++++ csw/Makefile +@@ -1,6 +1,6 @@ + ## Makefile for the MPD context switch routines. + +-CFLAGS = -g ++CFLAGS = -O3 + SHELL = /bin/sh + + SRC = alpha.s ap3000.s bobcat.s encore.s i386.s m68k.s m88k.s mips.s \ +@@ -27,19 +27,15 @@ cstest: cstest.o asm.o + # csloop is a timing program, built only on request + + csloop: csloop.o asm.o +- . ../paths.sh; $(CC) -O -o csloop csloop.o asm.o $$LIBR $$LIBC ++ . ../paths.sh; $(CC) -g -o csloop csloop.o asm.o $$LIBR $$LIBC + + csloop.o: csloop.c + $(CC) -O -c csloop.c + + +-# asm.o holds the actual context switch code +- +-asm.o: asm.c ../arch.h $(SRC) +- $(CC) $(CFLAGS) -E asm.c | \ +- sed -e '/^ *$$/d' -e '/^#/'d -e 's/ :/:/' >asm.s +- as -o asm.o asm.s +- ++asm.o: netbsd.c ++ $(CC) $(CFLAGS) -c netbsd.c ++ $(LD) -r -o asm.o netbsd.o /usr/lib/libpthread.a + + + # miscellaneous utility targets diff --git a/lang/mpd/patches/patch-au b/lang/mpd/patches/patch-au new file mode 100644 index 00000000000..9062b03b6cf --- /dev/null +++ b/lang/mpd/patches/patch-au @@ -0,0 +1,117 @@ +$NetBSD: patch-au,v 1.1.1.1 2005/10/17 16:16:48 is Exp $ + +--- csw/netbsd.c.orig 2005-03-02 13:00:06.000000000 +0000 ++++ csw/netbsd.c +@@ -0,0 +1,112 @@ ++/* ++ * netbsd.c -- context switch code for NetBSD 2. ++ * ++ * Some Makefile changes are needed to use this code. ++ */ ++ ++#include ++ ++void mpd_stk_underflow(void); ++void mpd_stk_corrupted(void); ++ ++static void startup(void (*)(void), unsigned long, unsigned long, unsigned long, unsigned long); ++ ++#ifdef __i386__ ++void pthread__i386_init(void); ++ ++#define _setcontext_u(uc) (*_md_setcontext_u)(uc) ++#define _swapcontext_u(oc,nc) (*_md_swapcontext_u)(oc,nc) ++ ++static void mpd_setcontext_u(ucontext_t *); ++static void mpd_swapcontext_u(ucontext_t *, ucontext_t *); ++ ++void (*_md_getcontext_u) (ucontext_t *); ++void (*_md_setcontext_u) (ucontext_t *) = mpd_setcontext_u; ++void (*_md_swapcontext_u)(ucontext_t *, ucontext_t *) = mpd_swapcontext_u; ++ ++static void ++mpd_setcontext_u(ucontext_t *uc) { ++ pthread__i386_init(); ++ _setcontext_u(uc); ++} ++ ++static void ++mpd_swapcontext_u(ucontext_t *oldc, ucontext_t *newc) { ++ pthread__i386_init(); ++ _swapcontext_u(oldc, newc); ++} ++#endif ++ ++ ++/* ++ * mpd_build_context (func, buf, bufsize, arg1, arg2, arg3, arg4) ++ * ++ * Build a context that will call func(arg1,arg2,arg3,arg4) when activated ++ * and will catch an underflow error if func returns. We use an intermediary ++ * in order to catch that return. ++ */ ++void ++mpd_build_context (func, buf, bufsize, arg1, arg2, arg3, arg4) ++void (*func)(); ++char *buf; ++int bufsize; ++unsigned long arg1, arg2, arg3, arg4; ++{ ++ ucontext_t *uc = (ucontext_t *) buf; /* put header at front of buf */ ++ ++ if (0 != getcontext(uc)) { /* initialize context */ ++ mpd_stk_corrupted(); ++ } ++ ++ uc->uc_stack.ss_sp = buf + sizeof (ucontext_t); ++ uc->uc_stack.ss_size = bufsize - sizeof (ucontext_t); ++ ++ makecontext (uc, startup, 5, func, arg1, arg2, arg3, arg4); ++ uc->uc_stack.ss_flags = 0; ++} ++ ++/* ++ * startup (func, a,b,c,d) -- intermediary for startup and underflow detection. ++ */ ++static void ++startup (func, arg1, arg2, arg3, arg4) ++void (*func)(); ++unsigned long arg1, arg2, arg3, arg4; ++{ ++ (*func) (arg1, arg2, arg3, arg4); ++ mpd_stk_underflow(); ++} ++ ++ ++ ++/* ++ * mpd_chg_context (newctx, oldctx) -- change contexts. ++ */ ++void ++mpd_chg_context (new, old) ++char *new, *old; ++{ ++ ucontext_t *oldu, *newu; ++ newu = (ucontext_t *)new; ++ ++ if (old) { ++ oldu = (ucontext_t *)old; ++ _swapcontext_u(oldu, newu); ++ } else { ++ _setcontext_u(newu); ++ } ++} ++ ++ ++ ++/* ++ * mpd_check_stk (stk) -- check for stack overflow. ++ * ++ * We have no idea of how to do that, so we do nothing. ++ */ ++void ++mpd_check_stk(stk) ++char *stk; ++{ ++ /* nothing */ ++} diff --git a/lang/mpd/patches/patch-av b/lang/mpd/patches/patch-av new file mode 100644 index 00000000000..6e1bda782dc --- /dev/null +++ b/lang/mpd/patches/patch-av @@ -0,0 +1,12 @@ +$NetBSD: patch-av,v 1.1.1.1 2005/10/17 16:16:48 is Exp $ + +--- rts/net.c.orig 2005-03-01 16:25:59.000000000 +0000 ++++ rts/net.c +@@ -2,6 +2,7 @@ + + #include "rts.h" + #include ++#include + + static void start_mpdx (); + diff --git a/lang/mpd/patches/patch-aw b/lang/mpd/patches/patch-aw new file mode 100644 index 00000000000..8bd24847402 --- /dev/null +++ b/lang/mpd/patches/patch-aw @@ -0,0 +1,12 @@ +$NetBSD: patch-aw,v 1.1.1.1 2005/10/17 16:16:48 is Exp $ + +--- rts/mpdx.c.orig 2005-03-01 16:26:10.000000000 +0000 ++++ rts/mpdx.c +@@ -19,6 +19,7 @@ + #include "rts.h" + #include + #include ++#include + #include + + #ifdef __PARAGON__ diff --git a/lang/mpd/patches/patch-ax b/lang/mpd/patches/patch-ax new file mode 100644 index 00000000000..b8309f55cb1 --- /dev/null +++ b/lang/mpd/patches/patch-ax @@ -0,0 +1,10 @@ +$NetBSD: patch-ax,v 1.1.1.1 2005/10/17 16:16:48 is Exp $ + +--- mpdm/filter.c.orig 2005-03-01 16:26:14.000000000 +0000 ++++ mpdm/filter.c +@@ -1,4 +1,5 @@ + #include ++#include + #include "../gen.h" + #include "../util.h" + diff --git a/lang/mpd/patches/patch-ay b/lang/mpd/patches/patch-ay new file mode 100644 index 00000000000..559d59a2aea --- /dev/null +++ b/lang/mpd/patches/patch-ay @@ -0,0 +1,15 @@ +$NetBSD: patch-ay,v 1.1.1.1 2005/10/17 16:16:48 is Exp $ + +--- util.c.orig 2000-10-31 23:53:40.000000000 +0100 ++++ util.c +@@ -4,7 +4,10 @@ + #include + #include + #include /* needed by HP-UX */ ++#include /* needed by NetBSD */ + #include /* needed by HP-UX */ ++#include /* needed by NetBSD */ ++#include /* needed by NetBSD */ + #include "gen.h" + #include "util.h" + #include "paths.h" diff --git a/lang/mpd/patches/patch-bi b/lang/mpd/patches/patch-bi new file mode 100644 index 00000000000..4ef5f131eff --- /dev/null +++ b/lang/mpd/patches/patch-bi @@ -0,0 +1,14 @@ +$NetBSD: patch-bi,v 1.1.1.1 2005/10/17 16:16:48 is Exp $ + +--- library/Makefile.orig 2000-10-31 23:53:41.000000000 +0100 ++++ library/Makefile +@@ -1,7 +1,7 @@ + ## Makefile for the MPD X-Windows interface, MPDWin. + +-CFLAGS = -g +-MPDFLAGS = -g ++CFLAGS = -O3 ++MPDFLAGS = -O + SHELL = /bin/sh + + diff --git a/lang/mpd/patches/patch-bk b/lang/mpd/patches/patch-bk new file mode 100644 index 00000000000..0f8675727a5 --- /dev/null +++ b/lang/mpd/patches/patch-bk @@ -0,0 +1,11 @@ +$NetBSD: patch-bk,v 1.1.1.1 2005/10/17 16:16:48 is Exp $ + +--- util.h.orig 2000-10-31 23:53:40.000000000 +0100 ++++ util.h +@@ -17,5 +17,5 @@ extern FILE *pathopen(); /* file open wi + extern FILE *mustopen(); /* file open with guaranteed success */ + + extern int trcexec; /* trace exec calls? */ +-extern spawn(); /* fork and exec */ ++extern int spawn(); /* fork and exec */ + extern void doexec(); /* exec in place */ -- cgit v1.2.3