Update hmake to 3.13. Tested on i386 with ghc-6.2.2 and (with some additional modifications) ghc-6.6.1 (as posted some days ago here) and nhc98-1.18 (still work in progress).
For now, it's just important that it still works and doesn't break other stuff. This is a prerequisite for updating ghc (and nhc98, too), so haskellers, please test and comment. Ciao, Kili ps: (expected questions and answers) Q: Why --buildwith=ghc? A: Because hmake will probably be dropped from the nhc98 package (to get rid of that annoying @conflict), and the hmake port will get a nhc98 PSEUDOFLAVOR for archs not (yet) supporting ghc. Q: What's that harch hack? A: It's fallout from work on the nhc98 update (which just doesn't work without similar patches). If someone *really* wants to share ${LOCALBASE}/lib/hmake for multiple architecures on an NFS server, let me know. Index: Makefile =================================================================== RCS file: /cvs/ports/devel/hmake/Makefile,v retrieving revision 1.7 diff -u -p -r1.7 Makefile --- Makefile 18 Mar 2007 16:58:35 -0000 1.7 +++ Makefile 11 Jun 2007 15:47:43 -0000 @@ -2,19 +2,19 @@ COMMENT= "compilation manager for Haskell programs" -V= 3.10 +V= 3.13 DISTNAME= hmake-${V} -PKGNAME= ${DISTNAME}p0 CATEGORIES= devel HOMEPAGE= http://www.haskell.org/hmake/ -MAINTAINER= Don Stewart <[EMAIL PROTECTED]> +MAINTAINER= Matthias Kilian <[EMAIL PROTECTED]> MODULES= lang/ghc +CONFIGURE_ARGS= --buildwith=ghc -MASTER_SITES= http://www.haskell.org/hmake/ \ - ftp://ftp.cs.york.ac.uk/pub/haskell/hmake/ \ - http://www.cs.york.ac.uk/fp/hmake/ +MASTER_SITES= ${HOMEPAGE} \ + http://www.cs.york.ac.uk/fp/hmake/ \ + ftp://ftp.cs.york.ac.uk/pub/haskell/hmake/ NO_REGRESS= Yes USE_GMAKE= Yes @@ -29,4 +29,7 @@ WANTLIB= c gmp m ncurses readline post-install: chown -R ${BINOWN}:${BINGRP} ${PREFIX}/lib/hmake + ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/hmake + ${INSTALL_DATA} ${WRKSRC}/docs/hmake/* ${PREFIX}/share/doc/hmake + .include <bsd.port.mk> Index: distinfo =================================================================== RCS file: /cvs/ports/devel/hmake/distinfo,v retrieving revision 1.5 diff -u -p -r1.5 distinfo --- distinfo 5 Apr 2007 15:37:54 -0000 1.5 +++ distinfo 11 Jun 2007 15:47:43 -0000 @@ -1,5 +1,5 @@ -MD5 (hmake-3.10.tar.gz) = Msj+pT/qqbLq0WImCewFKg== -RMD160 (hmake-3.10.tar.gz) = mlB2OTBeciGLMZHhdDOYPKToABo= -SHA1 (hmake-3.10.tar.gz) = 8v8yogE+y/r6b+lgXqx9NZL/P5E= -SHA256 (hmake-3.10.tar.gz) = MJq+goA/UEQcqtZMTV7d6kJMXZ2JZZxuRzzEQEzJDEg= -SIZE (hmake-3.10.tar.gz) = 104656 +MD5 (hmake-3.13.tar.gz) = yH958YRva17Mvl8KAJKLiw== +RMD160 (hmake-3.13.tar.gz) = Ogjfmke7KL4BqFwR4iPQGGs476k= +SHA1 (hmake-3.13.tar.gz) = 8SkBaMMaWy6Rd34lcAOaGH3yow8= +SHA256 (hmake-3.13.tar.gz) = vB68AaXUcdr2dGvsOhASgGvUSTWaMEQxBytA0qEs3jk= +SIZE (hmake-3.13.tar.gz) = 104283 Index: patches/patch-man_hmake_1 =================================================================== RCS file: patches/patch-man_hmake_1 diff -N patches/patch-man_hmake_1 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-man_hmake_1 11 Jun 2007 15:47:43 -0000 @@ -0,0 +1,33 @@ +$OpenBSD$ + +No MACHINE, just OpenBSD. + +--- man/hmake.1.orig Fri Jul 7 18:01:16 2006 ++++ man/hmake.1 Mon Jun 11 16:49:03 2007 +@@ -139,11 +139,11 @@ empty. + .TP + .B MKPROG + if set, it is used as the location of the main program, instead of the +-default /usr/local/lib/hmake/$MACHINE/MkProg. ++default /usr/local/lib/hmake/OpenBSD/MkProg. + .TP + .B OLDER + if set, it is used as the location of the help program `Older', +-instead of the default /usr/local/lib/hmake/$MACHINE/Older. ++instead of the default /usr/local/lib/hmake/OpenBSD/Older. + .TP + .B NHC98INCDIR + if set, it is used as the location of the directory containing +@@ -167,10 +167,10 @@ if set, is interpreted as a colon-separated list of di + for interface files for the Prelude and standard libraries (for ghc only). + The default is $GHCINCDIR/std:$GHCINCDIR/exts. + .SH FILES +-.B /usr/local/lib/hmake/$(MACHINE)/MkProg ++.B /usr/local/lib/hmake/OpenBSD/MkProg + the main program + .PP +-.B /usr/local/lib/hmake/$(MACHINE)/Older ++.B /usr/local/lib/hmake/OpenBSD/Older + help program to determine if a target is out of date. + .SH SEE ALSO + nhc98(1), hbc(1), ghc(1), lmlmake(1), make(1) Index: patches/patch-script_confhc =================================================================== RCS file: patches/patch-script_confhc diff -N patches/patch-script_confhc --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-script_confhc 11 Jun 2007 15:47:43 -0000 @@ -0,0 +1,15 @@ +$OpenBSD$ + +cpp output from ghc has changed + +--- script/confhc.orig Fri Jul 7 18:01:16 2006 ++++ script/confhc Sat Jun 2 20:43:58 2007 +@@ -78,7 +78,7 @@ fi + ghcsym () { + echo __GLASGOW_HASKELL__ >ghcsym.hs; + $1 -E -cpp -optP-P ghcsym.hs -o ghcsym.out; +- grep -v '^#' ghcsym.out | grep -v '^$' > $2; ++ grep -v '#' ghcsym.out | grep -v '^$' > $2; + rm -f ghcsym.hs ghcsym.out; + } + echo -n " Looking for ghc... " Index: patches/patch-script_harch =================================================================== RCS file: patches/patch-script_harch diff -N patches/patch-script_harch --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-script_harch 11 Jun 2007 15:47:43 -0000 @@ -0,0 +1,105 @@ +$OpenBSD: patch-scripts_harch,v 1.1 2004/04/23 03:14:06 dons Exp $ + +No harch black magic for OpenBSD, we don't need this. + +--- script/harch.orig Fri Jul 7 18:01:16 2006 ++++ script/harch Mon Jun 11 15:44:28 2007 +@@ -1,97 +1,2 @@ + #!/bin/sh +-# harch - determine canonical processor architecture +-# Nov 1998: first used. +-# May 1999: ensure that small differences (e.g. kernel version) +-# don't matter. +- +-PROCESSOR= +-OS= +-REL= +- +-# Unfortunately, there are a variety of incompatible +-# ways of detecting architecture, so try them all! +- +-if uname >/dev/null 2>&1 +-then +- if uname -p >/dev/null 2>&1 +- then PROCESSOR=`uname -p` +- case "$PROCESSOR" in +- unknown|*\ *) +- PROCESSOR=`uname -m` +- ;; +- esac +- else +- if arch >/dev/null 2>&1 +- then PROCESSOR=`arch` +- else PROCESSOR=`uname -m` +- fi +- fi +- OS=`uname -s` +- REL=`uname -r` +-else +- if arch >/dev/null 2>&1 +- then PROCESSOR=`arch` +- else +- if machine >/dev/null 2>&1 +- then PROCESSOR=`machine` +- else PROCESSOR='unknown' +- fi +- fi +- OS=unknown +-fi +- +- +-# Remove whitespace and slashes. +-PROCESSOR=`echo $PROCESSOR | tr '/ ' '.'` +-OS=`echo $OS | tr '/ ' '-'` +-REL=`echo $REL | tr '/ ' '-'` +- +-# Canonicalise equivalent processor families to one representative member. +-case $PROCESSOR in +- i[3456789]86) PROCESSOR=ix86;; +- athlon) PROCESSOR=ix86;; +- sun3*) PROCESSOR=sun3;; +- sun4*) PROCESSOR=sun4;; +- sparc*) PROCESSOR=sparc;; +-esac +- +-# Keep OS release number only if it might be relevant. +-case $OS in +- unknown) ;; +- Linux) ;; +- CYGWIN*) ;; +- MINGW*) ;; +- *BSD) ;; +-# BSD/OS) OS="BSD-OS"$REL ;; -- removed by slash->dash translation. +- SunOS) case $REL in +- 3*) OS=SunOS3;; +- 4*) OS=SunOS4;; +- 5*) OS=solaris2;; +- 6*) OS=solaris3;; +- *) OS=SunOS-$REL;; +- esac;; +- Darwin) case $REL in +- 5*) OS=Darwin5;; +- 6*) OS=Darwin6;; +- 7*) OS=Darwin7;; +- 8*) OS=Darwin8;; +- *) OS=Darwin-$REL;; +- esac;; +- IRIX*) case $REL in +- 5*) OS=IRIX5;; +- 6*) OS=IRIX6;; +- *) OS=IRIX-$REL;; +- esac;; +- AIX) if oslevel >/dev/null 2>&1 # AIX just has to be different +- then OS=$OS-`oslevel` +- else OS=$OS-unknown +- fi +- if lsattr -EHl proc0 | grep -i powerpc >/dev/null 2>&1 +- then PROCESSOR=powerpc +- else PROCESSOR=power +- fi ;; +- *) OS=$OS-$REL;; +-esac +- +-# And that's it. +-echo $PROCESSOR-$OS ++echo OpenBSD Index: patches/patch-script_hi_inst =================================================================== RCS file: patches/patch-script_hi_inst diff -N patches/patch-script_hi_inst --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-script_hi_inst 11 Jun 2007 15:47:43 -0000 @@ -0,0 +1,15 @@ +$OpenBSD$ + +We don't have to care about different archs installed at the same place. + +--- script/hi.inst.orig Fri Jul 7 18:01:16 2006 ++++ script/hi.inst Mon Jun 11 15:49:31 2007 +@@ -5,7 +5,7 @@ + SCRIPTDIR=${SCRIPTDIR-ScriptDir} + HMAKEDIR=${HMAKEDIR-ExecutableDir} + HMAKECONFDIR=${HMAKECONFDIR-ConfDir} +-MACHINE=${MACHINE-"`$SCRIPTDIR/harch`"} ++MACHINE=OpenBSD + INSTALLVER="InstallVer" + export MACHINE INSTALLVER HMAKEDIR HMAKECONFDIR SCRIPTDIR + Index: patches/patch-script_hmake-config_inst =================================================================== RCS file: patches/patch-script_hmake-config_inst diff -N patches/patch-script_hmake-config_inst --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-script_hmake-config_inst 11 Jun 2007 15:47:43 -0000 @@ -0,0 +1,15 @@ +$OpenBSD$ + +We don't have to care about different archs installed at the same place. + +--- script/hmake-config.inst.orig Fri Jul 7 18:01:16 2006 ++++ script/hmake-config.inst Mon Jun 11 15:50:21 2007 +@@ -4,7 +4,7 @@ + + INSTALLVER="InstallVer" + SCRIPTDIR=${SCRIPTDIR-ScriptDir} +-MACHINE=${MACHINE-"`$SCRIPTDIR/harch`"} ++MACHINE=OpenBSD + HMAKEDIR=${HMAKEDIR-ExecutableDir} + HMAKECONFDIR=${HMAKECONFDIR-ConfDir} + TMP=${TMP-/tmp} Index: patches/patch-script_hmake_inst =================================================================== RCS file: patches/patch-script_hmake_inst diff -N patches/patch-script_hmake_inst --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-script_hmake_inst 11 Jun 2007 15:47:43 -0000 @@ -0,0 +1,15 @@ +$OpenBSD$ + +We don't have to care about different archs installed at the same place. + +--- script/hmake.inst.orig Tue Sep 12 16:05:57 2006 ++++ script/hmake.inst Mon Jun 11 15:49:57 2007 +@@ -6,7 +6,7 @@ + + INSTALLVER="InstallVer" + SCRIPTDIR=${SCRIPTDIR-ScriptDir} +-MACHINE=${MACHINE-"`$SCRIPTDIR/harch`"} ++MACHINE=OpenBSD + HMAKEDIR=${HMAKEDIR-ExecutableDir} + HMAKECONFDIR=${HMAKECONFDIR-ConfDir} + TMP=${TMP-/tmp} Index: patches/patch-scripts_harch =================================================================== RCS file: patches/patch-scripts_harch diff -N patches/patch-scripts_harch --- patches/patch-scripts_harch 23 Apr 2004 03:14:06 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,17 +0,0 @@ -$OpenBSD: patch-scripts_harch,v 1.1 2004/04/23 03:14:06 dons Exp $ -Use arch as the canonical form for the processor name. -Makes substitution in PLISTs nicer. - ---- script/harch.orig Thu Apr 22 14:37:44 2004 -+++ script/harch Thu Apr 22 14:37:56 2004 -@@ -48,8 +48,8 @@ - - # Canonicalise equivalent processor families to one representative member. - case $PROCESSOR in -- i[3456789]86) PROCESSOR=ix86;; -- athlon) PROCESSOR=ix86;; -+ i[3456789]86) PROCESSOR=i386;; -+ athlon) PROCESSOR=i386;; - sun3*) PROCESSOR=sun3;; - sun4*) PROCESSOR=sun4;; - sparc*) PROCESSOR=sparc;; Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/devel/hmake/pkg/PLIST,v retrieving revision 1.5 diff -u -p -r1.5 PLIST --- pkg/PLIST 18 Sep 2004 10:55:04 -0000 1.5 +++ pkg/PLIST 11 Jun 2007 15:47:43 -0000 @@ -4,12 +4,25 @@ bin/harch bin/hi bin/hmake bin/hmake-config +bin/runhs lib/hmake/ -lib/hmake/${MACHINE_ARCH}-OpenBSD/ -lib/hmake/${MACHINE_ARCH}-OpenBSD/HInteractive -lib/hmake/${MACHINE_ARCH}-OpenBSD/MkConfig -lib/hmake/${MACHINE_ARCH}-OpenBSD/MkProg -lib/hmake/${MACHINE_ARCH}-OpenBSD/Older -lib/hmake/${MACHINE_ARCH}-OpenBSD/config -lib/hmake/${MACHINE_ARCH}-OpenBSD/hmakerc +lib/hmake/OpenBSD/ +lib/hmake/OpenBSD/HInteractive +lib/hmake/OpenBSD/MkConfig +lib/hmake/OpenBSD/MkProg +lib/hmake/OpenBSD/Older +lib/hmake/OpenBSD/config +lib/hmake/OpenBSD/hmakerc +lib/hmake/OpenBSD/runhs @man man/man1/hmake.1 [EMAIL PROTECTED] man/man1/hmake.1.orig +share/doc/hmake/ +share/doc/hmake/bugs.html +share/doc/hmake/changes.html +share/doc/hmake/hi-commands.html +share/doc/hmake/hmake-config.html +share/doc/hmake/hmake.html +share/doc/hmake/index.html +share/doc/hmake/interactive.html +share/doc/hmake/lineedit.html +share/doc/hmake/runhs.html