diff options
author | 2006-03-10 23:14:23 +0000 | |
---|---|---|
committer | 2006-03-10 23:14:23 +0000 | |
commit | e6d01d9b14006282ff190e2e2a019dc740b9d2e5 (patch) | |
tree | 1a25957118760ec417238cd1ee3375b3c3f470f2 /dev-lang | |
parent | Spaces -> tab (repoman). (diff) | |
download | gentoo-2-e6d01d9b14006282ff190e2e2a019dc740b9d2e5.tar.gz gentoo-2-e6d01d9b14006282ff190e2e2a019dc740b9d2e5.tar.bz2 gentoo-2-e6d01d9b14006282ff190e2e2a019dc740b9d2e5.zip |
Change what flags we use to disable hardened gcc and how we set them.
(Portage version: 2.1_pre5-r4)
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/ghc/ChangeLog | 8 | ||||
-rw-r--r-- | dev-lang/ghc/Manifest | 32 | ||||
-rw-r--r-- | dev-lang/ghc/ghc-6.4.1-r2.ebuild | 62 |
3 files changed, 57 insertions, 45 deletions
diff --git a/dev-lang/ghc/ChangeLog b/dev-lang/ghc/ChangeLog index 658150077161..cc40bb1a0682 100644 --- a/dev-lang/ghc/ChangeLog +++ b/dev-lang/ghc/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-lang/ghc # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.79 2006/03/01 16:21:22 corsair Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.80 2006/03/10 23:14:23 dcoutts Exp $ + + 10 Mar 2006; Duncan Coutts <dcoutts@gentoo.org> ghc-6.4.1-r2.ebuild: + Change what flags we use to disable hardened gcc and how we set them. We now + use one set of flags rather than picking them conditionally. + Use an option which should fix the executable-stack problem (bug #123698). + Prepare for hppa arch support and misc minor tidy-ups. 01 Mar 2006; Markus Rothe <corsair@gentoo.org> ghc-6.4.1-r2.ebuild: Added ~ppc64; bug #88362 diff --git a/dev-lang/ghc/Manifest b/dev-lang/ghc/Manifest index 52b3f5585bc4..3c876c7ed225 100644 --- a/dev-lang/ghc/Manifest +++ b/dev-lang/ghc/Manifest @@ -1,14 +1,42 @@ -MD5 60fd70f9a0efc915c799dac9504f16d5 ChangeLog 13881 +MD5 425d4bf30b1481113fabe3fe6295e7ff ChangeLog 14229 +RMD160 5b4ab6062c478a25ca5f75f25fabd4e7c0edac67 ChangeLog 14229 +SHA256 4c8bb4bf7474acd91bb590a53e20576bf1a2830b794169be20dd1a773d49db2f ChangeLog 14229 MD5 7e423c353b08a2c05693d13f21e067d0 files/depsort.py 1958 +RMD160 4192ad9ed14064a9da42ce1faedcf28996094da3 files/depsort.py 1958 +SHA256 7406f639d17b8acab6a1db7e398e74379b44950d4821bc36901abd3455d63b3d files/depsort.py 1958 MD5 9e9c22452b545fd9ec1367155c15d8e2 files/digest-ghc-6.2.2 67 +RMD160 f7d90455b23505bebec1c10b96f63f28812db205 files/digest-ghc-6.2.2 67 +SHA256 8dcc9591644345db37aa15ef7ee91a72f2bc358653565d4aadfcf85264f41d9b files/digest-ghc-6.2.2 67 MD5 75417bc4dea34cd08ea105457ccd3032 files/digest-ghc-6.4 65 +RMD160 da3f7883200986441fcccd20fcc0efcedbb8b223 files/digest-ghc-6.4 65 +SHA256 e64b36910754f2b2cf4b82aa22ed5bb4394d9971fb8de08f41cde286caf9170a files/digest-ghc-6.4 65 MD5 67634d2dcbaa8444838580a45ac915d3 files/digest-ghc-6.4.1-r2 247 +RMD160 3a660bda8203ea505f0ae443df45b679d80fe6f3 files/digest-ghc-6.4.1-r2 247 +SHA256 8d86b8d15bea6298f853e838c5d0800e21ad2a4e3eaebfb6ba3c7a75768ec5c5 files/digest-ghc-6.4.1-r2 247 MD5 1ae8c6b539b6706ba0e8b988a918a944 files/ghc-6.2.hardened.patch 525 +RMD160 499210730c5b7578f1fe371b9304db65b00f59cc files/ghc-6.2.hardened.patch 525 +SHA256 ed4c94ceb8e4749bd4d37a1542f5958175f0972b93a7137c5541698007b93d26 files/ghc-6.2.hardened.patch 525 MD5 ffd472c0685cf2766ce6533265f9a3c9 files/ghc-6.4-powerpc.patch 908 +RMD160 007429fa9383eb214d3ee14dbb3ab6814788a3c9 files/ghc-6.4-powerpc.patch 908 +SHA256 9406b0fa32d19bfbd55e6635070f3bdb57bd061a599924d940c8af8e34f36d3d files/ghc-6.4-powerpc.patch 908 MD5 e522470e9d323932951f9efdb3fbf7e8 files/ghc-6.4.1-configure.patch 2666 +RMD160 26568ec35d05a3855ad8cf10593d15ccaedee847 files/ghc-6.4.1-configure.patch 2666 +SHA256 7519b2fa9a9faf4c3545ed471803f85bc102b2428eb9c53ea15ae457271d28b9 files/ghc-6.4.1-configure.patch 2666 MD5 f55d9cead45de0979d9650dccde5e168 files/ghc-6.4.1-openal.patch 1270 +RMD160 fa7b57dc78cc36c9d74e55bc4873e6efc321f353 files/ghc-6.4.1-openal.patch 1270 +SHA256 fe6db1cf73571bca4af195321112985201e695cf67ed889cf626e5dc2b54b67e files/ghc-6.4.1-openal.patch 1270 MD5 af174f2e566a288f0e2276883a866827 files/ghc-updater 9075 +RMD160 8fd05ff7a0bdc19b5d0041906de8c6f7e1b99a8f files/ghc-updater 9075 +SHA256 3da2c1642c63c98e2b2fa8634496ad5e0a62404aaf4775c9a2eee6463c036216 files/ghc-updater 9075 MD5 49113531ecf3c15247194f067ffe00bd ghc-6.2.2.ebuild 5582 -MD5 cb46315374980dbb0f6f1f44cb01e3a4 ghc-6.4.1-r2.ebuild 6920 +RMD160 b028ea26d634687c73fd8d688f6088d253230f33 ghc-6.2.2.ebuild 5582 +SHA256 4473941a958beec2da286f5823b62def6737504cd0524a4dcd6aa777847ccd1d ghc-6.2.2.ebuild 5582 +MD5 3e5f0e3fcfec0d19cdcee018381b0919 ghc-6.4.1-r2.ebuild 6453 +RMD160 294e844d21bc3317cb6f08fa773e681eefe03f31 ghc-6.4.1-r2.ebuild 6453 +SHA256 238ce65da796fb12f19abbbd6a21b63ce2a768a439e4d9559a8ba790b00fc454 ghc-6.4.1-r2.ebuild 6453 MD5 9620778937a1aff6ef88863c81222cfc ghc-6.4.ebuild 6109 +RMD160 a6588f6fdd9d5420e13ba1ef545ae35cf647a523 ghc-6.4.ebuild 6109 +SHA256 8bd0631d7a331b61f8686d8c1db0ed7d30a689a723ff53d9a029e3f8ea406a25 ghc-6.4.ebuild 6109 MD5 c694674dcbef799cd4fdb6914683ebff metadata.xml 223 +RMD160 7783e6057effb8b8f0b79cffe8b557b32c633839 metadata.xml 223 +SHA256 1d00c8be162a6cb87b3de440b3e63e10b39c12d56e8fbfe592e75aed872b2508 metadata.xml 223 diff --git a/dev-lang/ghc/ghc-6.4.1-r2.ebuild b/dev-lang/ghc/ghc-6.4.1-r2.ebuild index 866c0b9d5f27..41fbcae0832c 100644 --- a/dev-lang/ghc/ghc-6.4.1-r2.ebuild +++ b/dev-lang/ghc/ghc-6.4.1-r2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.4.1-r2.ebuild,v 1.2 2006/03/01 16:21:22 corsair Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.4.1-r2.ebuild,v 1.3 2006/03/10 23:14:23 dcoutts Exp $ # Brief explanation of the bootstrap logic: # @@ -14,10 +14,7 @@ # can be removed once an forall after the first succesful install # of ghc. -inherit base flag-o-matic eutils autotools ghc-package check-reqs - -IUSE="doc X opengl openal" -#java use flag disabled because of bug #106992 +inherit base eutils autotools ghc-package check-reqs DESCRIPTION="The Glasgow Haskell Compiler" HOMEPAGE="http://www.haskell.org/ghc/" @@ -33,8 +30,9 @@ SRC_URI="http://www.haskell.org/ghc/dist/${EXTRA_SRC_URI}/${MY_P}-src.tar.bz2" LICENSE="as-is" SLOT="0" -# re-add ~ppc64 once dependencies are fulfilled KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="doc X opengl openal" +#java use flag disabled because of bug #106992 S="${WORKDIR}/${MY_P}" @@ -61,20 +59,13 @@ DEPEND="${RDEPEND} PDEPEND=">=dev-haskell/cabal-1.1.3" -SUPPORTED_CFLAGS="" - -# Setup supported CFLAGS. -check_cflags() { - OLD_CFLAGS="${CFLAGS}" - CFLAGS="$1" - strip-unsupported-flags - SUPPORTED_CFLAGS="${SUPPORTED_CFLAGS} ${CFLAGS}" - CFLAGS="${OLD_CFLAGS}" -} +# hardened-gcc needs to be disabled, because the mangler doesn't accept +# its output. +GHC_CFLAGS="-optc-nopie -optl-nopie -optc-fno-stack-protector" -setup_cflags() { - check_cflags "-nopie -fno-stack-protector -fno-stack-protector-all" -} +# We also add -opta-Wa,--noexecstack to get ghc to generate .o files with +# non-exectable stack. This it a hack until ghc does it itself properly. +GHC_CFLAGS="${GHC_CFLAGS} -opta-Wa,--noexecstack" # Portage's resolution of virtuals fails on virtual/ghc in some Portage releases, # the following function causes the build to fail with an informative error message @@ -92,29 +83,25 @@ setup_cflags() { src_unpack() { base_src_unpack - # TODO: test if ppc/ppc64 works without patch now ... cd ${S} epatch "${FILESDIR}/${PN}-6.4.1-configure.patch" epatch "${FILESDIR}/${PN}-6.4.1-openal.patch" - # hardened-gcc needs to be disabled, because the - # mangler doesn't accept its output; yes, the 6.2 version - # should do ... - cd "${S}/ghc/driver" - setup_cflags - - epatch "${FILESDIR}/${PN}-6.2.hardened.patch" - sed -i -e "s|@GHC_CFLAGS@|${SUPPORTED_CFLAGS// -/ -optc-}|" ghc/ghc.sh - sed -i -e "s|@GHC_CFLAGS@|${SUPPORTED_CFLAGS// -/ -optc-}|" ghci/ghci.sh + # Modify the ghc driver script to use GHC_CFLAGS + echo "SCRIPT_SUBST_VARS += GHC_CFLAGS" >> "${S}/ghc/driver/ghc/Makefile" + echo "GHC_CFLAGS = ${GHC_CFLAGS}" >> "${S}/ghc/driver/ghc/Makefile" + sed -i -e 's|$TOPDIROPT|$TOPDIROPT $GHC_CFLAGS|' "${S}/ghc/driver/ghc/ghc.sh" } src_compile() { - local mydoc - # initialize build.mk echo '# Gentoo changes' > mk/build.mk + # We also need to use the GHC_CFLAGS flags when building ghc itself + echo "SRC_HC_OPTS+=${GHC_CFLAGS}" >> mk/build.mk + # determine what to do with documentation + local mydoc if use doc; then mydoc="html" # if use java; then @@ -127,15 +114,6 @@ src_compile() { fi echo XMLDocWays="${mydoc}" >> mk/build.mk - # disable the automatic PIC building which is considered as Prologue Junk by the Haskell Compiler - # thanks to Peter Simons for finding this and giving notice on bugs.gentoo.org - # (this is still necessary, even though we have the patch, because - # we might be bootstrapping from a version that didn't have the - # patch included) - setup_cflags - echo "SRC_CC_OPTS+=${SUPPORTED_CFLAGS}" >> mk/build.mk - echo "SRC_HC_OPTS+=${SUPPORTED_CFLAGS// -/ -optc-}" >> mk/build.mk - # circumvent a very strange bug that seems related with ghc producing too much # output while being filtered through tee (e.g. due to portage logging) # reported as bug #111183 @@ -147,8 +125,8 @@ src_compile() { echo "ArSupportsInput:=" >> mk/build.mk # Required for some architectures, because they don't support ghc fully ... - use alpha || use ppc64 && echo "GhcWithInterpreter=NO" >> mk/build.mk - use alpha && echo "GhcUnregisterised=YES" >> mk/build.mk + use hppa || use alpha || use ppc64 && echo "GhcWithInterpreter=NO" >> mk/build.mk + use hppa || use alpha && echo "GhcUnregisterised=YES" >> mk/build.mk # The SplitObjs feature doesn't work on several arches and it makes # 'ar' take loads of RAM: |