# How is named the Setup.?hs %_cabal_setup %{?cabal_setup}%{?!cabal_setup:Setup.hs} # which compiler (default ghc) %_haskell_compiler %{?haskell_compiler}%{?!haskell_compiler:runhaskell} # The compilation step %_cabal_compil \ %{_haskell_compiler} %{_cabal_setup} configure --prefix=%{_prefix} \ %{_haskell_compiler} %{_cabal_setup} build \ %{?!_no_haddock:%{_haskell_compiler} %{_cabal_setup} haddock} # Script need to register module on the system %_cabal_genscripts \ %{_haskell_compiler} %{_cabal_setup} register --gen-script || : \ sed -i 's:/usr/bin/ghc-pkg:ghc-pkg --force:' register.sh \ %{_haskell_compiler} %{_cabal_setup} unregister --gen-script || : \ sed -i 's:/usr/bin/ghc-pkg:ghc-pkg --force:' unregister.sh # post/pre scriptlet %_cabal_in %posttrans -f register.sh %_cabal_un %preun -f unregister.sh # Using script to register module during install %_cabal_scriptlets \ %_cabal_in \ \ %_cabal_un \ # The "full" %build step %_cabal_build \ %_cabal_compil \ %_cabal_genscripts # The "full" %install step %_cabal_install \ %{_haskell_compiler} %{_cabal_setup} copy --destdir=%{buildroot} \ # The "full" %check step %_cabal_check \ %{_haskell_compiler} %{_cabal_setup} test %_cabal_rpm_deps_dir %_datadir/haskell-deps %_cabal_pkg_deps_dir %_cabal_rpm_deps_dir/%name-%version-%release %_cabal_rpm_gen_deps \ mkdir -p %buildroot%_cabal_pkg_deps_dir \ touch %buildroot%_cabal_pkg_deps_dir/{provides,requires} \ find . -name "*.cabal" | xargs cabalrpmprov > %buildroot%_cabal_pkg_deps_dir/provides \ cabalrpmreq > %buildroot%_cabal_pkg_deps_dir/requires \ %_cabal_rpm_files \ %_cabal_pkg_deps_dir %_cabal_haddoc_files \ %{?!_no_haddock:%doc dist/doc/html}