diff options
author | George Shapovalov <george@gentoo.org> | 2003-03-22 08:33:57 +0000 |
---|---|---|
committer | George Shapovalov <george@gentoo.org> | 2003-03-22 08:33:57 +0000 |
commit | a16a1f0eb7c9b4ab21ec45a40508f19f5b8e04bf (patch) | |
tree | 5f08fd5dddf0938598b0b8002390855be56f7edf /dev-lang | |
parent | set ~ppc in keywords (diff) | |
download | gentoo-2-a16a1f0eb7c9b4ab21ec45a40508f19f5b8e04bf.tar.gz gentoo-2-a16a1f0eb7c9b4ab21ec45a40508f19f5b8e04bf.tar.bz2 gentoo-2-a16a1f0eb7c9b4ab21ec45a40508f19f5b8e04bf.zip |
updated ghc and ghc-bin to use virtual/ghc for correct bootstrapping
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/ghc-bin/ChangeLog | 6 | ||||
-rw-r--r-- | dev-lang/ghc-bin/ghc-bin-5.04.2.ebuild | 4 | ||||
-rw-r--r-- | dev-lang/ghc/ChangeLog | 15 | ||||
-rw-r--r-- | dev-lang/ghc/files/digest-ghc-5.04.3 | 1 | ||||
-rw-r--r-- | dev-lang/ghc/ghc-5.04.2.ebuild | 5 | ||||
-rw-r--r-- | dev-lang/ghc/ghc-5.04.3.ebuild | 153 |
6 files changed, 178 insertions, 6 deletions
diff --git a/dev-lang/ghc-bin/ChangeLog b/dev-lang/ghc-bin/ChangeLog index 38061aba531a..a50d82ae434c 100644 --- a/dev-lang/ghc-bin/ChangeLog +++ b/dev-lang/ghc-bin/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for dev-lang/ghc-bin # Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc-bin/ChangeLog,v 1.3 2003/02/12 05:56:14 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc-bin/ChangeLog,v 1.4 2003/03/22 08:33:57 george Exp $ + + 21 Mar 2003; George Shapovalov <george@gentoo.org> ghc-bin-5.04.2.ebuild : + created virtual/ghc, added PROVIDE=virtual/ghc to the ebuild to make dev-lang/ghc bootstrap correctly + and without unnecessary steps (#10155) 11 Feb 2003; George Shapovalov <george@gentoo.org> ChangeLog, ghc-bin-5.04.2.ebuild : modified ebuild to add sparc support (sparc people, please test!) diff --git a/dev-lang/ghc-bin/ghc-bin-5.04.2.ebuild b/dev-lang/ghc-bin/ghc-bin-5.04.2.ebuild index 92b60d300ef0..ff46d7ecad01 100644 --- a/dev-lang/ghc-bin/ghc-bin-5.04.2.ebuild +++ b/dev-lang/ghc-bin/ghc-bin-5.04.2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2003 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License, v2 or later -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc-bin/ghc-bin-5.04.2.ebuild,v 1.4 2003/03/11 21:11:45 seemant Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc-bin/ghc-bin-5.04.2.ebuild,v 1.5 2003/03/22 08:33:57 george Exp $ IUSE="opengl" @@ -22,6 +22,8 @@ RDEPEND=">=dev-lang/perl-5.6.1 virtual/glu virtual/glut )" +PROVIDE="virtual/ghc" + src_compile() { econf || die "./configure failed" } diff --git a/dev-lang/ghc/ChangeLog b/dev-lang/ghc/ChangeLog index 1c366270bf1a..61694fa4f685 100644 --- a/dev-lang/ghc/ChangeLog +++ b/dev-lang/ghc/ChangeLog @@ -1,6 +1,17 @@ # ChangeLog for dev-lang/ghc # Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.11 2003/03/14 07:41:29 george Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.12 2003/03/22 08:33:57 george Exp $ + +*ghc-5.04.2 (21 Mar 2003) + + 21 Mar 2003; George Shapovalov <george@gentoo.org> ghc-5.04.3.ebuild : + new version + Now with all virtuals in place should build off existing ghc nicely.. + + 21 Mar 2003; George Shapovalov <george@gentoo.org> ghc-5.04.2.ebuild : + created new virtual: virtual/ghc. + Made ghc depend on virtual/ghc (and provide one) instead of on dev-lang/ghc-bin + ghc-bin in turn now also provides virtual/ghc, this closes #10155 13 Mar 2003; George Shapovalov <george@gentoo.org> ghc-5.04.2.ebuild : fix for when ghc gets bootstrapped off different version. @@ -11,7 +22,7 @@ updated the ebuild to correctly build (namely to build ghci) if bootstrapped off different (older) version. See #10155 for details. -*ghc-5.04i.2.ebuild (12 Feb 2003) +*ghc-5.04i.2 (12 Feb 2003) 12 Feb 2003; George Shapovalov <george@gentoo.org> ghc-5.04.2.ebuild, files/digest-ghc-5.04.2 : diff --git a/dev-lang/ghc/files/digest-ghc-5.04.3 b/dev-lang/ghc/files/digest-ghc-5.04.3 new file mode 100644 index 000000000000..4a11d128985b --- /dev/null +++ b/dev-lang/ghc/files/digest-ghc-5.04.3 @@ -0,0 +1 @@ +MD5 2d4d60f11e8f5909c4f28a02b2c69917 ghc-5.04.3-src.tar.bz2 4741512 diff --git a/dev-lang/ghc/ghc-5.04.2.ebuild b/dev-lang/ghc/ghc-5.04.2.ebuild index 3495552df41b..5febcd9292ca 100644 --- a/dev-lang/ghc/ghc-5.04.2.ebuild +++ b/dev-lang/ghc/ghc-5.04.2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2003 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-5.04.2.ebuild,v 1.5 2003/03/14 07:41:29 george Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-5.04.2.ebuild,v 1.6 2003/03/22 08:33:57 george Exp $ #Some explanation of bootstrap logic: # @@ -37,9 +37,10 @@ SLOT="0" KEYWORDS="~x86 ~sparc" +PROVIDE="virtual/ghc" # FIXME: Add USE support for parallel haskell (requires PVM) # Get PVM from ftp://ftp.netlib.org/pvm3/ -DEPEND=">=dev-lang/ghc-bin-5.04 +DEPEND="virtual/ghc >=dev-lang/perl-5.6.1 >=sys-devel/gcc-2.95.3 >=sys-devel/make-3.79.1 diff --git a/dev-lang/ghc/ghc-5.04.3.ebuild b/dev-lang/ghc/ghc-5.04.3.ebuild new file mode 100644 index 000000000000..25ba0bd293ca --- /dev/null +++ b/dev-lang/ghc/ghc-5.04.3.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-5.04.3.ebuild,v 1.1 2003/03/22 08:33:57 george 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="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" + + +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 + opengl? ( virtual/opengl + virtual/glu + virtual/glut )" + +RDEPEND="virtual/glibc + >=sys-devel/gcc-2.95.3 + >=dev-lang/perl-5.6.1 + opengl? ( virtual/opengl virtual/glu virtual/glut )" + + +#determine what version of ghc we have around: +if test -z "${GHC}"; then + GHC=`which ghc` +fi + +BASE_GHC_VERSION=`"$GHC" --version | sed 's/^.*version //'` + +# If the base GHC version matches wanted one we can skip stage1 +if test x${BASE_GHC_VERSION} = x${PV}; then + need_stage1=no +else + need_stage1=yes +fi + +#some vars +STAGE1_B="${WORKDIR}/stage1-build" +STAGE2_B="${WORKDIR}/stage2-build" +STAGE1_D="${BUILDDIR}/stage1-image" + +src_unpack() { + base_src_unpack + + # Create our own lndir if none installed. + local LNDIR + if which lndir; then + LNDIR=lndir + else + # Current directory should be $WORKDIR. + echo "You don\'t seem to have lndir available, building my own" + echo "version..." + cp ${FILESDIR}/lndir.c . || die + make lndir || die + LNDIR=./lndir + fi + + # Create build directories. + if test x$need_stage1 = xyes; then + echo '>>> Creating stage 1 build dir' + mkdir ${STAGE1_B} || die + ${LNDIR} ${S} ${STAGE1_B} || die + fi + echo '>>> Creating stage 2 build dir' + mkdir ${STAGE2_B} || die + ${LNDIR} ${S} ${STAGE2_B} || die + +} + +src_compile() { + local myconf + use opengl && myconf="--enable-hopengl" || myconf="--disable-hopengl" + + if test x$need_stage1 = xyes; then + echo ">>> Bootstrapping intermediate GHC ${PV} using GHC ${BASE_GHC_VERSION}" + + pushd "${STAGE1_B}" || die + ./configure \ + -host="${CHOST}" \ + --prefix="${STAGE1_D}/usr" \ + --with-ghc="${GHC}" \ + --without-happy || die "intermediate stage configure failed" + #parallel make causes trouble + make || die "intermediate stage make failed" + make install || die + GHC=${STAGE1_D}/usr/bin/ghc + popd + fi + + pushd "${STAGE2_B}" || die + econf --enable-threaded-rts --with-ghc="${GHC}" ${myconf}|| die "./configure failed" + # the build does not seem to work all that + # well with parallel make + make || die + popd +} + +src_install () { + pushd "${STAGE2_B}" || die + make install \ + prefix="${D}/usr" \ + infodir="${D}/usr/share/info" \ + mandir="${D}/usr/share/man" || die + popd + + #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 +} + |