From 2b8b1bf57a6772e07e23e64085de6e513f4ed217 Mon Sep 17 00:00:00 2001 From: Lennart Kolmodin Date: Fri, 16 Mar 2007 21:41:28 +0000 Subject: [PATCH] Version bump ghc-bin to 6.6 Package-Manager: portage-2.1.2-r5 --- dev-lang/ghc-bin/Manifest | 19 +++ dev-lang/ghc-bin/files/digest-ghc-bin-6.6 | 6 + dev-lang/ghc-bin/ghc-bin-6.6.ebuild | 146 ++++++++++++++++++++++ 3 files changed, 171 insertions(+) create mode 100644 dev-lang/ghc-bin/files/digest-ghc-bin-6.6 create mode 100644 dev-lang/ghc-bin/ghc-bin-6.6.ebuild diff --git a/dev-lang/ghc-bin/Manifest b/dev-lang/ghc-bin/Manifest index 45b6c314d671..8328a7f25884 100644 --- a/dev-lang/ghc-bin/Manifest +++ b/dev-lang/ghc-bin/Manifest @@ -1,3 +1,6 @@ +-----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 +28,8 @@ DIST ghc-bin-6.4.2-ppc64.tbz2 28817831 RMD160 98f4e0800233d0b75c519be26b77fd2455 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 +DIST ghc-bin-6.6-amd64.tbz2 26093530 RMD160 b44c90a8e3f99a462af0400d0d31c315833606bb SHA1 1bde6e886df681da8ff65529ca1fd288e1b768a0 SHA256 acde821d26abbd0838e5bcd41cbde0daf5a538fea7619e3f2bc6cbe491d4b387 +DIST ghc-bin-6.6-x86.tbz2 24960612 RMD160 086a7784e616d0d789be8ceb3b3ba01832d3430b SHA1 4f51e60c73e1f256dc4954a2f3191415361436c5 SHA256 38f58d9fef8ccf2544c4da75c4ce6e04393cf261a2de2e253bcafbdaf4e8ea72 EBUILD ghc-bin-6.2.2-r1.ebuild 1032 RMD160 461f55af3bb3f3476e728c13dd74218b92e7f3f5 SHA1 9721f298f1789c4725ead3b37a7340d6c5382681 SHA256 c9ab4aff68caa9f4aba1dd53d170d462546fce28edd78435595666ad60e9332b MD5 d4c41357e843c4af8ce3e6a4c1596627 ghc-bin-6.2.2-r1.ebuild 1032 RMD160 461f55af3bb3f3476e728c13dd74218b92e7f3f5 ghc-bin-6.2.2-r1.ebuild 1032 @@ -41,6 +46,10 @@ EBUILD ghc-bin-6.4.2.ebuild 4677 RMD160 d5737f21013b75a72c3eed772268bfa30fe2cb66 MD5 f241412591c83d188f71b50b8adc3ea9 ghc-bin-6.4.2.ebuild 4677 RMD160 d5737f21013b75a72c3eed772268bfa30fe2cb66 ghc-bin-6.4.2.ebuild 4677 SHA256 59b66cea5bfb07e506c14e37db4f38453548a4502eb7e101650c34382c1e354c ghc-bin-6.4.2.ebuild 4677 +EBUILD ghc-bin-6.6.ebuild 4401 RMD160 ad4b76aa5d2f418794dc7c56adf88017a0eebb0d SHA1 afd433f21eec8ea13298bcab15bb758b393e215b SHA256 c9093e15dd52ebee1c442ff8796829d540cac07d62008852a81413e587012bfe +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 9784 RMD160 c611c2e6d5640f9ec948342afab8f7291071bbb6 SHA1 9dc61f7c808537e5a28d23ad8330191c9def48a1 SHA256 022f4c2bd7f5c9767ccdcf689f83f4829ddfda0891ec5e7205db124b5d85acd8 MD5 20162bced242756ac9e3d85ef4a191c6 ChangeLog 9784 RMD160 c611c2e6d5640f9ec948342afab8f7291071bbb6 ChangeLog 9784 @@ -61,3 +70,13 @@ 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 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+w821n/CYbXjntIRAnKaAJ96TQca0ADNlVeiah49zZ3aDhKjxACfQlxI +pOTCQkVaUrm+rRIlQlHwXiA= +=XH4h +-----END PGP SIGNATURE----- diff --git a/dev-lang/ghc-bin/files/digest-ghc-bin-6.6 b/dev-lang/ghc-bin/files/digest-ghc-bin-6.6 new file mode 100644 index 000000000000..02e660535f06 --- /dev/null +++ b/dev-lang/ghc-bin/files/digest-ghc-bin-6.6 @@ -0,0 +1,6 @@ +MD5 9aac2e2c31e7532b613b871fa9b95694 ghc-bin-6.6-amd64.tbz2 26093530 +RMD160 b44c90a8e3f99a462af0400d0d31c315833606bb ghc-bin-6.6-amd64.tbz2 26093530 +SHA256 acde821d26abbd0838e5bcd41cbde0daf5a538fea7619e3f2bc6cbe491d4b387 ghc-bin-6.6-amd64.tbz2 26093530 +MD5 935c4d43fa82b220010fa593edfe97d0 ghc-bin-6.6-x86.tbz2 24960612 +RMD160 086a7784e616d0d789be8ceb3b3ba01832d3430b ghc-bin-6.6-x86.tbz2 24960612 +SHA256 38f58d9fef8ccf2544c4da75c4ce6e04393cf261a2de2e253bcafbdaf4e8ea72 ghc-bin-6.6-x86.tbz2 24960612 diff --git a/dev-lang/ghc-bin/ghc-bin-6.6.ebuild b/dev-lang/ghc-bin/ghc-bin-6.6.ebuild new file mode 100644 index 000000000000..24df79ef88a3 --- /dev/null +++ b/dev-lang/ghc-bin/ghc-bin-6.6.ebuild @@ -0,0 +1,146 @@ +# 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.6.ebuild,v 1.1 2007/03/16 21:41:28 kolmodin 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="The Glasgow Haskell Compiler" +HOMEPAGE="http://www.haskell.org/ghc/" +# list all arches for proper digest building: +SRC_URI="amd64? ( mirror://gentoo/${P}-amd64.tbz2 ) + x86? ( mirror://gentoo/${P}-x86.tbz2 )" + +LICENSE="as-is" +KEYWORDS="-* ~amd64 ~x86" +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*" + +PDEPEND=">=dev-haskell/cabal-1.1.6.1" + +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." +} -- 2.26.2