PackagingDrafts/Haskell/GHCMacroDefs

This page is out of date and deprecated

The macros now ship in Fedora's ghc-rpm-macros package.

These are the definitions for the macros for GHC. They are useful in debugging your spec files. Macros prefixed with cabal_ should portable, whereas those name ghc_ are specific to ghc.

(If your GHC does not ship with them, but you would like to use them anyways, they belong either in /etc/rpm/macros.ghc or in ~/.rpmmacros.)

%cabal %{_bindir}/runhaskell Setup

%cabal_configure \ %cabal configure --prefix=%{_prefix} --libdir=%{_libdir} --docdir=%{_docdir}/%{name}-%{version} --libsubdir='$compiler/$pkgid'

%cabal_build \ %cabal build \ %{nil}

%cabal_makefile \ %cabal makefile -f cabal-rpm.mk \ make -f cabal-rpm.mk %{_smp_mflags} \ %{nil}

%cabal_haddock \ %cabal haddock \ %{nil}

%cabal_install \ %cabal copy --destdir=${RPM_BUILD_ROOT} \ %{nil}

%ghc_gen_filelists \ rm -f %1.files %1-prof.files \ echo '%defattr(-,root,root,-)' > %1-prof.files \ find ${RPM_BUILD_ROOT}%{pkg_libdir} \\( -name '*_p.a' -o -name '*.p_hi' \\) >> %1-prof.files \ echo '%defattr(-,root,root,-)' > %1.files \ find ${RPM_BUILD_ROOT}%{pkg_libdir} -type d | sed 's/^/%dir /' >> %1.files \ find ${RPM_BUILD_ROOT}%{pkg_libdir} ! \\( -type d -o -name '*_p.a' -o -name '*.p_hi' \\) >> %1.files \ sed -i -e "s!${RPM_BUILD_ROOT}!!g" %1.files %1-prof.files \ %{nil}

%ghc_gen_scripts \ %cabal register --gen-script \ %cabal unregister --gen-script \ %{nil}

%ghc_install_scripts \ install -m 755 register.sh unregister.sh ${RPM_BUILD_ROOT}%{pkg_libdir} \ %{nil}

%ghc_postinst_script \ %{pkg_libdir}/register.sh >&/dev/null \ %{nil}

%ghc_preun_script \ [ "$1" = 0 ] && %{pkg_libdir}/unregister.sh >&/dev/null \ %{nil}

%ghc_reindex_haddock \ ( cd %{_docdir}/ghc/libraries && [ -x "./gen_contents_index" ] && ./gen_contents_index ) || : \ %{nil}