summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Parrott <cparrott@gentoo.org>2007-04-06 16:26:05 +0000
committerChris Parrott <cparrott@gentoo.org>2007-04-06 16:26:05 +0000
commit9ada142c0b5e8dc0fb305836ad3a703c0cbc4d4b (patch)
treeda616a06725276248f8fddadd2c7bce0030f6a82 /dev-lang
parentStable for HPPA (bug #144833). (diff)
downloadgentoo-2-9ada142c0b5e8dc0fb305836ad3a703c0cbc4d4b.tar.gz
gentoo-2-9ada142c0b5e8dc0fb305836ad3a703c0cbc4d4b.tar.bz2
gentoo-2-9ada142c0b5e8dc0fb305836ad3a703c0cbc4d4b.zip
added patches to workaround sparc RTS bug on ghc-6.6
(Portage version: 2.1.2.3)
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/ghc/ChangeLog6
-rw-r--r--dev-lang/ghc/files/ghc-6.6-nothreadedrts.patch24
-rw-r--r--dev-lang/ghc/ghc-6.6.ebuild20
3 files changed, 44 insertions, 6 deletions
diff --git a/dev-lang/ghc/ChangeLog b/dev-lang/ghc/ChangeLog
index 2495c9a39952..8d15e1862a26 100644
--- a/dev-lang/ghc/ChangeLog
+++ b/dev-lang/ghc/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for dev-lang/ghc
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.118 2007/03/29 15:00:00 corsair Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.119 2007/04/06 16:26:05 cparrott Exp $
+
+ 06 Apr 2007; Chris Parrott <cparrott@gentoo.org>
+ +files/ghc-6.6-nothreadedrts.patch, ghc-6.6.ebuild:
+ added patches to workaround RTS problem on sparc
29 Mar 2007; Markus Rothe <corsair@gentoo.org> ghc-6.4.2.ebuild,
ghc-6.6.ebuild:
diff --git a/dev-lang/ghc/files/ghc-6.6-nothreadedrts.patch b/dev-lang/ghc/files/ghc-6.6-nothreadedrts.patch
new file mode 100644
index 000000000000..24224203189f
--- /dev/null
+++ b/dev-lang/ghc/files/ghc-6.6-nothreadedrts.patch
@@ -0,0 +1,24 @@
+--- ghc-6.6/compiler/Makefile 2006-10-10 14:03:51.000000000 -0500
++++ ghc-6.6.patched/compiler/Makefile 2007-04-04 11:57:06.000000000 -0500
+@@ -415,7 +415,9 @@
+ PKG_DEPENDS += template-haskell
+
+ # Use threaded RTS with GHCi, so threads don't get blocked at the prompt.
++ifneq "$(GhcNotThreaded)" "YES"
+ SRC_HC_OPTS += -threaded
++endif
+
+ ALL_DIRS += ghci
+
+--- ghc-6.6/compiler/Makefile.ghcbin 2006-10-10 14:03:52.000000000 -0500
++++ ghc-6.6.patched/compiler/Makefile.ghcbin 2007-04-04 11:57:30.000000000 -0500
+@@ -26,7 +26,9 @@
+ SRC_HC_OPTS += -DGHCI -DBREAKPOINT
+ endif
+
++ifneq "$(GhcNotThreaded)" "YES"
+ SRC_HC_OPTS += -threaded
++endif
+
+ odir=stage$(stage)
+
diff --git a/dev-lang/ghc/ghc-6.6.ebuild b/dev-lang/ghc/ghc-6.6.ebuild
index afabea0c4e28..5c1b896ce96f 100644
--- a/dev-lang/ghc/ghc-6.6.ebuild
+++ b/dev-lang/ghc/ghc-6.6.ebuild
@@ -1,11 +1,11 @@
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.6.ebuild,v 1.2 2007/03/29 15:00:00 corsair Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.6.ebuild,v 1.3 2007/04/06 16:26:05 cparrott Exp $
# Brief explanation of the bootstrap logic:
#
# ghc requires ghc-bin to bootstrap.
-# Therefore,
+# Therefore,
# (1) both ghc-bin and ghc provide virtual/ghc
# (2) virtual/ghc *must* default to ghc-bin
# (3) ghc depends on virtual/ghc
@@ -167,6 +167,9 @@ src_unpack() {
cd "${S}"
# Fix sparc split-objs linking problem
epatch "${FILESDIR}/ghc-6.5-norelax.patch"
+
+ # Disable threaded runtime build to work around RTS bugs on sparc
+ epatch "${FILESDIR}/ghc-6.6-nothreadedrts.patch"
}
src_compile() {
@@ -207,9 +210,16 @@ src_compile() {
# Some arches do support some ghc features even though they're off by default
use ia64 && echo "GhcWithInterpreter=YES" >> mk/build.mk
- # And some arches used to work ok, but bork with recent gcc versions
- # See bug #145466 for ppc64.
- use ppc64 && echo "GhcUnregisterised=YES" >> mk/build.mk
+ # Workaround for threaded RTS bugs on sparc in ghc-6.6
+ # This is rather draconian, hopefully upstream fixes this soon.
+ if use sparc; then
+ echo "GhcUnregisterised=YES" >> mk/build.mk
+ echo "GhcWithNativeCodeGen=NO" >> mk/build.mk
+ echo "GhcWithInterpreter=NO" >> mk/build.mk
+ echo "SplitObjs=NO" >> mk/build.mk
+ echo "GhcRTSWays := debug" >> mk/build.mk
+ echo "GhcNotThreaded=YES" >> mk/build.mk
+ fi
# The SplitObjs feature makes 'ar'/'ranlib' take loads of RAM:
CHECKREQS_MEMORY="200"