# $Id$ # default includes sminclude mtools # some sane default values : ${PCATEGORIE="dev-haskell"} : ${DESCRIPTION="${PNAME}"} : ${HOMEPAGE="http://hackage.haskell.org/package/${PNAME/#haskell-/}"} # some sane default dependencies DEPEND="${DEPEND} >= dev-lang/ghc-6.12" # default SRCFILE SRCDIR and SRC_URI : ${SRCFILE="${PNAME/#haskell-/}-${PVER}.tar.gz"} : ${SRCDIR="${BUILDDIR}/${PNAME/#haskell-/}-${PVER}"} : ${SRC_URI=( "http://hackage.haskell.org/packages/archive/${PNAME/#haskell-/}/${PVER}/${SRCFILE}" "mirror://${PNAME}/${SRCFILE}" )} HASKELL_PNAME="${PNAME}" SPECIAL_VARS="HASKELL_PNAME" haskell_ghc_version() { local ver ver=$(ghc --numeric-version) echo "${ver}" } haskell_ghc_setup_script() { local setup if [[ -e Setup.lhs ]] then setup="Setup.lhs" elif [[ -e Setup.hs ]] then setup="Setup.hs" else die "unkown setup script" fi echo "${setup}" } haskell_install_register() { runhaskell $(haskell_ghc_setup_script) register --gen-script || die runhaskell $(haskell_ghc_setup_script) unregister --gen-script || die minstalldir /usr/share/haskell/${PNAME} || die minstallexec register.sh /usr/share/haskell/${PNAME} || die minstallexec unregister.sh /usr/share/haskell/${PNAME} || die } haskell_src_prepare() { munpack ${SRCFILE} || die } haskell_src_configure() { local configure_opts="$@" runhaskell $(haskell_ghc_setup_script) configure \ --ghc \ --prefix=/usr \ --libdir=/usr/$(mlibdir) \ --libsubdir=ghc-$(haskell_ghc_version)/${PNAME/#haskell-/}-${PVER} \ --datadir=/usr/share \ --datasubdir=ghc-$(haskell_ghc_version)/${PNAME/#haskell-/}-${PVER} \ ${configure_opts} \ || die } haskell_src_compile() { cd ${SRCDIR} haskell_src_configure || die runhaskell $(haskell_ghc_setup_script) build || die } haskell_src_install() { cd ${SRCDIR} runhaskell $(haskell_ghc_setup_script) copy --destdir=${BINDIR} || die # install docs local i for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \ FAQ LICENSE NEWS README TODO prologue.txt do if [ -f ${SRCDIR}/${i} ] then minstalldocs ${i} || die fi done } haskell_preinstall() { if [[ -x ${MROOT}/usr/share/haskell/${HASKELL_PNAME}/unregister.sh ]] then echo "unregister haskell module ${HASKELL_PNAME} ..." ${MROOT}/usr/share/haskell/${HASKELL_PNAME}/unregister.sh fi } haskell_postinstall() { if [[ -x ${MROOT}/usr/share/haskell/${HASKELL_PNAME}/register.sh ]] then echo "register haskell module ${HASKELL_PNAME} ..." ${MROOT}/usr/share/haskell/${HASKELL_PNAME}/register.sh fi } # haskell_preremove() # { # if [[ -x ${MROOT}/usr/share/haskell/${HASKELL_PNAME}/unregister.sh ]] # then # echo "unregister haskell module ${HASKELL_PNAME} ..." # ${MROOT}/usr/share/haskell/${HASKELL_PNAME}/unregister.sh # fi # } export_inherits haskell src_prepare src_compile src_install preinstall postinstall #preremove