From Fedora Project Wiki
< PackagingDrafts | Haskell
(add _cabal) |
(update the macros to the latest) |
||
Line 1: | Line 1: | ||
These are the definitions for the macros for GHC. They are useful in debugging your spec files. | 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 | (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.) | ||
<pre> | <pre> | ||
% | %cabal %{_bindir}/runhaskell Setup | ||
% | %cabal_configure \ | ||
%cabal configure --prefix=%{_prefix} --libdir=%{_libdir} --docdir=%{_docdir}/%{name}-%{version} --libsubdir='$compiler/$pkgid' | |||
%cabal_build \ | |||
% | %cabal build \ | ||
%{nil} | %{nil} | ||
% | %cabal_makefile \ | ||
%{ | %cabal makefile -f cabal-rpm.mk \ | ||
make -f cabal-rpm.mk %{_smp_mflags} \ | |||
%{nil} | %{nil} | ||
% | %cabal_haddock \ | ||
% | %cabal haddock \ | ||
%{nil} | %{nil} | ||
% | %cabal_install \ | ||
% | %cabal copy --destdir=${RPM_BUILD_ROOT} \ | ||
%{nil} | %{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} | %{nil} | ||
%ghc_install_scripts \ | %ghc_install_scripts \ | ||
install -m 755 register.sh unregister.sh ${RPM_BUILD_ROOT}%{pkg_libdir} \ | install -m 755 register.sh unregister.sh ${RPM_BUILD_ROOT}%{pkg_libdir} \ | ||
%{nil} | %{nil} | ||
Revision as of 10:13, 9 September 2008
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_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}