# $Id$ PNAME="ghc" PVER="6.12.3" PBUILD="r1" PCATEGORIE="dev-lang" STATE="unstable" DESCRIPTION="Glasgow Haskell Compiler." HOMEPAGE="http://www.haskell.org/ghc/" DEPEND=">= dev-lang/perl-5.10 >= sys-dev/gcc-4.3 >= dev-libs/gmp-4.3 >= sys-libs/readline-6" SRCFILE="${PNAME}-${PVER}-src.tar.bz2" SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" # binary sources SRCFILE_BIN_x86="${PNAME}-${PVER}-i386-unknown-linux-n.tar.bz2" SRCFILE_BIN_x86_64="${PNAME}-${PVER}-x86_64-unknown-linux-n.tar.bz2" SRCFILE_BIN="$(eval echo \$SRCFILE_BIN_${ARCH/i*86/x86})" SRCDIR_BIN="${BUILDDIR}/binary/${PNAME}-${PVER}" SRC_URI=( http://www.haskell.org/ghc/dist/${PVER}/${SRCFILE} http://www.haskell.org/ghc/dist/${PVER}/${SRCFILE_BIN_x86} http://www.haskell.org/ghc/dist/${PVER}/${SRCFILE_BIN_x86_64} mirror://${PNAME}/${SRCFILE} mirror://${PNAME}/${SRCFILE_BIN_x86} mirror://${PNAME}/${SRCFILE_BIN_x86_64} mirror://${PNAME}/${PNAME}-6.12.2-chost-2.patch ) UP2DATE="updatecmd ${HOMEPAGE}download.html | grep 'Current Stable' | sed 's:.*(\(.*\)):\1:'" src_prepare() { munpack ${SRCFILE} || die install -d ${BUILDDIR}/binary || die munpack ${SRCFILE_BIN} ${BUILDDIR}/binary || die cd ${SRCDIR} # fix broken chosts mpatch ${PNAME}-6.12.2-chost-2.patch || die # fixes configure: line 3817: FP_DECL_ALTZONE: command not found cp libraries/{,old-}time/aclocal.m4 || die autoreconf --verbose --install --force || die } src_compile() { # first setup the binary compiler to bootstrap ghc cd ${SRCDIR_BIN} # inplace doesn't work anymore # mconfigure || die # make in-place || die # # # setup the path to ghc # local myarch="${ARCH}" # [[ ${ARCH} = i*86 ]] && myarch="i386" # export PATH="${PATH}:${SRCDIR_BIN}/bin/${myarch}-unknown-linux" # # install to ${BUILDDIR}/binary from now on mconfigure --prefix=${BUILDDIR}/binary || die make install || die export PATH="${PATH}:${BUILDDIR}/binary/bin" # now bootstrap ghc cd ${SRCDIR} # initialize build.mk echo '# Magellan build' > mk/build.mk || die # fix pathes echo "docdir = /usr/share/doc/${PNAME}-${PVER}" >> mk/build.mk || die echo "htmldir = /usr/share/doc/${PNAME}-${PVER}" >> mk/build.mk || die # disable the build of docs echo HADDOCK_DOCS=NO >> mk/build.mk || die echo XMLDocWays="" >> mk/build.mk || die # do not use shell wrapper sed -i "s|utils/haddock_dist_INSTALL_SHELL_WRAPPER = YES|utils/haddock_dist_INSTALL_SHELL_WRAPPER = NO|" \ utils/haddock/ghc.mk || die # taken from gentoo: # 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 echo "SRC_HC_OPTS+=-w" >> mk/build.mk || die #mconfigure || die # wants to crosscompile ./configure --prefix=/usr --libdir=/usr/$(mlibdir) || die mmake -j1 all || die } src_install() { cd ${SRCDIR} mmake -j1 DESTDIR=${BINDIR} install || die minstalldocs ANNOUNCE HACKING LICENSE README VERSION || die }