Added new revision with a new binary tarball of ghc to fix gcc 4 issues on ppc64...
authorMarkus Rothe <corsair@gentoo.org>
Thu, 29 Mar 2007 14:53:37 +0000 (14:53 +0000)
committerMarkus Rothe <corsair@gentoo.org>
Thu, 29 Mar 2007 14:53:37 +0000 (14:53 +0000)
Package-Manager: portage-2.1.2.2

dev-lang/ghc-bin/ChangeLog
dev-lang/ghc-bin/Manifest
dev-lang/ghc-bin/files/digest-ghc-bin-6.4.2-r1 [new file with mode: 0644]
dev-lang/ghc-bin/ghc-bin-6.4.2-r1.ebuild [new file with mode: 0644]

index 75bbe83a1793f59cfc29ff2af24eb4e84c28c178..1b8745c517aa6439ce5470d8b4676628f190253e 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for dev-lang/ghc-bin
 # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc-bin/ChangeLog,v 1.64 2007/03/16 21:55:57 kolmodin Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc-bin/ChangeLog,v 1.65 2007/03/29 14:53:37 corsair Exp $
+
+*ghc-bin-6.4.2-r1 (29 Mar 2007)
+
+  29 Mar 2007; Markus Rothe <corsair@gentoo.org> +ghc-bin-6.4.2-r1.ebuild:
+  Added new revision with a new binary tarball of ghc to fix gcc 4 issues on
+  ppc64; bug #145466
 
   16 Mar 2007; Lennart Kolmodin <kolmodin@gentoo.org> ghc-bin-6.6.ebuild:
   Version bump to 6.6
index 3450b6c01edcd133e41f4643a9dd76d07a770f4c..0b77b3a5897e0f10bad0737415af6a30fd030dbb 100644 (file)
@@ -1,6 +1,3 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
 AUX 10ghc 40 RMD160 1c9e367fa4ea2fa2d3a046986b066b157964390a SHA1 33486a4907e8140f4d919813df4ef4e6203d6b20 SHA256 86c80e876343456b1a1407365bfc2a441bf4c6ca23d3549d67bd800abd617e2f
 MD5 a82ba08a8abb4ae38bcc8d467c665e7b files/10ghc 40
 RMD160 1c9e367fa4ea2fa2d3a046986b066b157964390a files/10ghc 40
@@ -25,6 +22,7 @@ DIST ghc-bin-6.4.2-amd64.tbz2 18554509 RMD160 f4b9ee0041d2a005a1d2d98290dc89eb12
 DIST ghc-bin-6.4.2-hppa.tbz2 33914952 RMD160 c20d9a783abcfdda1a69b63e941c9f5c1fd587a0 SHA1 99a83e7c3bf5a6e7dec450ddd8a565d39803921d SHA256 6c036e313b4d67ab4940e62a3719589c5e94591ac8fe96ed595796876dd4bd88
 DIST ghc-bin-6.4.2-ppc.tbz2 22994932 RMD160 3ee3b26a1b98ceb085a2ca12e9e9e791c245ba86 SHA1 747ee3f204389c68e7c66d20ce2d535e2992ab20 SHA256 1239845ddaafe0bbfe8e24a13a6a7a7ba4462f313227e28d47beb644e876979c
 DIST ghc-bin-6.4.2-ppc64.tbz2 28817831 RMD160 98f4e0800233d0b75c519be26b77fd2455fa167d SHA1 d216e5c03d7cce7e3a109b754cde6c85596c4d68 SHA256 788a4c4e5730afd921bfe2c84c894b4190422a5d9e6d18d135de92976446d40a
+DIST ghc-bin-6.4.2-r1-ppc64.tbz2 28803955 RMD160 0bba1bbfae87722e2abab57fc7ad3e01b6e2be26 SHA1 2f874c2fe2ddb49a174779c5f4b3d3bd3ccb731f SHA256 2502afb688468ea8f54ff076da8c0d33bd2508fb22996a9ae3e4a78fd9c2bc92
 DIST ghc-bin-6.4.2-sparc.tbz2 22175545 RMD160 fa8fa8d85a167db895ea74b9ce40590ceae503ab SHA1 0dd7de97eaadf548d152300a131629371648a8aa SHA256 c95edaff53778edcfd275e41f70cadc2fd7e83c058b5d09e2a44081ae1c29d30
 DIST ghc-bin-6.4.2-x86-fbsd.tbz2 19091807 RMD160 6071878b02b87066f8937b671d6414330a41a841 SHA1 9f3a66fcfe872980d073e5f6cb309dcee1a7d2cb SHA256 f2a397d233a491ab65ab43223e7657f7fc47311413e168bcd6a735e705c1acf3
 DIST ghc-bin-6.4.2-x86.tbz2 19367589 RMD160 5d3ad1b92c3785db1090799ee6da6182a4771248 SHA1 71876713bbe4cbd335ac50118c9c50219e02d2a5 SHA256 9628c3d3ca3c095c5c423cffb0d0daf801e518f6d6ace17c032c6ca6d5e3e24c
@@ -42,6 +40,10 @@ EBUILD ghc-bin-6.4.1.ebuild 3273 RMD160 6fc9a181061633b490eb5d5b32465125a2bfaa1b
 MD5 ca36109ccca48e4e9fad822344d96275 ghc-bin-6.4.1.ebuild 3273
 RMD160 6fc9a181061633b490eb5d5b32465125a2bfaa1b ghc-bin-6.4.1.ebuild 3273
 SHA256 66a00c94edb2bdc5df0c6f425d445b5a647bdc9d0dc953397673cc8b872a8fdf ghc-bin-6.4.1.ebuild 3273
+EBUILD ghc-bin-6.4.2-r1.ebuild 4313 RMD160 8a86a9c20d58f22f416bb95039052854209a1e01 SHA1 47a4c8d97f5370df8bb50d5c86af71ec78e4735a SHA256 886140ccb7f7df8b8598b2e9a87232e64c6fe4eef8555d6bb5bde093a3324c4f
+MD5 53f3211b7cc11a1bb79d5b9795cf2723 ghc-bin-6.4.2-r1.ebuild 4313
+RMD160 8a86a9c20d58f22f416bb95039052854209a1e01 ghc-bin-6.4.2-r1.ebuild 4313
+SHA256 886140ccb7f7df8b8598b2e9a87232e64c6fe4eef8555d6bb5bde093a3324c4f ghc-bin-6.4.2-r1.ebuild 4313
 EBUILD ghc-bin-6.4.2.ebuild 4677 RMD160 d5737f21013b75a72c3eed772268bfa30fe2cb66 SHA1 a7069b22805c8ebbc597b5c708691b946fdf7a2f SHA256 59b66cea5bfb07e506c14e37db4f38453548a4502eb7e101650c34382c1e354c
 MD5 f241412591c83d188f71b50b8adc3ea9 ghc-bin-6.4.2.ebuild 4677
 RMD160 d5737f21013b75a72c3eed772268bfa30fe2cb66 ghc-bin-6.4.2.ebuild 4677
@@ -50,10 +52,10 @@ EBUILD ghc-bin-6.6.ebuild 4401 RMD160 ad4b76aa5d2f418794dc7c56adf88017a0eebb0d S
 MD5 7726655f9ada33cf801cf84c2ada1f46 ghc-bin-6.6.ebuild 4401
 RMD160 ad4b76aa5d2f418794dc7c56adf88017a0eebb0d ghc-bin-6.6.ebuild 4401
 SHA256 c9093e15dd52ebee1c442ff8796829d540cac07d62008852a81413e587012bfe ghc-bin-6.6.ebuild 4401
-MISC ChangeLog 9886 RMD160 e04fac3dbd5046da8947759f0bdabf3527f72938 SHA1 69eccf646441d81328b943f09070b655dc53fc02 SHA256 496027b8a873de0cb3b7684a530f47ff177f4b41e85e9d706c1b0a4edb49aa18
-MD5 c68fdd4da22d6dfc5d2fe9a5a7befe7b ChangeLog 9886
-RMD160 e04fac3dbd5046da8947759f0bdabf3527f72938 ChangeLog 9886
-SHA256 496027b8a873de0cb3b7684a530f47ff177f4b41e85e9d706c1b0a4edb49aa18 ChangeLog 9886
+MISC ChangeLog 10092 RMD160 a9a3f02aefbd84eec0b72b634ad4c7576070bb6c SHA1 b06fc5124074f36cfa53fa95332eeb5eab55491d SHA256 7d4fa6cc5b68ed6b3f7231ce8c137efc55b1f653ba9b1075111e9ba72c4a89f5
+MD5 78a6b8cfc45a108ca9567435d6014c6a ChangeLog 10092
+RMD160 a9a3f02aefbd84eec0b72b634ad4c7576070bb6c ChangeLog 10092
+SHA256 7d4fa6cc5b68ed6b3f7231ce8c137efc55b1f653ba9b1075111e9ba72c4a89f5 ChangeLog 10092
 MISC metadata.xml 223 RMD160 7783e6057effb8b8f0b79cffe8b557b32c633839 SHA1 7b962c77f2e38479a9d1621ec8d307ca9f761753 SHA256 1d00c8be162a6cb87b3de440b3e63e10b39c12d56e8fbfe592e75aed872b2508
 MD5 c694674dcbef799cd4fdb6914683ebff metadata.xml 223
 RMD160 7783e6057effb8b8f0b79cffe8b557b32c633839 metadata.xml 223
