# $Header: /magellan-cvs/smage/ghc/ghc-6.6.1-r2.smage2,v 1.3 2008/02/07 14:23:37 niro Exp $ PNAME="ghc" PVER="6.6.1" PBUILD="r2" PCATEGORIE="dev-lang" STATE="testing" DESCRIPTION="Glasgow Haskell Compiler." HOMEPAGE="http://www.haskell.org/ghc/" DEPEND=">= dev-lang/perl-5.8.8 >= sys-dev/gcc-4.1 >= dev-libs/gmp-4.2 >= sys-libs/readline-5.2" SRCFILE="${PNAME}-${PVER}-src.tar.bz2" SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" # all ghc extralibs, such as quickcheck, mtl, html and co SRCFILE_EXTRALIBS="${PNAME}-${PVER}-src-extralibs.tar.bz2" # binary sources SRCFILE_BIN_x86="${PNAME}-${PVER}-i386-unknown-linux.tar.bz2" SRCFILE_BIN_x86_64="${PNAME}-${PVER}-x86_64-unknown-linux.tar.bz2" SRCFILE_BIN="$(eval echo \$SRCFILE_BIN_${ARCH/i*86/x86})" SRCDIR_BIN="${BUILDDIR}/binary/${PNAME}-${PVER}" READLINE_SRCFILE="readline-4.3.tar.gz" READLINE_SRCDIR="${BUILDDIR}/readline-4.3" SRC_URI=( http://www.haskell.org/ghc/dist/${PVER}/${SRCFILE} http://www.haskell.org/ghc/dist/${PVER}/${SRCFILE_EXTRALIBS} http://www.haskell.org/ghc/dist/${PVER}/${SRCFILE_BIN_x86} http://www.haskell.org/ghc/dist/${PVER}/${SRCFILE_BIN_x86_64} gnu://readline/${READLINE_SRCFILE} gnu://readline/readline-4.3-patches/readline43-001 gnu://readline/readline-4.3-patches/readline43-002 gnu://readline/readline-4.3-patches/readline43-003 gnu://readline/readline-4.3-patches/readline43-004 gnu://readline/readline-4.3-patches/readline43-005 mirror://${PNAME}/${SRCFILE} mirror://${PNAME}/${SRCFILE_BIN_x86} mirror://${PNAME}/${SRCFILE_BIN_x86_64} mirror://${PNAME}/${READLINE_SRCFILE} mirror://${PNAME}/readline43-001 mirror://${PNAME}/readline43-002 mirror://${PNAME}/readline43-003 mirror://${PNAME}/readline43-004 mirror://${PNAME}/readline43-005 ) src_prepare() { munpack ${SRCFILE} || die munpack ${SRCFILE_EXTRALIBS} || die install -d ${BUILDDIR}/binary || die munpack ${SRCFILE_BIN} ${BUILDDIR}/binary || die munpack ${READLINE_SRCFILE} || die cd ${READLINE_SRCDIR} mpatch readline43-001 || die mpatch readline43-002 || die mpatch readline43-003 || die mpatch readline43-004 || die mpatch readline43-005 || die } src_compile() { # build a runtime compat readline lib cd ${READLINE_SRCDIR} mconfigure || die mmake SHLIB_XLDFLAGS=-lncurses || die # set it up ln -snf libreadline.so.4.3 ${READLINE_SRCDIR}/shlib/libreadline.so.4 || die export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${READLINE_SRCDIR}/shlib" # first setup the binary compiler to bootstrap ghc cd ${SRCDIR_BIN} 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" # now bootstrap ghc cd ${SRCDIR} # disable the build of docs echo NO_HADDOCK_DOCS=YES > mk/build.mk || die echo XMLDocWays="" >> mk/build.mk || die # from gentoo: # 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 || die # no x11 and co needed mconfigure \ --disable-x11 \ --disable-hgl \ --disable-opengl \ --disable-glut \ --disable-openal \ || die # the explicit datadir is required to make the haddock entries # in the package.conf file point to the right place ... mmake -j1 all datadir="/usr/share/doc/${PNAME}-${PVER}" || die } src_install() { cd ${SRCDIR} make prefix="${BINDIR}/usr" \ datadir="${BINDIR}/usr/share/doc/${PNAME}-${PVER}" \ infodir="${BINDIR}/usr/share/info" \ mandir="${BINDIR}/usr/share/man" \ install || die # remove ${BINDIR} from ghcprof sed -i 's:$FPTOOLS_TOP_ABS:#$FPTOOLS_TOP_ABS:' ${BINDIR}/usr/bin/ghcprof || die minstalldocs ANNOUNCE HACKING LICENSE README VERSION || die }