Relocate paths only in the scripts that need relocating. Use /bin/bash rather than...
authorDuncan Coutts <dcoutts@gentoo.org>
Sat, 11 Mar 2006 17:38:47 +0000 (17:38 +0000)
committerDuncan Coutts <dcoutts@gentoo.org>
Sat, 11 Mar 2006 17:38:47 +0000 (17:38 +0000)
Package-Manager: portage-2.1_pre5-r4

dev-lang/ghc-bin/ChangeLog
dev-lang/ghc-bin/Manifest
dev-lang/ghc-bin/files/digest-ghc-bin-6.4.1
dev-lang/ghc-bin/ghc-bin-6.4.1.ebuild

index bad98d00db6bde86704a8baabac82508f48bb1d2..6b54b32328ba7adc8f712aad9b3176953134ebe0 100644 (file)
@@ -1,6 +1,11 @@
 # ChangeLog for dev-lang/ghc-bin
 # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc-bin/ChangeLog,v 1.39 2006/03/01 16:10:54 corsair Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc-bin/ChangeLog,v 1.40 2006/03/11 17:38:47 dcoutts Exp $
+
+  11 Mar 2006; Duncan Coutts <dcoutts@gentoo.org> ghc-bin-6.4.1.ebuild:
+  Relocate paths only in the scripts that need relocating. Use /bin/bash
+  rather than /bin/sh for the driver scripts. Add a fix to set the CFLAGS
+  in the ghc driver script correctly. Other minor tidy-ups.
 
   01 Mar 2006; Markus Rothe <corsair@gentoo.org> ghc-bin-6.4.1.ebuild:
   Added ~ppc64; bug #88362
index 2d557cecab2eb91facba1ca6156c520839ea4f8a..1d0c1b3066df8df912c8c864314bdb5aad440c87 100644 (file)
@@ -1,9 +1,37 @@
-MD5 9391f9832b7d1a9eb8f6e0387628feb2 ChangeLog 6263
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+MD5 8584d227f3c66d9ca2291349986a7731 ChangeLog 6543
+RMD160 7d209eadecd8f398f8e4f60b07dfa145544c2a82 ChangeLog 6543
+SHA256 ad9a7f90b6e4e72d85bcf7eaad00bbd1cd3c4e25faec6a4f8fd206c459f78c1d ChangeLog 6543
 MD5 a82ba08a8abb4ae38bcc8d467c665e7b files/10ghc 40
+RMD160 1c9e367fa4ea2fa2d3a046986b066b157964390a files/10ghc 40
+SHA256 86c80e876343456b1a1407365bfc2a441bf4c6ca23d3549d67bd800abd617e2f files/10ghc 40
 MD5 aeec673d67613d60a91b5d8d3a11b184 files/digest-ghc-bin-6.2.2-r1 218
+RMD160 ec9088c935c58ffdadeb3310819ede63712793e2 files/digest-ghc-bin-6.2.2-r1 218
+SHA256 27da3cb3e1e5829050642fa2570133da844326acaece3d7d4b01f6aea339adb0 files/digest-ghc-bin-6.2.2-r1 218
 MD5 3919aa4d517b8bc37bc59b8e7dc4a334 files/digest-ghc-bin-6.4 356
-MD5 fdc0000c2d2ae1a70708d8d6a92646a9 files/digest-ghc-bin-6.4.1 422
+RMD160 13ea1e427826db4d10d4d9e96b88bfe2506e0884 files/digest-ghc-bin-6.4 356
+SHA256 5e83dc0703f66384d8b2a45993ef6b4ffc2bbd2bd01c8d4ffd8234a25e984bd8 files/digest-ghc-bin-6.4 356
+MD5 a1806b8567f78c7616c1d2ac1758aea4 files/digest-ghc-bin-6.4.1 1542
+RMD160 4c45ee724adf484f47a24c2bf702f21d7a424806 files/digest-ghc-bin-6.4.1 1542
+SHA256 ea67fa2e4d05db11a2d343098a3595d5d5a4293146584a9f4de9c2a60ed92fe2 files/digest-ghc-bin-6.4.1 1542
 MD5 d4c41357e843c4af8ce3e6a4c1596627 ghc-bin-6.2.2-r1.ebuild 1032
-MD5 8927174f07e0edc9bc4ae7711befbce5 ghc-bin-6.4.1.ebuild 1243
+RMD160 461f55af3bb3f3476e728c13dd74218b92e7f3f5 ghc-bin-6.2.2-r1.ebuild 1032
+SHA256 c9ab4aff68caa9f4aba1dd53d170d462546fce28edd78435595666ad60e9332b ghc-bin-6.2.2-r1.ebuild 1032
+MD5 545061675c0a32bd49470dbc5a7678c5 ghc-bin-6.4.1.ebuild 2663
+RMD160 5d27cc0d2b90ccd6ae16191f5dbdef3dba30a7fd ghc-bin-6.4.1.ebuild 2663
+SHA256 2fda54b1401a44dbb41aa6b9b3a7ed3e7601204192e0a2c3f757fc22ef7fd4cc ghc-bin-6.4.1.ebuild 2663
 MD5 9e5e3b68f1863c338a231811b31c00f1 ghc-bin-6.4.ebuild 1137
+RMD160 4b91634424e684abe68dbfbc5556cf62614329a3 ghc-bin-6.4.ebuild 1137
+SHA256 a6bcd36a94ce3232d6351e08415ebf591ff011f3604e6183d24da7f6728b4847 ghc-bin-6.4.ebuild 1137
 MD5 c694674dcbef799cd4fdb6914683ebff metadata.xml 223
+RMD160 7783e6057effb8b8f0b79cffe8b557b32c633839 metadata.xml 223
+SHA256 1d00c8be162a6cb87b3de440b3e63e10b39c12d56e8fbfe592e75aed872b2508 metadata.xml 223
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.2.1 (GNU/Linux)
+
+iD8DBQFEEwsc/B0cxt+cq+wRAihJAKCaWKfv/6ExgTK5lW0ykFRlmTdOWACggqAR
+B1GqcBs4VySD+1rAjUrR6hU=
+=7IUd
+-----END PGP SIGNATURE-----
index e2582c71c3fdf62fe15d1afe07d4d7582406a3b6..74e4ae10cb4a727aa641813ac1adcb5a9ead04aa 100644 (file)
@@ -1,6 +1,18 @@
 MD5 1d0a0e281fd057d1332d4268da49801a ghc-bin-6.4.1-alpha.tbz2 37043978
+RMD160 35b5de80cf635f1cdcda40d8e2a03306f255fdc3 ghc-bin-6.4.1-alpha.tbz2 37043978
+SHA256 6d025031c34c8fb95265f39e373853468c8d7597b06f4af086c1d01b4bcb527e ghc-bin-6.4.1-alpha.tbz2 37043978
 MD5 d7f170508b4c7b5cd40b0d5e92685c1e ghc-bin-6.4.1-amd64.tbz2 17639473
+RMD160 8853c7314b8bf55018c26b5bdda7791347bed7ef ghc-bin-6.4.1-amd64.tbz2 17639473
+SHA256 3204824f51b8a0aa9b91dea58f702f905ba0e77a6d8706bb8e3396e4931bfe17 ghc-bin-6.4.1-amd64.tbz2 17639473
 MD5 1b54055eaf0c4916da963481fa8b43e7 ghc-bin-6.4.1-ppc.tbz2 25575569
+RMD160 efabde19967193323ed11894930e46554affe14f ghc-bin-6.4.1-ppc.tbz2 25575569
+SHA256 6b212f71d5e466d609c66380b76bd3efdb6bf3bfb13fd781ecea3b5757694787 ghc-bin-6.4.1-ppc.tbz2 25575569
 MD5 1be59597f2a984fd3f69f9e3d076602f ghc-bin-6.4.1-ppc64.tbz2 28245351
+RMD160 45b0498ae5baa5691bed0f78d8d8a32ee25439b9 ghc-bin-6.4.1-ppc64.tbz2 28245351
+SHA256 9421ac68ac5af55da9fb06866bb5afb3ce61bf74aeeb1896f79077bb1dba8e45 ghc-bin-6.4.1-ppc64.tbz2 28245351
 MD5 cd0f80c503e5b4c956d7725c3764718e ghc-bin-6.4.1-sparc.tbz2 31121002
+RMD160 2eeb3b4d8af76978d46daf44831e44ed3b4f5d8a ghc-bin-6.4.1-sparc.tbz2 31121002
+SHA256 36c0f660c5178ae91e8b40fdd8213a52238264217db59c0c4f9ff3dc0179d5e7 ghc-bin-6.4.1-sparc.tbz2 31121002
 MD5 a8c95e84f15acf1cf741a50a773eb626 ghc-bin-6.4.1-x86.tbz2 23234832
