From 8f3b70d5c484cc3f9c6f6e816d98150c868c27af Mon Sep 17 00:00:00 2001 From: Andres Loeh Date: Mon, 18 Oct 2004 17:20:50 +0000 Subject: new version, and closing #59709 --- dev-lang/ghc/ChangeLog | 8 +- dev-lang/ghc/files/digest-ghc-6.0 | 1 - dev-lang/ghc/files/digest-ghc-6.2.1 | 1 - dev-lang/ghc/files/digest-ghc-6.2.2 | 1 + dev-lang/ghc/files/ghc-6.2.hardened.patch | 14 +++ dev-lang/ghc/ghc-6.0.ebuild | 143 ----------------------- dev-lang/ghc/ghc-6.2.1-r1.ebuild | 40 +++++-- dev-lang/ghc/ghc-6.2.1.ebuild | 166 --------------------------- dev-lang/ghc/ghc-6.2.2.ebuild | 183 ++++++++++++++++++++++++++++++ 9 files changed, 237 insertions(+), 320 deletions(-) delete mode 100644 dev-lang/ghc/files/digest-ghc-6.0 delete mode 100644 dev-lang/ghc/files/digest-ghc-6.2.1 create mode 100644 dev-lang/ghc/files/digest-ghc-6.2.2 create mode 100644 dev-lang/ghc/files/ghc-6.2.hardened.patch delete mode 100644 dev-lang/ghc/ghc-6.0.ebuild delete mode 100644 dev-lang/ghc/ghc-6.2.1.ebuild create mode 100644 dev-lang/ghc/ghc-6.2.2.ebuild (limited to 'dev-lang/ghc') diff --git a/dev-lang/ghc/ChangeLog b/dev-lang/ghc/ChangeLog index 8f26f0469281..aecf98f30549 100644 --- a/dev-lang/ghc/ChangeLog +++ b/dev-lang/ghc/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-lang/ghc # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.42 2004/10/18 16:47:48 usata Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.43 2004/10/18 17:20:50 kosmikus Exp $ + +*ghc-6.2.2 (18 Oct 2004) + + 18 Oct 2004; Andres Loeh ghc-6.0.ebuild, + ghc-6.2.1-r1.ebuild, ghc-6.2.1.ebuild, ghc-6.2.2.ebuild: + New version. Included mattam's fix for #59709. Removed some old versions. 19 Oct 2004; Mamoru KOMACHI ghc-6.0.1.ebuild, ghc-6.0.ebuild, ghc-6.2-r1.ebuild, ghc-6.2.1-r1.ebuild, ghc-6.2.1.ebuild, diff --git a/dev-lang/ghc/files/digest-ghc-6.0 b/dev-lang/ghc/files/digest-ghc-6.0 deleted file mode 100644 index 81b3f90cc500..000000000000 --- a/dev-lang/ghc/files/digest-ghc-6.0 +++ /dev/null @@ -1 +0,0 @@ -MD5 d0eb15ac5a37a2a695bb8c2c638f96b7 ghc-6.0-src.tar.bz2 5250663 diff --git a/dev-lang/ghc/files/digest-ghc-6.2.1 b/dev-lang/ghc/files/digest-ghc-6.2.1 deleted file mode 100644 index 61f5b8e7bb46..000000000000 --- a/dev-lang/ghc/files/digest-ghc-6.2.1 +++ /dev/null @@ -1 +0,0 @@ -MD5 fa9f90fd6b8852679c5fc16509e94d7a ghc-6.2.1-src.tar.bz2 5367409 diff --git a/dev-lang/ghc/files/digest-ghc-6.2.2 b/dev-lang/ghc/files/digest-ghc-6.2.2 new file mode 100644 index 000000000000..f022e58da9e8 --- /dev/null +++ b/dev-lang/ghc/files/digest-ghc-6.2.2 @@ -0,0 +1 @@ +MD5 8dc5ab2137ef9593f52180b0b2423d7f ghc-6.2.2-src.tar.bz2 5407409 diff --git a/dev-lang/ghc/files/ghc-6.2.hardened.patch b/dev-lang/ghc/files/ghc-6.2.hardened.patch new file mode 100644 index 000000000000..706fe33b6e8e --- /dev/null +++ b/dev-lang/ghc/files/ghc-6.2.hardened.patch @@ -0,0 +1,14 @@ +--- ghc/ghc.sh.orig 2004-09-25 20:07:56.256016992 +0200 ++++ ghc/ghc.sh 2004-09-25 20:09:51.779454760 +0200 +@@ -1,2 +1,3 @@ ++#!/bin/bash + # Mini-driver for GHC +-exec $GHCBIN $TOPDIROPT ${1+"$@"} ++exec ${GHCBIN} ${TOPDIROPT} @GHC_CFLAGS@ ${1+"$@"} +--- ghci/ghci.sh.orig 2004-09-25 20:08:07.860252880 +0200 ++++ ghci/ghci.sh 2004-09-25 20:09:45.880351560 +0200 +@@ -1,2 +1,3 @@ ++#!/bin/bash + # Mini-driver for GHCi +-exec $GHCBIN $TOPDIROPT --interactive ${1+"$@"} ++exec ${GHCBIN} ${TOPDIROPT} @GHC_CFLAGS@ --interactive ${1+"$@"} diff --git a/dev-lang/ghc/ghc-6.0.ebuild b/dev-lang/ghc/ghc-6.0.ebuild deleted file mode 100644 index 543657fe6f68..000000000000 --- a/dev-lang/ghc/ghc-6.0.ebuild +++ /dev/null @@ -1,143 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.0.ebuild,v 1.9 2004/10/18 16:47:48 usata Exp $ - -#Some explanation of bootstrap logic: -# -#After thinking through the best way to bootstrap ghc I decided to split it into -#ghc and ghc-bin and make ghc depend on ghc-bin. -# The ebuild has been revamped and greatly simplified. Bootstrap off old 4x hc files no longer works on x86. -#Not sure what happens with old scheme on sparc, as I did not see any test reports. -# -#The considerations: -#Making ghc unpack binary build first (under ${WORKDIR}) and bootstrapping from that will effectively force -#ghc-bin reinstall every time ghc is rebuilt or upgraded. What is worse it will likely force download of binary image -#at upgrade, which is not nice (in fact quite bad for modem users - 16+ MB). -# -#The best results are achieved if ghc-bin is left alone after ghc installation - -#Both ebuilds install in the same place, thus space penalty is minimal. In fact only the docs exist in double -#(considering that ghc is not installing much docs at present this looks more like an advantage). -#When the upgrade time comes, if you still have ghc-bin around, portage will happily bootstrap off -#your existing ghc (or ghc-bin, whichever was merged last), without attempting to ruin anything... -# -#There is only one issue: ghci will be successfully built only if ghc is bootstrapped from the same version. -#Thus we need to detect presently installed one and bootstrap in one or two stages.. - -inherit base - -IUSE="doc tetex opengl" - -DESCRIPTION="The Glasgow Haskell Compiler" -HOMEPAGE="http://www.haskell.org/ghc/" - -SRC_URI="http://www.haskell.org/ghc/dist/${PV}/ghc-${PV}-src.tar.bz2" - -LICENSE="as-is" -SLOT="0" -KEYWORDS="~x86 ~sparc -ppc -alpha" - - -PROVIDE="virtual/ghc" -# FIXME: Add USE support for parallel haskell (requires PVM) -# Get PVM from ftp://ftp.netlib.org/pvm3/ -DEPEND="virtual/ghc - >=dev-lang/perl-5.6.1 - >=sys-devel/gcc-2.95.3 - >=sys-devel/make-3.79.1 - >=sys-apps/sed-3.02.80 - >=sys-devel/flex-2.5.4a - >=dev-libs/gmp-4.1 - doc? ( >=app-text/openjade-1.3.1 - >=app-text/sgml-common-0.6.3 - ~app-text/docbook-sgml-dtd-3.1 - >=app-text/docbook-dsssl-stylesheets-1.64 - >=dev-haskell/haddock-0.4 - tetex? ( virtual/tetex - >=app-text/jadetex-3.12 ) ) - opengl? ( virtual/opengl - virtual/glu - virtual/glut )" - -RDEPEND="virtual/libc - >=sys-devel/gcc-2.95.3 - >=dev-lang/perl-5.6.1 - >=dev-libs/gmp-4.1 - opengl? ( virtual/opengl virtual/glu virtual/glut )" - -# extend path to /opt/ghc/bin to guarantee that ghc-bin is found -GHCPATH="${PATH}:/opt/ghc/bin" - -src_unpack() { - base_src_unpack - - # fix libraries/OpenGL/Makefile - cd ${S} - pushd libraries/OpenGL - mv Makefile Makefile-orig - sed -e 's/\(-D.*=\)"\(.*\)"/\1\\\"\2\\\"/' Makefile-orig > Makefile - popd -} - -src_compile() { - local myconf - if use opengl; then - myconf="--enable-hopengl" - fi - - # unset SGML_CATALOG_FILES because documentation installation - # breaks otherwise ... - PATH="${GHCPATH}" SGML_CATALOG_FILES="" econf \ - --enable-threaded-rts ${myconf} || die "econf failed" - - # the build does not seem to work all that - # well with parallel make - make || die - - # if documentation has been requested, build documentation ... - if use doc; then - emake html || die - if use tetex; then - emake ps || die - fi - fi - -} - -src_install () { - local mydoc - - # determine what to do with documentation - if use doc; then - mydoc="html" - if use tetex; then - mydoc="${mydoc} ps" - fi - else - mydoc="" - # needed to prevent haddock from being called - echo NO_HADDOCK_DOCS=YES >> mk/build.mk - fi - echo SGMLDocWays="${mydoc}" >> mk/build.mk - - make install install-docs \ - prefix="${D}/usr" \ - datadir="${D}/usr/share/doc/${PF}" \ - infodir="${D}/usr/share/info" \ - mandir="${D}/usr/share/man" || die - - #need to remove ${D} from ghcprof script - cd ${D}/usr/bin - mv ghcprof ghcprof-orig - sed -e 's:$FPTOOLS_TOP_ABS:#$FPTOOLS_TOP_ABS:' ghcprof-orig > ghcprof - chmod a+x ghcprof - rm -f ghcprof-orig - - cd ${S}/ghc - dodoc README ANNOUNCE LICENSE VERSION -} - - -pkg_postinst () { - einfo "If you have dev-lang/ghc-bin installed, you might" - einfo "want to unmerge it again. It is no longer needed." -} diff --git a/dev-lang/ghc/ghc-6.2.1-r1.ebuild b/dev-lang/ghc/ghc-6.2.1-r1.ebuild index 059fe3739bbd..7de8e347d9c6 100644 --- a/dev-lang/ghc/ghc-6.2.1-r1.ebuild +++ b/dev-lang/ghc/ghc-6.2.1-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.2.1-r1.ebuild,v 1.4 2004/10/18 16:47:48 usata Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.2.1-r1.ebuild,v 1.5 2004/10/18 17:20:50 kosmikus Exp $ #Some explanation of bootstrap logic: # @@ -23,7 +23,7 @@ #There is only one issue: ghci will be successfully built only if ghc is bootstrapped from the same version. #Thus we need to detect presently installed one and bootstrap in one or two stages.. -inherit base +inherit base flag-o-matic eutils IUSE="doc tetex opengl" @@ -67,17 +67,40 @@ RDEPEND="virtual/libc # extend path to /opt/ghc/bin to guarantee that ghc-bin is found GHCPATH="${PATH}:/opt/ghc/bin" +SUPPORTED_CFLAGS="" + +# Setup supported CFLAGS. +setup_cflag() { + OLD_CFLAGS="${CFLAGS}" + CFLAGS="${CFLAGS} $1" + strip-unsupported-flags + + if [ "${OLD_CFLAGS}" != "${CFLAGS}" ]; + then + SUPPORTED_CFLAGS="$1 ${SUPPORTED_CFLAGS}" + fi +} + +setup_cflags() { + setup_cflag "-fno-pic" + setup_cflag "-fno-stack-protector" +} + src_unpack() { base_src_unpack # hardened-gcc needs to be disabled, because the # mangler doesn't accept its output; yes, the 6.2 version # should do ... - cd ${S} - bzcat ${FILESDIR}/ghc-6.2.hardened.patch.bz2 | patch -p1 - pushd ghc/compiler/ghci - bzcat ${FILESDIR}/ghc-6.2.1-linker.patch.bz2 | patch -p0 + cd ${S}/ghc + pushd driver + setup_cflags + epatch ${FILESDIR}/${PN}-6.2.hardened.patch + sed -i -e "s|@GHC_CFLAGS@|${SUPPORTED_CFLAGS//-f/-optc-f}|" ghc/ghc.sh + sed -i -e "s|@GHC_CFLAGS@|${SUPPORTED_CFLAGS//-f/-optc-f}|" ghci/ghci.sh popd + cd compiler/ghci + bzcat ${FILESDIR}/ghc-6.2.1-linker.patch.bz2 | patch -p0 } src_compile() { @@ -91,8 +114,9 @@ src_compile() { # (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) - echo "SRC_CC_OPTS+=-fno-pic -fno-stack-protector" >> mk/build.mk - echo "SRC_HC_OPTS+=-optc-fno-pic -optc-fno-stack-protector" >> mk/build.mk + setup_cflags + echo "SRC_CC_OPTS+=${SUPPORTED_CFLAGS}" >> mk/build.mk + echo "SRC_HC_OPTS+=${SUPPORTED_CFLAGS//-f/-optc-f}" >> mk/build.mk # force the config variable ArSupportsInput to be unset; # ar in binutils >= 2.14.90.0.8-r1 seems to be classified diff --git a/dev-lang/ghc/ghc-6.2.1.ebuild b/dev-lang/ghc/ghc-6.2.1.ebuild deleted file mode 100644 index 719a9dcbbc1e..000000000000 --- a/dev-lang/ghc/ghc-6.2.1.ebuild +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.2.1.ebuild,v 1.9 2004/10/18 16:47:48 usata Exp $ - -#Some explanation of bootstrap logic: -# -#After thinking through the best way to bootstrap ghc I decided to split it into -#ghc and ghc-bin and make ghc depend on ghc-bin. -# The ebuild has been revamped and greatly simplified. Bootstrap off old 4x hc files no longer works on x86. -#Not sure what happens with old scheme on sparc, as I did not see any test reports. -# -#The considerations: -#Making ghc unpack binary build first (under ${WORKDIR}) and bootstrapping from that will effectively force -#ghc-bin reinstall every time ghc is rebuilt or upgraded. What is worse it will likely force download of binary image -#at upgrade, which is not nice (in fact quite bad for modem users - 16+ MB). -# -#The best results are achieved if ghc-bin is left alone after ghc installation - -#Both ebuilds install in the same place, thus space penalty is minimal. In fact only the docs exist in double -#(considering that ghc is not installing much docs at present this looks more like an advantage). -#When the upgrade time comes, if you still have ghc-bin around, portage will happily bootstrap off -#your existing ghc (or ghc-bin, whichever was merged last), without attempting to ruin anything... -# -#There is only one issue: ghci will be successfully built only if ghc is bootstrapped from the same version. -#Thus we need to detect presently installed one and bootstrap in one or two stages.. - -inherit base - -IUSE="doc tetex opengl" - -DESCRIPTION="The Glasgow Haskell Compiler" -HOMEPAGE="http://www.haskell.org/ghc/" - -SRC_URI="http://www.haskell.org/ghc/dist/${PV}/ghc-${PV}-src.tar.bz2" - -LICENSE="as-is" -SLOT="0" -KEYWORDS="~x86 ~ppc -alpha" - - -PROVIDE="virtual/ghc" -# FIXME: Add USE support for parallel haskell (requires PVM) -# Get PVM from ftp://ftp.netlib.org/pvm3/ -DEPEND="virtual/ghc - >=dev-lang/perl-5.6.1 - >=sys-devel/gcc-2.95.3 - >=sys-devel/make-3.79.1 - >=sys-apps/sed-3.02.80 - >=sys-devel/flex-2.5.4a - >=dev-libs/gmp-4.1 - doc? ( >=app-text/openjade-1.3.1 - >=app-text/sgml-common-0.6.3 - ~app-text/docbook-sgml-dtd-3.1 - >=app-text/docbook-dsssl-stylesheets-1.64 - >=dev-haskell/haddock-0.6-r2 - tetex? ( virtual/tetex - >=app-text/jadetex-3.12 ) ) - opengl? ( virtual/opengl - virtual/glu - virtual/glut )" - -RDEPEND="virtual/libc - >=sys-devel/gcc-2.95.3 - >=dev-lang/perl-5.6.1 - >=dev-libs/gmp-4.1 - opengl? ( virtual/opengl virtual/glu virtual/glut )" - -# extend path to /opt/ghc/bin to guarantee that ghc-bin is found -GHCPATH="${PATH}:/opt/ghc/bin" - -src_unpack() { - base_src_unpack - - # hardened-gcc needs to be disabled, because the - # mangler doesn't accept its output; yes, the 6.2 version - # should do ... - cd ${S} - bzcat ${FILESDIR}/ghc-6.2.hardened.patch.bz2 | patch -p1 -} - -src_compile() { - local myconf - if use opengl; then - myconf="--enable-hopengl" - fi - - # 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) - echo "SRC_CC_OPTS+=-fno-pic -fno-stack-protector" >> mk/build.mk - echo "SRC_HC_OPTS+=-optc-fno-pic -optc-fno-stack-protector" >> mk/build.mk - - # force the config variable ArSupportsInput to be unset; - # ar in binutils >= 2.14.90.0.8-r1 seems to be classified - # incorrectly by the configure script - echo "ArSupportsInput:=" >> mk/build.mk - - # Required under ppc to work around some obscure linker problem. - if ( use ppc ) - then - echo "SplitObjs=NO" >> mk/build.mk - fi - - # unset SGML_CATALOG_FILES because documentation installation - # breaks otherwise ... - # (--enable-threaded-rts is no longer needed) - PATH="${GHCPATH}" SGML_CATALOG_FILES="" econf \ - ${myconf} || die "econf failed" - - # the build does not seem to work all that - # well with parallel make - make || die "make failed" - - # if documentation has been requested, build documentation ... - if use doc; then - make html || die "make html failed" - if use tetex; then - make ps || die "make ps failed" - fi - fi - -} - -src_install () { - local mydoc - local insttarget - - insttarget="install" - - # determine what to do with documentation - if use doc; then - mydoc="html" - insttarget="${insttarget} install-docs" - if use tetex; then - mydoc="${mydoc} ps" - fi - else - mydoc="" - # needed to prevent haddock from being called - echo NO_HADDOCK_DOCS=YES >> mk/build.mk - fi - echo SGMLDocWays="${mydoc}" >> mk/build.mk - - make ${insttarget} \ - prefix="${D}/usr" \ - datadir="${D}/usr/share/doc/${PF}" \ - infodir="${D}/usr/share/info" \ - mandir="${D}/usr/share/man" || die - - #need to remove ${D} from ghcprof script - cd ${D}/usr/bin - mv ghcprof ghcprof-orig - sed -e 's:$FPTOOLS_TOP_ABS:#$FPTOOLS_TOP_ABS:' ghcprof-orig > ghcprof - chmod a+x ghcprof - rm -f ghcprof-orig - - cd ${S}/ghc - dodoc README ANNOUNCE LICENSE VERSION -} - - -pkg_postinst () { - einfo "If you have dev-lang/ghc-bin installed, you might" - einfo "want to unmerge it again. It is no longer needed." -} diff --git a/dev-lang/ghc/ghc-6.2.2.ebuild b/dev-lang/ghc/ghc-6.2.2.ebuild new file mode 100644 index 000000000000..c380f9f3319d --- /dev/null +++ b/dev-lang/ghc/ghc-6.2.2.ebuild @@ -0,0 +1,183 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.2.2.ebuild,v 1.1 2004/10/18 17:20:50 kosmikus Exp $ + +# Brief explanation of the bootstrap logic: +# +# ghc requires ghc-bin to bootstrap. +# Therefore, +# (1) both ghc-bin and ghc provide virtual/ghc +# (2) virtual/ghc *must* default to ghc-bin +# (3) ghc depends on virtual/ghc +# +# This solution has the advantage that the binary distribution +# can be removed once an forall after the first succesful install +# of ghc. + +inherit base flag-o-matic eutils + +IUSE="doc tetex opengl" + +DESCRIPTION="The Glasgow Haskell Compiler" +HOMEPAGE="http://www.haskell.org/ghc/" + +SRC_URI="http://www.haskell.org/ghc/dist/${PV}/ghc-${PV}-src.tar.bz2" + +LICENSE="as-is" +SLOT="0" +KEYWORDS="~x86 -alpha" + + +PROVIDE="virtual/ghc" +# FIXME: Add USE support for parallel haskell (requires PVM) +# Get PVM from ftp://ftp.netlib.org/pvm3/ +DEPEND="virtual/ghc + >=dev-lang/perl-5.6.1 + >=sys-devel/gcc-2.95.3 + >=sys-devel/make-3.79.1 + >=sys-apps/sed-3.02.80 + >=sys-devel/flex-2.5.4a + >=dev-libs/gmp-4.1 + doc? ( >=app-text/openjade-1.3.1 + >=app-text/sgml-common-0.6.3 + ~app-text/docbook-sgml-dtd-3.1 + >=app-text/docbook-dsssl-stylesheets-1.64 + >=dev-haskell/haddock-0.6-r2 + tetex? ( virtual/tetex + >=app-text/jadetex-3.12 ) ) + opengl? ( virtual/opengl + virtual/glu + virtual/glut )" + +RDEPEND="virtual/libc + >=sys-devel/gcc-2.95.3 + >=dev-lang/perl-5.6.1 + >=dev-libs/gmp-4.1 + opengl? ( virtual/opengl virtual/glu virtual/glut )" + +# extend path to /opt/ghc/bin to guarantee that ghc-bin is found +GHCPATH="${PATH}:/opt/ghc/bin" + +SUPPORTED_CFLAGS="" + +# Setup supported CFLAGS. +setup_cflag() { + OLD_CFLAGS="${CFLAGS}" + CFLAGS="${CFLAGS} $1" + strip-unsupported-flags + + if [ "${OLD_CFLAGS}" != "${CFLAGS}" ]; + then + SUPPORTED_CFLAGS="$1 ${SUPPORTED_CFLAGS}" + fi +} + +setup_cflags() { + setup_cflag "-fno-pic" + setup_cflag "-fno-stack-protector" +} + +src_unpack() { + base_src_unpack + + # hardened-gcc needs to be disabled, because the + # mangler doesn't accept its output; yes, the 6.2 version + # should do ... + cd ${S}/ghc + pushd driver + setup_cflags + epatch ${FILESDIR}/${PN}-6.2.hardened.patch + sed -i -e "s|@GHC_CFLAGS@|${SUPPORTED_CFLAGS//-f/-optc-f}|" ghc/ghc.sh + sed -i -e "s|@GHC_CFLAGS@|${SUPPORTED_CFLAGS//-f/-optc-f}|" ghci/ghci.sh + popd +} + +src_compile() { + local myconf + if use opengl; then + myconf="--enable-hopengl" + fi + + # 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//-f/-optc-f}" >> mk/build.mk + + # force the config variable ArSupportsInput to be unset; + # ar in binutils >= 2.14.90.0.8-r1 seems to be classified + # incorrectly by the configure script + echo "ArSupportsInput:=" >> mk/build.mk + + # Required under ppc to work around some obscure linker problem. + if use ppc; + then + echo "SplitObjs=NO" >> mk/build.mk + fi + + # unset SGML_CATALOG_FILES because documentation installation + # breaks otherwise ... + # (--enable-threaded-rts is no longer needed) + PATH="${GHCPATH}" SGML_CATALOG_FILES="" econf \ + ${myconf} || die "econf failed" + + # the build does not seem to work all that + # well with parallel make + emake -j1 || die "make failed" + + # if documentation has been requested, build documentation ... + if use doc; then + emake -j1 html || die "make html failed" + if use tetex; then + emake -j1 ps || die "make ps failed" + fi + fi + +} + +src_install () { + local mydoc + local insttarget + + insttarget="install" + + # determine what to do with documentation + if use doc; then + mydoc="html" + insttarget="${insttarget} install-docs" + if use tetex; then + mydoc="${mydoc} ps" + fi + else + mydoc="" + # needed to prevent haddock from being called + echo NO_HADDOCK_DOCS=YES >> mk/build.mk + fi + echo SGMLDocWays="${mydoc}" >> mk/build.mk + + emake -j1 ${insttarget} \ + prefix="${D}/usr" \ + datadir="${D}/usr/share/doc/${PF}" \ + infodir="${D}/usr/share/info" \ + mandir="${D}/usr/share/man" \ + || die "make ${insttarget} failed" + + #need to remove ${D} from ghcprof script + cd ${D}/usr/bin + mv ghcprof ghcprof-orig + sed -e 's:$FPTOOLS_TOP_ABS:#$FPTOOLS_TOP_ABS:' ghcprof-orig > ghcprof + chmod a+x ghcprof + rm -f ghcprof-orig + + cd ${S}/ghc + dodoc README ANNOUNCE LICENSE VERSION +} + + +pkg_postinst () { + einfo "If you have dev-lang/ghc-bin installed, you might" + einfo "want to unmerge it again. It is no longer needed." +} -- cgit v1.2.3-65-gdbad