From Fedora Project Wiki
< PackagingDrafts | Haskell
These are the definitions for the macros for GHC. They are useful in debugging your spec files.
%ghc_autotools(lf:p:) \ echo %{-p*} %{-f*} \ if [ -f configure.ac -a ! -f configure ]; then autoreconf; fi \ runghc Setup configure --prefix=%{_prefix} --libdir=%{_libdir} --docdir=%{_docdir}/%{hsc_name}-%{pkg_name}-%{version} --libsubdir='$compiler/$pkgid' %{-f:--flags%{-f*}} --%{-p:%{-p*}}-library-profiling --ghc \ %{-l:if runghc Setup makefile -f cabal-rpm.mk \ then \ make -f cabal-rpm.mk %{_smp_mflags} || : \ fi }\ %{nil} %ghc_build \ runghc Setup build \ %{nil} %ghc_haddock \ runghc Setup haddock || : \ %{nil} %ghc_gen_scripts \ runghc Setup register --gen-script \ runghc Setup unregister --gen-script \ %{nil} %ghc_install \ runghc Setup copy --destdir=${RPM_BUILD_ROOT} \ %{nil} %ghc_install_scripts \ install -m 755 register.sh unregister.sh ${RPM_BUILD_ROOT}%{pkg_libdir} \ %{nil} %ghc_tar_dir %{_builddir}/%{?buildsubdir} %ghc_gen_filelists() \ pushd ${RPM_BUILD_ROOT} \ echo "%defattr(-,root,root,-)" > %{ghc_tar_dir}/%1-files.prof \ find .%{pkg_libdir} \\\( -name '*_p.a' -o -name '*.p_hi' \\\) | sed s/^.// >> %{ghc_tar_dir}/%1-files.prof \ echo "%defattr(-,root,root,-)" > %{ghc_tar_dir}/%1-files \ find .%{pkg_libdir} -type d | sed 's/^./%dir /' >> %{ghc_tar_dir}/%1-files \ find .%{pkg_libdir} ! \\\( -type d -o -name '*_p.a' -o -name '*.p_hi' \\\) | sed s/^.// >> %{ghc_tar_dir}/%1-files \ sed 's,^/,%exclude /,' %{ghc_tar_dir}/%1-files.prof >> %{ghc_tar_dir}/%1-files \ pushd \ %{nil} %ghc_preinst_script \ [ "$1" = 2 ] && %{pkg_libdir}/unregister.sh >&/dev/null || : \ %{nil} %ghc_postinst_script \ %{pkg_libdir}/register.sh >&/dev/null \ %{nil} %ghc_preun_script \ %{pkg_libdir}/unregister.sh >&/dev/null \ %{nil} %ghc_postun_script \ [ "$1" = 1 ] && %{pkg_libdir}/register.sh >& /dev/null || : \ %{nil}