summaryrefslogtreecommitdiff
path: root/lang/ghc
diff options
context:
space:
mode:
authorkristerw <kristerw>2006-07-31 02:07:13 +0000
committerkristerw <kristerw>2006-07-31 02:07:13 +0000
commit52e392c69f808afdfaae24393749f0bffe1c54b4 (patch)
tree9cb8a687430c967f3576de60599c6af8396da884 /lang/ghc
parent52827ef090dde40ce09535f5649fceb1ad636577 (diff)
downloadpkgsrc-52e392c69f808afdfaae24393749f0bffe1c54b4.tar.gz
Update the bootstrap kit to make this build on NetBSD-current too.
Fix some hardcoded paths. Bump PKGREVISION.
Diffstat (limited to 'lang/ghc')
-rw-r--r--lang/ghc/Makefile55
-rw-r--r--lang/ghc/distinfo22
-rw-r--r--lang/ghc/patches/patch-aa23
-rw-r--r--lang/ghc/patches/patch-ab23
-rw-r--r--lang/ghc/patches/patch-ac13
-rw-r--r--lang/ghc/patches/patch-ad12
-rw-r--r--lang/ghc/patches/patch-ae15
-rw-r--r--lang/ghc/patches/patch-af4
-rw-r--r--lang/ghc/patches/patch-ag4
9 files changed, 60 insertions, 111 deletions
diff --git a/lang/ghc/Makefile b/lang/ghc/Makefile
index 47e2b40e15e..b267f71b7b8 100644
--- a/lang/ghc/Makefile
+++ b/lang/ghc/Makefile
@@ -1,50 +1,47 @@
-# $NetBSD: Makefile,v 1.30 2006/07/27 23:45:08 kristerw Exp $
+# $NetBSD: Makefile,v 1.31 2006/07/31 02:07:13 kristerw Exp $
DISTNAME= ghc-6.4.2
-PKGREVISION= 2
+PKGREVISION= 3
CATEGORIES= lang
MASTER_SITES= http://www.haskell.org/ghc/dist/6.4.2/
DISTFILES= ghc-6.4.2-src.tar.bz2 \
- ghc-6.2.1-src.tar.bz2 \
- ghc-6.2.1-i386-unknown-netbsd-hc.tar.gz
+ ghc-6.4.2-i386-unknown-netbsd-hc.tar.gz
MAINTAINER= kristerw@NetBSD.org
HOMEPAGE= http://www.haskell.org/ghc/
COMMENT= Compiler for the functional language Haskell
-SITES.ghc-6.2.1-i386-unknown-netbsd-hc.tar.gz=${MASTER_SITE_LOCAL}
-SITES.ghc-6.2.1-src.tar.bz2=http://www.haskell.org/ghc/dist/6.2.1/
+SITES.ghc-6.4.2-i386-unknown-netbsd-hc.tar.gz=${MASTER_SITE_LOCAL}
-ONLY_FOR_PLATFORM= NetBSD-1.5*-i386 NetBSD-1.6*-i386 NetBSD-[2-9]*-i386
+ONLY_FOR_PLATFORM= NetBSD-*-i386
GNU_CONFIGURE= yes
-CONFIGURE_ARGS+= --with-ghc=${WRKDIR}/bootstrap/bin/ghc
+CONFIGURE_ARGS+= --with-ghc=${WRKDIR}/ghc-boot/ghc/compiler/ghc-inplace
CONFIGURE_ENV+= PerlCmd=${PERL5:Q}
USE_GNU_READLINE= yes # uses the UNDO_ constants
USE_TOOLS+= gmake perl:run
-pre-configure:
- ${MV} ${WRKDIR}/ghc-6.2.1/mk/bootstrap.mk \
- ${WRKDIR}/ghc-6.2.1/mk/bootstrap.mk.tmp
- ${SED} -e 's,@PREFIX@,${PREFIX},g' \
- < ${WRKDIR}/ghc-6.2.1/mk/bootstrap.mk.tmp \
- > ${WRKDIR}/ghc-6.2.1/mk/bootstrap.mk
- ${MV} ${WRKDIR}/ghc-6.2.1/libraries/readline/package.conf.in \
- ${WRKDIR}/ghc-6.2.1/libraries/readline/package.conf.in.tmp
- ${SED} -e 's,@PREFIX@,${PREFIX},g' \
- < ${WRKDIR}/ghc-6.2.1/libraries/readline/package.conf.in.tmp \
- > ${WRKDIR}/ghc-6.2.1/libraries/readline/package.conf.in
- ${MV} ${WRKDIR}/ghc-6.2.1/ghc/rts/package.conf.in \
- ${WRKDIR}/ghc-6.2.1/ghc/rts/package.conf.in.tmp
- ${SED} -e 's,@PREFIX@,${PREFIX},g' \
- < ${WRKDIR}/ghc-6.2.1/ghc/rts/package.conf.in.tmp \
- > ${WRKDIR}/ghc-6.2.1/ghc/rts/package.conf.in
- cd ${WRKDIR}/ghc-6.2.1 && \
- ./distrib/hc-build \
- --enable-hc-boot-unregisterised \
- --prefix=${WRKDIR}/bootstrap
- cd ${WRKDIR}/ghc-6.2.1 && ${GMAKE} stage=1 install
+SUBST_CLASSES+= add_paths
+SUBST_STAGE.add_paths= post-patch
+SUBST_FILES.add_paths= mk/bootstrap.mk
+SUBST_FILES.add_paths+= ghc/rts/package.conf.in
+SUBST_FILES.add_paths+= libraries/readline/package.conf.in
+SUBST_SED.add_paths= -e 's,@PREFIX@,${PREFIX},g'
+pre-configure:
+ ${MKDIR} ${WRKDIR}/ghc-boot \
+ && cd ${WRKSRC} && ${PAX} -rw . ${WRKDIR}/ghc-boot
+ cd ${WRKDIR}/ghc-boot && \
+ ./distrib/hc-build --enable-hc-boot-unregisterised
+
+# The ghc compiler does normally split the generated C files into small
+# parts before sending them to gcc, to enable the linker to eliminate
+# unused parts. This does however not play nice with tha pkgsrc
+# framework, and the result is that the build takes more than 5 times
+# as long than when the files are not split. See
+# http://mail-index.netbsd.org/tech-pkg/2006/07/30/0005.html
+# for a description of the problem.
+# Disable file splitting until until pkgsrc has been improved.
pre-build:
${ECHO} "SplitObjs=NO" > ${WRKSRC}/mk/build.mk
diff --git a/lang/ghc/distinfo b/lang/ghc/distinfo
index e5f87a428b9..846b06bcbc4 100644
--- a/lang/ghc/distinfo
+++ b/lang/ghc/distinfo
@@ -1,19 +1,13 @@
-$NetBSD: distinfo,v 1.14 2006/07/27 23:45:08 kristerw Exp $
+$NetBSD: distinfo,v 1.15 2006/07/31 02:07:13 kristerw Exp $
+SHA1 (ghc-6.4.2-i386-unknown-netbsd-hc.tar.gz) = 29c1a17a83ec0ddec8ff231e009c740ebc61dd6c
+RMD160 (ghc-6.4.2-i386-unknown-netbsd-hc.tar.gz) = 5ce775a19797fe257357fedd33db2354dd50d2de
+Size (ghc-6.4.2-i386-unknown-netbsd-hc.tar.gz) = 9927295 bytes
SHA1 (ghc-6.4.2-src.tar.bz2) = 60bcea323f851caa84d49c7731b86164d5cefa42
RMD160 (ghc-6.4.2-src.tar.bz2) = 19943eb2673e663973e64739cdf23720b6f36d38
Size (ghc-6.4.2-src.tar.bz2) = 6954958 bytes
-SHA1 (ghc-6.2.1-src.tar.bz2) = 84343ff06ee5645ee3f8b428635525e5ebdfcc65
-RMD160 (ghc-6.2.1-src.tar.bz2) = 9f041e207379715fcb7ee378743baa42d3be0311
-Size (ghc-6.2.1-src.tar.bz2) = 5367409 bytes
-SHA1 (ghc-6.2.1-i386-unknown-netbsd-hc.tar.gz) = 422a0e6865517f7d5e5adbd6c13537391358020b
-RMD160 (ghc-6.2.1-i386-unknown-netbsd-hc.tar.gz) = 9701efd3e184e97a4a68667a7551884c9dc9074f
-Size (ghc-6.2.1-i386-unknown-netbsd-hc.tar.gz) = 7780890 bytes
-SHA1 (patch-aa) = 3765860d28975bca503468dab65cdb16e956dcdf
-SHA1 (patch-ab) = 623f5917bd1b9ffa5415a27c90f94b685fddd962
-SHA1 (patch-ac) = 76412be08baf638d526f568adf224627d09ba72b
-SHA1 (patch-ad) = 73f5593587d20ad8f6bab5b6586c043c838e83a8
-SHA1 (patch-ae) = 994e5c93c93e82c6c375f21ae172eac5a887d756
-SHA1 (patch-af) = a0c44c8b43b4ca7489a4e14a247ca959764e7bc5
-SHA1 (patch-ag) = 9d9e39fbb97c516fcd9d8775cfe4f88d0ecbdb43
+SHA1 (patch-aa) = 7d0890361fb7642ab8c2e8066e546dc543cd5d62
+SHA1 (patch-ab) = ae5fea00aad1f524fe4d26f614873c6e42a26603
+SHA1 (patch-af) = e7432183001727b5c4b56260d0404fd782ad59af
+SHA1 (patch-ag) = 2b51360567c3742e1c9f57b3e01a5cc45f04d436
SHA1 (patch-ah) = 243b1b98ce48873ded6c45dd0ff3541e8284bf00
diff --git a/lang/ghc/patches/patch-aa b/lang/ghc/patches/patch-aa
index e4147d4498f..8ba05dff3ad 100644
--- a/lang/ghc/patches/patch-aa
+++ b/lang/ghc/patches/patch-aa
@@ -1,12 +1,13 @@
-$NetBSD: patch-aa,v 1.6 2005/05/21 20:22:21 kristerw Exp $
+$NetBSD: patch-aa,v 1.7 2006/07/31 02:07:13 kristerw Exp $
---- ../ghc-6.2.1/mk/bootstrap.mk.orig Tue May 25 22:00:52 2004
-+++ ../ghc-6.2.1/mk/bootstrap.mk Tue May 25 22:01:59 2004
-@@ -136,6 +136,7 @@
- -u "$(UNDERSCORE)GHCziWeak_runFinalizzerBatch_closure" \
- -u "$(UNDERSCORE)__stginit_Prelude"
-
-+HC_BOOT_LD_OPTS += -Wl,-R@PREFIX@/lib
-
- HC_BOOT_LIBS =
-
+--- ghc/Makefile.orig 2006-07-30 14:26:56.000000000 +0200
++++ ghc/Makefile 2006-07-30 14:27:26.000000000 +0200
+@@ -22,7 +22,7 @@
+ # we descend into subdirs - to boot utils must be before driver.
+ #
+ ifeq "$(BootingFromHc)" "YES"
+-SUBDIRS = includes rts docs compiler lib utils driver
++SUBDIRS = includes rts docs lib compiler utils driver
+ else
+ ifneq "$(ILXized)" "YES"
+ SUBDIRS = includes lib utils driver docs compiler rts
diff --git a/lang/ghc/patches/patch-ab b/lang/ghc/patches/patch-ab
index 77c11762e09..e55923c92f4 100644
--- a/lang/ghc/patches/patch-ab
+++ b/lang/ghc/patches/patch-ab
@@ -1,16 +1,13 @@
-$NetBSD: patch-ab,v 1.6 2005/05/21 20:22:21 kristerw Exp $
+$NetBSD: patch-ab,v 1.7 2006/07/31 02:07:13 kristerw Exp $
---- ../ghc-6.2.1/ghc/includes/PosixSource.h.orig Sat May 22 19:36:17 2004
-+++ ../ghc-6.2.1/ghc/includes/PosixSource.h Sat May 22 19:36:30 2004
-@@ -10,9 +10,11 @@
- #ifndef POSIXSOURCE_H
- #define POSIXSOURCE_H
+--- mk/bootstrap.mk.orig 2006-07-29 01:11:13.000000000 +0200
++++ mk/bootstrap.mk 2006-07-29 01:12:31.000000000 +0200
+@@ -149,7 +149,7 @@
+ HC_BOOT_LIBS += -lHSreadline -lHStemplate-haskell -lHSunix -lHSunix_cbits
+ endif
-+#if 0
- #define _POSIX_SOURCE 1
- #define _POSIX_C_SOURCE 199506L
- #define _ISOC9X_SOURCE
-+#endif
-
- /* Let's be ISO C9X too... */
+-HC_BOOT_LIBS += -lHSCabal -lHShaskell98 -lHSbase -lHSbase_cbits -lHSparsec -lHSrts -lgmp -lm $(EXTRA_HC_BOOT_LIBS)
++HC_BOOT_LIBS += -lHSCabal -lHShaskell98 -lHSbase -lHSbase_cbits -lHSparsec -lHSrts -lgmp -Wl,-R@PREFIX@/lib -L@PREFIX@/lib -lm $(EXTRA_HC_BOOT_LIBS)
+ ifeq "$(GhcLibsWithReadline)" "YES"
+ HC_BOOT_LIBS += $(patsubst %, -l%, $(LibsReadline))
diff --git a/lang/ghc/patches/patch-ac b/lang/ghc/patches/patch-ac
deleted file mode 100644
index 60075b964d4..00000000000
--- a/lang/ghc/patches/patch-ac
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-ac,v 1.4 2005/05/21 20:22:21 kristerw Exp $
-
---- ../ghc-6.2.1/ghc/rts/package.conf.in.orig Mon Mar 1 16:26:29 2004
-+++ ../ghc-6.2.1/ghc/rts/package.conf.in Fri May 28 17:20:27 2004
-@@ -131,6 +131,8 @@
- , "-u", "GHCziWeak_runFinalizzerBatch_closure"
- , "-u", "__stginit_Prelude"
- #endif
-+ , "-Wl", "-R@PREFIX@/lib"
-+ , "-L", "@PREFIX@/lib"
- ]
- #ifdef HAVE_FRAMEWORK_HASKELLSUPPORT
- , extra_frameworks = [ "HaskellSupport" ]
diff --git a/lang/ghc/patches/patch-ad b/lang/ghc/patches/patch-ad
deleted file mode 100644
index 5ee7d8dae7d..00000000000
--- a/lang/ghc/patches/patch-ad
+++ /dev/null
@@ -1,12 +0,0 @@
-$NetBSD: patch-ad,v 1.6 2005/05/21 20:22:21 kristerw Exp $
-
---- ../ghc-6.2.1/distrib/hc-build.orig Sat May 29 03:20:17 2004
-+++ ../ghc-6.2.1/distrib/hc-build Sat May 29 03:21:31 2004
-@@ -95,6 +95,6 @@
- # The reconfigure step updates a few files, which can lead to
- # unnecessary recompilations. Touch a bunch of things here to avoid
- # having to recompile stuff that we've already built.
--(cd ghc/compiler; touch $PRIMOP_BITS parser/hschooks.o prelude/PrimOp.o main/Config.hs main/Config.o ghc-*)
-+(cd ghc/compiler; touch $PRIMOP_BITS stage1/parser/hschooks.o stage1/prelude/PrimOp.o main/Config.hs stage1/main/Config.o stage1/ghc-*)
-
- # At this point, the tree should be safe to do 'make install' in.
diff --git a/lang/ghc/patches/patch-ae b/lang/ghc/patches/patch-ae
deleted file mode 100644
index 457cdfdb989..00000000000
--- a/lang/ghc/patches/patch-ae
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-ae,v 1.5 2005/05/21 20:22:21 kristerw Exp $
-
---- ../ghc-6.2.1/libraries/readline/package.conf.in.orig Fri May 28 17:22:30 2004
-+++ ../ghc-6.2.1/libraries/readline/package.conf.in Fri May 28 17:24:06 2004
-@@ -29,5 +29,9 @@
- package_deps = [ "base" ],
- extra_ghc_opts = [],
- extra_cc_opts = [],
-- extra_ld_opts = []
-+ extra_ld_opts =
-+ [
-+ "-Wl", "-R@PREFIX@/lib"
-+ , "-L", "@PREFIX@/lib"
-+ ]
- }
diff --git a/lang/ghc/patches/patch-af b/lang/ghc/patches/patch-af
index 79e1cdb795c..2e71fdf2605 100644
--- a/lang/ghc/patches/patch-af
+++ b/lang/ghc/patches/patch-af
@@ -1,4 +1,4 @@
-$NetBSD: patch-af,v 1.5 2005/05/21 20:22:21 kristerw Exp $
+$NetBSD: patch-af,v 1.6 2006/07/31 02:07:13 kristerw Exp $
--- ghc/rts/package.conf.in.orig 2005-05-20 21:07:55.000000000 +0200
+++ ghc/rts/package.conf.in 2005-05-20 21:08:58.000000000 +0200
@@ -7,7 +7,7 @@ $NetBSD: patch-af,v 1.5 2005/05/21 20:22:21 kristerw Exp $
cc-options:
-ld-options:
-+ld-options: "-Wl","-R/usr/pkg/lib","-L","/usr/pkg/lib",
++ld-options: "-Wl","-R@PREFIX@/lib","-L","@PREFIX@/lib",
#ifdef LEADING_UNDERSCORE
"-u", "_GHCziBase_Izh_static_info"
, "-u", "_GHCziBase_Czh_static_info"
diff --git a/lang/ghc/patches/patch-ag b/lang/ghc/patches/patch-ag
index 2d7bd26a501..80fc78db3a7 100644
--- a/lang/ghc/patches/patch-ag
+++ b/lang/ghc/patches/patch-ag
@@ -1,4 +1,4 @@
-$NetBSD: patch-ag,v 1.3 2005/05/21 20:22:21 kristerw Exp $
+$NetBSD: patch-ag,v 1.4 2006/07/31 02:07:13 kristerw Exp $
--- libraries/readline/package.conf.in.orig 2005-05-20 20:59:44.000000000 +0200
+++ libraries/readline/package.conf.in 2005-05-20 21:07:43.000000000 +0200
@@ -7,7 +7,7 @@ $NetBSD: patch-ag,v 1.3 2005/05/21 20:22:21 kristerw Exp $
hugs-options:
cc-options:
-ld-options:
-+ld-options: "-Wl","-R/usr/pkg/lib","-L","/usr/pkg/lib"
++ld-options: "-Wl","-R@PREFIX@/lib","-L","@PREFIX@/lib"
framework-dirs:
frameworks:
haddock-interfaces: HADDOCK_IFACE