summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Loeh <kosmikus@gentoo.org>2004-06-15 13:14:27 +0000
committerAndres Loeh <kosmikus@gentoo.org>2004-06-15 13:14:27 +0000
commitd85c247f67b46334411372724a71d5e88aa7915c (patch)
tree0157002064ff22135bf66c597aad85b33d831c9b /dev-lang
parentnew release (diff)
downloadhistorical-d85c247f67b46334411372724a71d5e88aa7915c.tar.gz
historical-d85c247f67b46334411372724a71d5e88aa7915c.tar.bz2
historical-d85c247f67b46334411372724a71d5e88aa7915c.zip
patch for ghci's linker that helps with HOpenGL
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/ghc/ChangeLog8
-rw-r--r--dev-lang/ghc/Manifest5
-rw-r--r--dev-lang/ghc/files/digest-ghc-6.2.1-r11
-rw-r--r--dev-lang/ghc/files/ghc-6.2.1-linker.patch.bz2bin0 -> 658 bytes
-rw-r--r--dev-lang/ghc/ghc-6.2.1-r1.ebuild169
5 files changed, 181 insertions, 2 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/Manifest b/dev-lang/ghc/Manifest
index 8e0bc408135e..f86ea564a78e 100644
--- a/dev-lang/ghc/Manifest
+++ b/dev-lang/ghc/Manifest
@@ -1,13 +1,16 @@
MD5 5e2a54062b6d34dbc3a04fa0bdd7927a ghc-6.2.1.ebuild 5226
+MD5 c7618e1251ca2951b2e05e701552bf7f ghc-6.2.1-r1.ebuild 5315
MD5 026a7a899d4eea21503dc0c39f487909 ghc-6.0.ebuild 4254
MD5 8cb3f21a656a5609afaa9f650f3a1687 ghc-6.2.ebuild 5015
MD5 8040ff7a3d5835ce7b688bcbc73a2ad2 ghc-6.0.1.ebuild 4723
-MD5 2619ed17501dcfde337455ef1ea9e99b ChangeLog 7844
+MD5 45a5f1586915633a5fd01c6e05e51b84 ChangeLog 8053
MD5 a769ecfcd1cdd2d40986627df7dfb249 metadata.xml 224
MD5 463e6e4082b55a1d4c97e564ebf395ef ghc-6.2-r1.ebuild 5197
+MD5 627087e51858d514520531cedbd372f8 files/ghc-6.2.1-linker.patch.bz2 658
MD5 9da9270be8ac4d92d6a5c23fd519cc3c files/lndir.c 8050
MD5 9c184505ec441675c94d47a3110fa754 files/ghc-6.2.documentation.patch 721
MD5 d4a4184d5dcf525047332f9c68e522f7 files/ghc-5.04.3-r1.patch 2717
+MD5 0cc23d312b60d64e20735768503db1c6 files/digest-ghc-6.2.1-r1 67
MD5 d417c9e24a826959ad6d921247e43328 files/digest-ghc-6.0.1 67
MD5 0cc23d312b60d64e20735768503db1c6 files/digest-ghc-6.2.1 67
MD5 2e1bd1157c6d47093864b670d6b51a64 files/digest-ghc-6.2-r1 65
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
new file mode 100644
index 000000000000..d329c984d6f6
--- /dev/null
+++ b/dev-lang/ghc/files/ghc-6.2.1-linker.patch.bz2
Binary files differ
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."
+}