diff options
-rw-r--r-- | dev-lang/ghc/ChangeLog | 8 | ||||
-rw-r--r-- | dev-lang/ghc/files/digest-ghc-6.2.1-r1 | 1 | ||||
-rw-r--r-- | dev-lang/ghc/files/ghc-6.2.1-linker.patch.bz2 | bin | 0 -> 658 bytes | |||
-rw-r--r-- | dev-lang/ghc/ghc-6.2.1-r1.ebuild | 169 |
4 files changed, 177 insertions, 1 deletions
diff --git a/dev-lang/ghc/ChangeLog b/dev-lang/ghc/ChangeLog index 665f7fed7081..e8552118fc44 100644 --- a/dev-lang/ghc/ChangeLog +++ b/dev-lang/ghc/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-lang/ghc # Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.37 2004/06/03 14:44:28 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.38 2004/06/15 13:14:27 kosmikus Exp $ + +*ghc-6.2.1-r1 (15 Jun 2004) + + 15 Jun 2004; Andres Loeh <kosmikus@gentoo.org> ghc-6.2.1-r1.ebuild, + files/ghc-6.2.1-linker.patch.bz2: + Patch for ghci's linker to help loading HOpenGL. Thanks to Sven Panne. 03 Jun 2004; Aron Griffis <agriffis@gentoo.org> ghc-6.0.1.ebuild, ghc-6.0.ebuild, ghc-6.2-r1.ebuild, ghc-6.2.1.ebuild, ghc-6.2.ebuild: diff --git a/dev-lang/ghc/files/digest-ghc-6.2.1-r1 b/dev-lang/ghc/files/digest-ghc-6.2.1-r1 new file mode 100644 index 000000000000..61f5b8e7bb46 --- /dev/null +++ b/dev-lang/ghc/files/digest-ghc-6.2.1-r1 @@ -0,0 +1 @@ +MD5 fa9f90fd6b8852679c5fc16509e94d7a ghc-6.2.1-src.tar.bz2 5367409 diff --git a/dev-lang/ghc/files/ghc-6.2.1-linker.patch.bz2 b/dev-lang/ghc/files/ghc-6.2.1-linker.patch.bz2 Binary files differnew file mode 100644 index 000000000000..d329c984d6f6 --- /dev/null +++ b/dev-lang/ghc/files/ghc-6.2.1-linker.patch.bz2 diff --git a/dev-lang/ghc/ghc-6.2.1-r1.ebuild b/dev-lang/ghc/ghc-6.2.1-r1.ebuild new file mode 100644 index 000000000000..ea2ab8728d83 --- /dev/null +++ b/dev-lang/ghc/ghc-6.2.1-r1.ebuild @@ -0,0 +1,169 @@ +# Copyright 1999-2004 Gentoo Technologies, Inc. +# 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.1 2004/06/15 13:14:27 kosmikus 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-r1 + >=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/glibc + >=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 + pushd ghc/compiler/ghci + bzcat ${FILESDIR}/ghc-6.2.1-linker.patch.bz2 | patch -p0 + 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) + 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." +} |