summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuncan Coutts <dcoutts@gentoo.org>2006-03-10 23:14:23 +0000
committerDuncan Coutts <dcoutts@gentoo.org>2006-03-10 23:14:23 +0000
commite6d01d9b14006282ff190e2e2a019dc740b9d2e5 (patch)
tree1a25957118760ec417238cd1ee3375b3c3f470f2 /dev-lang
parentSpaces -> tab (repoman). (diff)
downloadgentoo-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/ChangeLog8
-rw-r--r--dev-lang/ghc/Manifest32
-rw-r--r--dev-lang/ghc/ghc-6.4.1-r2.ebuild62
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: