aboutsummaryrefslogtreecommitdiff
path: root/lang/generic-haskell
diff options
context:
space:
mode:
authorVolker Stolz <vs@FreeBSD.org>2005-02-08 15:58:21 +0000
committerVolker Stolz <vs@FreeBSD.org>2005-02-08 15:58:21 +0000
commit16e9ccae08abfd72020bdc00ff526067dc9503ac (patch)
tree35efe7ca09383c950fb14470bb5162d102191083 /lang/generic-haskell
parent43983f6bd306ae5a1ce0fc2e58e0b945a860fd38 (diff)
downloadports-16e9ccae08abfd72020bdc00ff526067dc9503ac.tar.gz
ports-16e9ccae08abfd72020bdc00ff526067dc9503ac.zip
Notes
Diffstat (limited to 'lang/generic-haskell')
-rw-r--r--lang/generic-haskell/Makefile60
-rw-r--r--lang/generic-haskell/distinfo4
-rw-r--r--lang/generic-haskell/pkg-install39
-rw-r--r--lang/generic-haskell/pkg-plist127
4 files changed, 151 insertions, 79 deletions
diff --git a/lang/generic-haskell/Makefile b/lang/generic-haskell/Makefile
index a607b9ca9b6c..cf7856f6f558 100644
--- a/lang/generic-haskell/Makefile
+++ b/lang/generic-haskell/Makefile
@@ -5,40 +5,52 @@
# $FreeBSD$
PORTNAME= generic-haskell
-PORTVERSION= 1.23
-PORTREVISION= 1
+PORTVERSION= 1.42
CATEGORIES= lang haskell
-MASTER_SITES= http://www.cs.uu.nl/research/projects/generic-haskell/compiler/beryl/
+MASTER_SITES= http://www.cs.uu.nl/research/projects/generic-haskell/compiler/coral/
DISTNAME= gh-${PORTVERSION}-source
MAINTAINER= haskell@FreeBSD.org
COMMENT= The Generic Haskell compiler
BUILD_DEPENDS= ghc:${PORTSDIR}/lang/ghc
+.if !defined(WITHOUT_HUGS) # otherwise the gh-hugs-wrapper won't work
+BUILD_DEPENDS+= hugs:${PORTSDIR}/lang/hugs
+PLIST_SUB+= HUGS=""
+.else
+PLIST_SUB+= HUGS="@comment "
+.endif
+
+RUN_DEPENDS= ${BUILD_DEPENDS}
+
+.include <bsd.port.pre.mk>
+
+.if exists(${LOCALBASE}/bin/DrIFT)
+BROKEN= "Does not build with devel/hs-drift installed"
+.endif
-USE_REINPLACE= yes
-HAS_CONFIGURE= yes
+GNU_CONFIGURE= yes
+CONFIGURE_SCRIPT= ../configure
+CONFIGURE_ARGS= --without-upx
USE_GMAKE= yes
-ALL_TARGET= gh
-
-WRKSRC= ${WRKDIR}/${DISTNAME:S/-source//}
-GHLIBDIR= ${PREFIX}/lib/generic-haskell
-
-post-patch:
- @${REINPLACE_CMD} -e 's|@prefix@|${PREFIX}|' ${WRKSRC}/src/Makefile.in
-
-do-install:
- @${INSTALL_PROGRAM} ${WRKSRC}/src/gh ${PREFIX}/bin
- @${MKDIR} ${GHLIBDIR}
- @${CP} -R ${WRKSRC}/lib/*.gh[is] ${GHLIBDIR}
- @${CP} -R ${WRKSRC}/lib/*.h[is] ${GHLIBDIR}
- @${MKDIR} ${GHLIBDIR}/Exts
- @${CP} -R ${WRKSRC}/lib/Exts/*.gh[is] ${GHLIBDIR}/Exts
- @${MKDIR} ${GHLIBDIR}/Std
- @${CP} -R ${WRKSRC}/lib/Std/*.gh[is] ${GHLIBDIR}/Std
+ALL_TARGET=
+INSTALL_TARGET= install
+
+GHC_VERSION= `${LOCALBASE}/bin/ghc --numeric-version`
+PLIST_SUB+= GHC_VERSION="${GHC_VERSION}"
+
+WRKSRC= ${WRKDIR}/${DISTNAME:S/-source//}/build
+GHLIBDIR= ${PREFIX}/${DISTNAME:S/-source//}
+PLIST_SUB+= GH=${DISTNAME:S/-source//}
+
+post-install:
+.if defined(WITHOUT_HUGS)
+ @${RM} ${PREFIX}/bin/gh-hugs
+.endif
+ @${SH} ${PKGINSTALL} generic-haskell POST-INSTALL
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
- @${CP} -R ${WRKSRC}/doc/* ${DOCSDIR}
+ @${CP} -R ${WRKDIR}/${DISTNAME:S/-source//}/doc/* ${DOCSDIR}
.endif
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/lang/generic-haskell/distinfo b/lang/generic-haskell/distinfo
index d96db417f08f..192a06a1e9e9 100644
--- a/lang/generic-haskell/distinfo
+++ b/lang/generic-haskell/distinfo
@@ -1,2 +1,2 @@
-MD5 (gh-1.23-source.tar.gz) = 8a04bb55a1ae718849b82c13c2a02e40
-SIZE (gh-1.23-source.tar.gz) = 683734
+MD5 (gh-1.42-source.tar.gz) = a741b61650f6898681857dcc07fb6564
+SIZE (gh-1.42-source.tar.gz) = 1423697
diff --git a/lang/generic-haskell/pkg-install b/lang/generic-haskell/pkg-install
new file mode 100644
index 000000000000..e565647bcfa9
--- /dev/null
+++ b/lang/generic-haskell/pkg-install
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# exit on errors, use a sane path and install prefix
+# (stolen from x11/xplore)
+set -e
+PATH=/bin:/usr/bin:/sbin:/usr/sbin:
+PREFIX=${PREFIX:-${PKG_PREFIX:-/usr/local}}
+
+case $2 in
+ PRE-INSTALL)
+ : nothing to pre-install for this port
+ ;;
+ POST-INSTALL)
+ # inlined copy of WRKSRC/generic-haskell.pkg below:
+ libdir=${PREFIX}/gh-1.42/lib
+ ${PREFIX}/bin/ghc-pkg -a <<EOF
+Package {
+ name = "generic-haskell",
+ import_dirs = ["${libdir}"],
+ source_dirs = [],
+ library_dirs = ["${libdir}"],
+ hs_libraries = ["HSgeneric-haskell"],
+ extra_libraries = [],
+ include_dirs = [],
+ c_includes = [],
+ package_deps = ["base","haskell98"],
+ extra_ghc_opts = [],
+ extra_cc_opts = [],
+ extra_ld_opts = []
+}
+EOF
+ ;;
+ *)
+ echo "usage: $0 distname { PRE-INSTALL | POST-INSTALL }" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/lang/generic-haskell/pkg-plist b/lang/generic-haskell/pkg-plist
index e01cef9f14bb..a6e93f3af97b 100644
--- a/lang/generic-haskell/pkg-plist
+++ b/lang/generic-haskell/pkg-plist
@@ -1,54 +1,75 @@
bin/gh
-lib/generic-haskell/Bounds.ghi
-lib/generic-haskell/Bounds.ghs
-lib/generic-haskell/Collect.ghi
-lib/generic-haskell/Collect.ghs
-lib/generic-haskell/Compare.ghi
-lib/generic-haskell/Compare.ghs
-lib/generic-haskell/Datatypes.ghi
-lib/generic-haskell/Datatypes.ghs
-lib/generic-haskell/DeepSeq.ghi
-lib/generic-haskell/DeepSeq.ghs
-lib/generic-haskell/Eq.ghi
-lib/generic-haskell/Eq.ghs
-lib/generic-haskell/GHPrelude.ghi
-lib/generic-haskell/GHPrelude.ghs
-lib/generic-haskell/GHPrelude.hs
-lib/generic-haskell/Map.ghi
-lib/generic-haskell/Map.ghs
-lib/generic-haskell/MapM.ghi
-lib/generic-haskell/MapM.ghs
-lib/generic-haskell/Prelude.ghi
-lib/generic-haskell/ReadShow.ghi
-lib/generic-haskell/ReadShow.ghs
-lib/generic-haskell/Reduce.ghi
-lib/generic-haskell/Reduce.ghs
-lib/generic-haskell/Table.ghi
-lib/generic-haskell/Table.ghs
-lib/generic-haskell/ZipWith.ghi
-lib/generic-haskell/ZipWith.ghs
-lib/generic-haskell/Exts/IOExts.ghi
-lib/generic-haskell/Exts/IORef.ghi
-lib/generic-haskell/Exts/Pretty.ghi
-lib/generic-haskell/Std/Array.ghi
-lib/generic-haskell/Std/CPUTime.ghi
-lib/generic-haskell/Std/Char.ghi
-lib/generic-haskell/Std/Complex.ghi
-lib/generic-haskell/Std/IO.ghi
-lib/generic-haskell/Std/Ix.ghi
-lib/generic-haskell/Std/List.ghi
-lib/generic-haskell/Std/Locale.ghi
-lib/generic-haskell/Std/Maybe.ghi
-lib/generic-haskell/Std/Monad.ghi
-lib/generic-haskell/Std/Numeric.ghi
-lib/generic-haskell/Std/Prelude.ghi
-lib/generic-haskell/Std/Random.ghi
-lib/generic-haskell/Std/Ratio.ghi
-lib/generic-haskell/Std/System.ghi
-lib/generic-haskell/Std/Time.ghi
-%%PORTDOCS%%share/doc/generic-haskell/GHUsersGuide.pdf
-%%PORTDOCS%%share/doc/generic-haskell/RELEASE
-%%PORTDOCS%%@dirrm share/doc/generic-haskell
-@dirrm lib/generic-haskell/Exts
-@dirrm lib/generic-haskell/Std
-@dirrm lib/generic-haskell
+bin/gh-ghc
+bin/gh-ghci
+%%HUGS%%bin/gh-hugs
+%%GH%%/bin/gh
+%%GH%%/bin/gh-bin
+%%GH%%/bin/gh-ghc
+%%GH%%/bin/gh-ghci
+%%GH%%/bin/gh-hugs
+%%GH%%/bin/testGH
+%%GH%%/bin/testGH-bin
+%%GH%%/lib/GH/Datatypes.ghi
+%%GH%%/lib/GH/Datatypes.hi
+%%GH%%/lib/GH/Datatypes.hs
+%%GH%%/lib/GH/Library.ghi
+%%GH%%/lib/GH/Library.hi
+%%GH%%/lib/GH/Library.hs
+%%GH%%/lib/GH/Library/Bounds.ghi
+%%GH%%/lib/GH/Library/Bounds.hi
+%%GH%%/lib/GH/Library/Bounds.hs
+%%GH%%/lib/GH/Library/Collect.ghi
+%%GH%%/lib/GH/Library/Collect.hi
+%%GH%%/lib/GH/Library/Collect.hs
+%%GH%%/lib/GH/Library/Compare.ghi
+%%GH%%/lib/GH/Library/Compare.hi
+%%GH%%/lib/GH/Library/Compare.hs
+%%GH%%/lib/GH/Library/DeepSeq.ghi
+%%GH%%/lib/GH/Library/DeepSeq.hi
+%%GH%%/lib/GH/Library/DeepSeq.hs
+%%GH%%/lib/GH/Library/Enum.ghi
+%%GH%%/lib/GH/Library/Enum.hi
+%%GH%%/lib/GH/Library/Enum.hs
+%%GH%%/lib/GH/Library/Eq.ghi
+%%GH%%/lib/GH/Library/Eq.hi
+%%GH%%/lib/GH/Library/Eq.hs
+%%GH%%/lib/GH/Library/Map.ghi
+%%GH%%/lib/GH/Library/Map.hi
+%%GH%%/lib/GH/Library/Map.hs
+%%GH%%/lib/GH/Library/MapM.ghi
+%%GH%%/lib/GH/Library/MapM.hi
+%%GH%%/lib/GH/Library/MapM.hs
+%%GH%%/lib/GH/Library/ReadShow.ghi
+%%GH%%/lib/GH/Library/ReadShow.hi
+%%GH%%/lib/GH/Library/ReadShow.hs
+%%GH%%/lib/GH/Library/Reduce.ghi
+%%GH%%/lib/GH/Library/Reduce.hi
+%%GH%%/lib/GH/Library/Reduce.hs
+%%GH%%/lib/GH/Library/Table.ghi
+%%GH%%/lib/GH/Library/Table.hi
+%%GH%%/lib/GH/Library/Table.hs
+%%GH%%/lib/GH/Library/ZipWith.ghi
+%%GH%%/lib/GH/Library/ZipWith.hi
+%%GH%%/lib/GH/Library/ZipWith.hs
+%%GH%%/lib/GH/Prelude.ghi
+%%GH%%/lib/GH/Prelude.hi
+%%GH%%/lib/GH/Prelude.hs
+%%GH%%/lib/HSgeneric-haskell.o
+%%GH%%/lib/interfaces/Char.ghi
+%%GH%%/lib/interfaces/List.ghi
+%%GH%%/lib/interfaces/Maybe.ghi
+%%GH%%/lib/interfaces/Monad.ghi
+%%GH%%/lib/interfaces/Prelude.ghi
+%%GH%%/lib/libHSgeneric-haskell.a
+%%GH%%/lib/optimizer/OptimizerPrelude.hs
+@dirrm %%GH%%/bin
+@dirrm %%GH%%/lib/GH/Library
+@dirrm %%GH%%/lib/GH
+@dirrm %%GH%%/lib/interfaces
+@dirrm %%GH%%/lib/optimizer
+@dirrm %%GH%%/lib
+%%PORTDOCS%%%%DOCSDIR%%/GHUsersGuide.pdf
+%%PORTDOCS%%%%DOCSDIR%%/RELEASE
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
+@unexec %D/bin/ghc-pkg -r generic-haskell
+@unexec /bin/rm -f %D/lib/ghc-%%GHC_VERSION%%/package.conf.old