added patches to workaround sparc RTS bug on ghc-6.6
authorChris Parrott <cparrott@gentoo.org>
Fri, 6 Apr 2007 16:26:05 +0000 (16:26 +0000)
committerChris Parrott <cparrott@gentoo.org>
Fri, 6 Apr 2007 16:26:05 +0000 (16:26 +0000)
Package-Manager: portage-2.1.2.3

dev-lang/ghc/ChangeLog
dev-lang/ghc/Manifest
dev-lang/ghc/files/ghc-6.6-nothreadedrts.patch [new file with mode: 0644]
dev-lang/ghc/ghc-6.6.ebuild

index 2495c9a39952688730741e01409bb30e06023abb..8d15e1862a268d71c310e1a1f5e09d5dc71357d4 100644 (file)
@@ -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:
index 5e2d2d8a6030322193442f6fe1df45272325ef20..a804ce5ecf06e946f30a52cfdd1e6ddc72513794 100644 (file)
@@ -1,3 +1,6 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
 AUX depsort.py 1958 RMD160 4192ad9ed14064a9da42ce1faedcf28996094da3 SHA1 2c900abeb6cfcc4327f0e9418b5abd7761ce5879 SHA256 7406f639d17b8acab6a1db7e398e74379b44950d4821bc36901abd3455d63b3d
 MD5 7e423c353b08a2c05693d13f21e067d0 files/depsort.py 1958
 RMD160 4192ad9ed14064a9da42ce1faedcf28996094da3 files/depsort.py 1958
@@ -30,6 +33,10 @@ AUX ghc-6.5-norelax.patch 578 RMD160 f41d1b9f93cff339fac01660bfeed5d2aeb32757 SH
 MD5 406397414acecec0aa1eb548bac52099 files/ghc-6.5-norelax.patch 578
 RMD160 f41d1b9f93cff339fac01660bfeed5d2aeb32757 files/ghc-6.5-norelax.patch 578
 SHA256 fb1bdd958116b5b17b4233517c45bee243a9b4503b20469d23b3d716d2889cac files/ghc-6.5-norelax.patch 578
+AUX ghc-6.6-nothreadedrts.patch 665 RMD160 402c8eb78dc648e55d1d7e00c695b49abe0f293d SHA1 8d0bc56096ebe781371dffa668de48a97173cd32 SHA256 bdfb000a70d97bb7341dda5a2ec48bb7f688532ade830eb2d73c7fa6ef1eead1
+MD5 ec4b234602e907111db61eb1193c719e files/ghc-6.6-nothreadedrts.patch 665
+RMD160 402c8eb78dc648e55d1d7e00c695b49abe0f293d files/ghc-6.6-nothreadedrts.patch 665
+SHA256 bdfb000a70d97bb7341dda5a2ec48bb7f688532ade830eb2d73c7fa6ef1eead1 files/ghc-6.6-nothreadedrts.patch 665
 AUX ghc-updater 9045 RMD160 b044a26add18464b583702f3cac667521c5eb06f SHA1 f5ccd2bf9f78f895368a1ff64ceddd5703f1d13b SHA256 eafc2eb58a9c1ad0263fd498cad00f50b0d04860cd8e26aa201910f77d74efbe
 MD5 e7ba0887c43fd8333a4d1bd92c184244 files/ghc-updater 9045
 RMD160 b044a26add18464b583702f3cac667521c5eb06f files/ghc-updater 9045
@@ -56,14 +63,14 @@ EBUILD ghc-6.4.2.ebuild 10933 RMD160 b67ba084a9ac90df327f855bdee9b3725423e938 SH
 MD5 ac3cc3e261445ecb6f28542b8896b590 ghc-6.4.2.ebuild 10933
 RMD160 b67ba084a9ac90df327f855bdee9b3725423e938 ghc-6.4.2.ebuild 10933
 SHA256 c689e94b6fdb59410aadfc7cf80ac5c4883791fb577e7370a266a721f9867a42 ghc-6.4.2.ebuild 10933