@@ -70,13 +72,9 @@ SHA256 24d50d03d847cb412bf67dcf60efe6f335cd106472a66b097f683d68d3acf8f8 files/di
 MD5 1bc580cd37dc1b9e37583398bcfbd2a5 files/digest-ghc-bin-6.4.2 2066
 RMD160 4b7af652206334e8ee2b0eb270552ac24821a19c files/digest-ghc-bin-6.4.2 2066
 SHA256 06fd71c34403fb1b3fe0c60561bd4597d1afb623fce887c62117204592fa4981 files/digest-ghc-bin-6.4.2 2066
+MD5 c9c50aef4ac1f140a1c936c30391e897 files/digest-ghc-bin-6.4.2-r1 268
+RMD160 b8e387d43fe47b3b1fcc7939974359fa5d570f23 files/digest-ghc-bin-6.4.2-r1 268
+SHA256 b12465c73b1d2cbfc6e2db3e3dfdafceceb68b5ac63ef197860dfc8e33aa43ce files/digest-ghc-bin-6.4.2-r1 268
 MD5 13e415d19a88077ba290880040e3cb24 files/digest-ghc-bin-6.6 500
 RMD160 2eeb883cc5734e4be2efc18024a842072579e9e0 files/digest-ghc-bin-6.6 500
 SHA256 6df27120dd03b194315a8c141b6093d1d50c1ea93b6fe085ce37e6552ec8628e files/digest-ghc-bin-6.6 500
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.6 (GNU/Linux)
-
-iD8DBQFF+xKb1n/CYbXjntIRAgjvAJ9SxeRHgYENGYBEbNROhJKr8+MoMgCeIoFD
-o89BJN5hOQrYFebp3w5DkB8=
-=lS/x
------END PGP SIGNATURE-----
diff --git a/dev-lang/ghc-bin/files/digest-ghc-bin-6.4.2-r1 b/dev-lang/ghc-bin/files/digest-ghc-bin-6.4.2-r1
new file mode 100644 (file)
index 0000000..703a67b
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 b0d9b20584af489c01181da4c8fa46cb ghc-bin-6.4.2-r1-ppc64.tbz2 28803955
+RMD160 0bba1bbfae87722e2abab57fc7ad3e01b6e2be26 ghc-bin-6.4.2-r1-ppc64.tbz2 28803955
+SHA256 2502afb688468ea8f54ff076da8c0d33bd2508fb22996a9ae3e4a78fd9c2bc92 ghc-bin-6.4.2-r1-ppc64.tbz2 28803955
diff --git a/dev-lang/ghc-bin/ghc-bin-6.4.2-r1.ebuild b/dev-lang/ghc-bin/ghc-bin-6.4.2-r1.ebuild
new file mode 100644 (file)
index 0000000..f42b067
--- /dev/null
@@ -0,0 +1,143 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc-bin/ghc-bin-6.4.2-r1.ebuild,v 1.1 2007/03/29 14:53:37 corsair Exp $
+
+# Note to users of hardened gcc-3.x:
+#
+# If you emerge ghc-bin with hardened gcc it should work fine (because
+# we turn off the hardened features that would otherwise break ghc).
+# However, emerging ghc-bin while using a vanilla gcc and then switching
+# to hardened gcc (using gcc-config) will leave you with a broken ghc. To
+# fix it you would need to either switch back to vanilla gcc or re-emerge
+# ghc-bin (or ghc). Note that also if you are using hardened gcc-3.x and
+# you switch to gcc-4.x that this will also break ghc and you'll need to
+# re-emerge ghc-bin (or ghc). People using vanilla gcc can switch between
+# gcc-3.x and 4.x with no problems.
+
+inherit base multilib flag-o-matic toolchain-funcs ghc-package
+
+DESCRIPTION="Glasgow Haskell Compiler"
+HOMEPAGE="http://www.haskell.org/ghc/"
+# list all arches for proper digest building:
+SRC_URI="ppc64?                ( mirror://gentoo/${P}-r1-ppc64.tbz2 )"
+
+LICENSE="as-is"
+KEYWORDS="ppc64"
+SLOT="0"
+IUSE="" # use the non-binary version if you want to have more choice
+
+RESTRICT="nostrip" # already stripped
+
+LOC="/opt/ghc"
+
+DEPEND=""
+RDEPEND=">=dev-lang/perl-5.6.1
+       >=sys-devel/gcc-2.95.3
+       >=dev-libs/gmp-4.1
+       =sys-libs/readline-5*"
+
+PROVIDE="virtual/ghc"
+
+S="${WORKDIR}"
+
+append-ghc-cflags() {
+       local flag compile assemble link
+       for flag in $*; do
+               case ${flag} in
+                       compile)        compile="yes";;
+                       assemble)       assemble="yes";;
+                       link)           link="yes";;
+                       *)
+                               [[ ${compile}  ]] && GHC_CFLAGS="${GHC_CFLAGS} -optc${flag}"
+                               [[ ${assemble} ]] && GHC_CFLAGS="${GHC_CFLAGS} -opta${flag}"
+                               [[ ${link}     ]] && GHC_CFLAGS="${GHC_CFLAGS} -optl${flag}";;
+               esac
+       done
+}
+
+ghc_setup_cflags() {
+       # We need to be very careful with the CFLAGS we ask ghc to pass through to
+       # gcc. There are plenty of flags which will make gcc produce output that
+       # breaks ghc in various ways. The main ones we want to pass through are
+       # -mcpu / -march flags. These are important for arches like alpha & sparc.
+       # We also use these CFLAGS for building the C parts of ghc, ie the rts.
+       strip-flags
+       strip-unsupported-flags
+       filter-flags -fPIC
+
+       GHC_CFLAGS=""
+       for flag in ${CFLAGS}; do
+               case ${flag} in
+
+                       # Ignore extra optimisation (ghc passes -O to gcc anyway)
+                       # -O2 and above break on too many systems
+                       -O*) ;;
+
+                       # Arch and ABI flags are what we're really after
+                       -m*) append-ghc-cflags compile assemble ${flag};;
+
+                       # Debugging flags don't help either. You can't debug Haskell code
+                       # at the C source level and the mangler discards the debug info.
+                       -g*) ;;
+
+                       # Ignore all other flags, including all -f* flags
+               esac
+       done
+
+       # hardened-gcc needs to be disabled, because the mangler doesn't accept
+       # its output.
+       gcc-specs-pie && append-ghc-cflags compile link -nopie
+       gcc-specs-ssp && append-ghc-cflags compile              -fno-stack-protector
+
+       # We also add -Wa,--noexecstack to get ghc to generate .o files with
+       # non-exectable stack. This it a hack until ghc does it itself properly.
+       append-ghc-cflags assemble "-Wa,--noexecstack"
+}
+
+ghc_setup_wrapper() {
+       echo '#!/bin/bash'
+       echo "GHCBIN=\"${LOC}/$(get_libdir)/ghc-$1/ghc-$1\";"
+       echo "TOPDIROPT=\"-B${LOC}/$(get_libdir)/ghc-$1\";"
+       echo "GHC_CFLAGS=\"${GHC_CFLAGS}\";"
+       echo '# Mini-driver for GHC'
+       echo 'exec $GHCBIN $TOPDIROPT $GHC_CFLAGS ${1+"$@"}'
+}
+
+src_unpack() {
+       base_src_unpack
+
+       # Setup the ghc wrapper script
+       ghc_setup_cflags
+       ghc_setup_wrapper ${PV} > "${S}/usr/bin/ghc-${PV}"
+
+       # Relocate from /usr to /opt/ghc
+       sed -i -e "s|/usr|${LOC}|g" \
+               "${S}/usr/bin/ghci-${PV}" \
+               "${S}/usr/bin/ghc-pkg-${PV}" \
+               "${S}/usr/bin/hsc2hs" \
+               "${S}/usr/$(get_libdir)/ghc-${PV}/package.conf"
+
+       sed -i -e "s|/usr/$(get_libdir)|${LOC}/$(get_libdir)|" \
+               "${S}/usr/bin/ghcprof"
+}
+
+src_compile() {
+       true
+}
+
+src_install () {
+       mkdir "${D}/opt"
+       mv "${S}/usr" "${D}/opt/ghc"
+
+       insinto /etc/env.d
+       doins "${FILESDIR}/10ghc"
+}
+
+pkg_postinst () {
+       ghc-reregister
+       ewarn "IMPORTANT:"
+       ewarn "If you have upgraded from another version of ghc-bin or"
+       ewarn "if you have switched from ghc to ghc-bin, please run:"
+       ewarn " /opt/ghc/sbin/ghc-updater"
+       ewarn "to re-merge all ghc-based Haskell libraries."
+}