+RMD160 9e6ac0880f1d0e38039e7715d7efac81f74496c7 ghc-bin-6.4.1-x86.tbz2 23234832
+SHA256 edaea7c4d2f5da7ce9c4a57c9869af133ca72f25d89f899f26a3dedf82c64d98 ghc-bin-6.4.1-x86.tbz2 23234832
index 1304d1ea7e5a3ad04f9a6b060c0df4600c887f6c..0f4826166ea972a5cb359a026d7f33ea025c8e09 100644 (file)
@@ -1,12 +1,11 @@
 # Copyright 1999-2006 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.1.ebuild,v 1.6 2006/03/01 16:10:54 corsair Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc-bin/ghc-bin-6.4.1.ebuild,v 1.7 2006/03/11 17:38:47 dcoutts Exp $
 
-inherit multilib
-
-IUSE="" # use the non-binary version if you want to have more choice
+inherit base multilib
 
 DESCRIPTION="Glasgow Haskell Compiler"
+HOMEPAGE="http://www.haskell.org/ghc/"
 # list all arches for proper digest building:
 SRC_URI="x86?  ( mirror://gentoo/${P}-x86.tbz2 )
                 amd64? ( mirror://gentoo/${P}-amd64.tbz2 )
@@ -14,12 +13,11 @@ SRC_URI="x86?  ( mirror://gentoo/${P}-x86.tbz2 )
                 sparc? ( mirror://gentoo/${P}-sparc.tbz2 )
                 ppc? ( mirror://gentoo/${P}-ppc.tbz2 )
                 ppc64? ( mirror://gentoo/${P}-ppc64.tbz2 )"
-HOMEPAGE="http://www.haskell.org"
 
 LICENSE="as-is"
 KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
-# add these when they are ready: ~ppc64
 SLOT="0"
+IUSE="" # use the non-binary version if you want to have more choice
 
 RESTRICT="nostrip" # already stripped
 
@@ -35,14 +33,53 @@ PROVIDE="virtual/ghc"
 
 S="${WORKDIR}"
 
+src_unpack() {
+       base_src_unpack
+       cd "${S}"
+
+       # relocate from /usr to /opt/ghc
+       sed -i -e "s|/usr|${LOC}|g" \
+               usr/bin/ghc-${PV} usr/bin/ghci-${PV} usr/bin/ghc-pkg-${PV} \
+               usr/$(get_libdir)/ghc-${PV}/package.conf
+
+       # fix hardened gcc flags in the ghc driver script
+       if grep -q GHC_CFLAGS usr/bin/ghc; then
+               # Note! this will not be needed in the next version because the
+               # ghc-bin .tbz2 files will have been generated from a version of
+               # the ghc ebuild which inserted the right flags into the right files
+               ewarn "QA: ghc driver script does not need fixing for this version!"
+       else
+               # We start by removing all the previous -optc-* flags.
+               # Then we add $GHC_CFLAGS to the exec line. We replace a line that
+               # never needed to be there in the first place (ie '#!/bin/bash') with
+               # our line for setting GHC_CFLAGS= to the right set of flags.
+               GHC_CFLAGS="-optc-nopie -optl-nopie -optc-fno-stack-protector"
+               sed -i -e '$s|-optc[a-z-]*||g' \
+                          -e 's|${TOPDIROPT}|${TOPDIROPT} ${GHC_CFLAGS}|' \
+                          -e "s|#!/bin/bash|GHC_CFLAGS=\"${GHC_CFLAGS}\"|" \
+                       usr/bin/ghc-${PV}
+
+               # For ghci we don't need these C flags at all
+               sed -i -e '$s|-optc[a-z-]*||g' \
+                          -e 's|#!/bin/bash||' \
+                       usr/bin/ghci-${PV}
+
+               # We also change /bin/sh to /bin/bash in all the driver scripts since
+               # we think /sbin/sh can't handle ${1+"$@"}. Again, this will be fixed
+               # in the next rebuild of the ghc-bin .tbz2 files.
+               sed -i -e "s|/bin/sh|/bin/bash|" \
+                       usr/bin/ghc-${PV} usr/bin/ghci-${PV} usr/bin/ghc-pkg-${PV}
+       fi
+}
+
 src_compile() {
-       sed -i "s|/usr|${LOC}|g" usr/bin/* "usr/$(get_libdir)/ghc-${PV}/package.conf"
        mkdir -p ./${LOC}
        mv usr/* ./${LOC}
+       rmdir usr
 }
 
 src_install () {
-       cp -pr * "${D}"
+       mv * "${D}"
        insinto /etc/env.d
        doins "${FILESDIR}/10ghc"
 }