-EBUILD ghc-6.6.ebuild 9969 RMD160 3322ca2e3caf74f065fd2023c294e07f7dac9167 SHA1 cd8594b74eb63c64d198c03c156dd6f4c3bcffe6 SHA256 e81c4b5ddf5a5c4bb27470571bc69266e20be45fd6e3032ee22aab2153d6c2be
-MD5 775b49ba69761e8876a3b11a0b662df1 ghc-6.6.ebuild 9969
-RMD160 3322ca2e3caf74f065fd2023c294e07f7dac9167 ghc-6.6.ebuild 9969
-SHA256 e81c4b5ddf5a5c4bb27470571bc69266e20be45fd6e3032ee22aab2153d6c2be ghc-6.6.ebuild 9969
-MISC ChangeLog 20424 RMD160 9ebd6b5e204d5eb7922924df3332cf6607827ec5 SHA1 3269d040b8a19d112c18c11f502b0515d0e00851 SHA256 97ffd0ae84d7d5d406b3395dabf7fdedcf3c2073042bee09707ca0feb719a1b3
-MD5 22914c50536194c85a6bc5af8c65b45f ChangeLog 20424
-RMD160 9ebd6b5e204d5eb7922924df3332cf6607827ec5 ChangeLog 20424
-SHA256 97ffd0ae84d7d5d406b3395dabf7fdedcf3c2073042bee09707ca0feb719a1b3 ChangeLog 20424
+EBUILD ghc-6.6.ebuild 10340 RMD160 e834c7776aa505b21a4577596eeb67cf4324e9e0 SHA1 3a2372b9bc7db73532eb98032677aab7e348b03d SHA256 37ba13089ce5f72fce922c2feac50ad2837df2b04b9c1b9307d5c739bf375284
+MD5 4287c81412ce7c025817ad686a2d64b9 ghc-6.6.ebuild 10340
+RMD160 e834c7776aa505b21a4577596eeb67cf4324e9e0 ghc-6.6.ebuild 10340
+SHA256 37ba13089ce5f72fce922c2feac50ad2837df2b04b9c1b9307d5c739bf375284 ghc-6.6.ebuild 10340
+MISC ChangeLog 20582 RMD160 ec33baca0c53e3294b319ce5d2259b6efd378f49 SHA1 26a4f7fb650abace320696cdb278903cd7f8aad6 SHA256 02a300ee8315f5c2b2abc23da05f492a60508d2be8ca98b3534e45bf649dece4
+MD5 f44d5788f00d85cd989180f522835f60 ChangeLog 20582
+RMD160 ec33baca0c53e3294b319ce5d2259b6efd378f49 ChangeLog 20582
+SHA256 02a300ee8315f5c2b2abc23da05f492a60508d2be8ca98b3534e45bf649dece4 ChangeLog 20582
 MISC metadata.xml 223 RMD160 7783e6057effb8b8f0b79cffe8b557b32c633839 SHA1 7b962c77f2e38479a9d1621ec8d307ca9f761753 SHA256 1d00c8be162a6cb87b3de440b3e63e10b39c12d56e8fbfe592e75aed872b2508
 MD5 c694674dcbef799cd4fdb6914683ebff metadata.xml 223
 RMD160 7783e6057effb8b8f0b79cffe8b557b32c633839 metadata.xml 223
@@ -83,3 +90,10 @@ SHA256 84f4b6adad832de57cc219499590df79b6be7ac5c96ec975e15aa37370269d40 files/di
 MD5 2255c6442cd019753ca35bad1f71e78f files/digest-ghc-6.6 241
 RMD160 6d3e93d9851cfbf07c6e6df35e1b7adbf5c01903 files/digest-ghc-6.6 241
 SHA256 08a1beeb6d4f6f1f6c33e3db553861106f19cfc95d6c84ef410efdae2ae6bda6 files/digest-ghc-6.6 241
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.3 (GNU/Linux)
+
+iD8DBQFGFnU0vQKeoJXyEaERArC8AJ4xrBzTn7sWot71/8FTVmHcaECvQQCfQ1He
+fb11B83rDD7JQQEHNno6rTw=
+=LbDd
+-----END PGP SIGNATURE-----
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 (file)
index 0000000..2422420
--- /dev/null
@@ -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)
index afabea0c4e28ff9fb4a89b3f0fba3097e6b38a17..5c1b896ce96f543951bb407833543862f018e59a 100644 (file)
@@ -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"