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

Reply via email to