%define ghc_version 6.10.1 %define pkg_libdir %{_libdir}/ghc-%{ghc_version}/%{name}-%{version} %define pkg_docdir %{_docdir}/ghc/libraries/%{name}-%{version} %bcond_without prof %bcond_without doc # ghc does not emit debug information %define debug_package %{nil} Name: cpphs Version: 1.6 Release: 4%{?dist} Summary: C pre-processor for Haskell Group: Development/Languages License: GPL+ and LGPLv2+ URL: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/%{name} Source0: http://hackage.haskell.org/packages/archive/%{name}/%{version}/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) # ghc has only been bootstrapped on the following archs: ExclusiveArch: i386 x86_64 ppc BuildRequires: ghc = %{ghc_version} %if %{with prof} BuildRequires: ghc-prof = %{ghc_version} %endif %description Cpphs is a re-implementation of the C pre-processor that is both more compatible with Haskell, and itself written in Haskell so that it can be distributed with compilers. This version of the C pre-processor is pretty-much feature-complete and compatible with traditional (K&R) pre-processors. Additional features include: a plain-text mode; an option to unlit literate code files; and an option to turn off macro-expansion. %package -n ghc-%{name} Summary: Libraries for %{name} Group: Development/Libraries License: LGPLv2+ Provides: ghc-%{name}-devel = %{version}-%{release} Requires: ghc = %{ghc_version} Requires(post): ghc = %{ghc_version} Requires(preun): ghc = %{ghc_version} Requires(postun): ghc = %{ghc_version} %description -n ghc-%{name} Haskell %{name} library for ghc. %if %{with doc} %package -n ghc-%{name}-doc Summary: Documentation for %{name} Group: Development/Libraries Requires: ghc-doc = %{ghc_version} Requires(postun): ghc-doc = %{ghc_version} %description -n ghc-%{name}-doc This package contains development documentation files for the %{name} library. %endif %if %{with prof} %package -n ghc-%{name}-prof Summary: Profiling libraries for %{name} Group: Development/Libraries License: LGPLv2+ Requires: ghc-%{name} = %{version}-%{release} Requires: ghc-prof = %{ghc_version} %description -n ghc-%{name}-prof This package contains profiling libraries for %{name}. %endif %prep %setup -q %build %cabal_configure --ghc %{!?without_prof:-p} %cabal build %if %{with doc} %cabal haddock %endif %ghc_gen_scripts %install rm -rf $RPM_BUILD_ROOT %cabal_install %ghc_install_scripts %ghc_gen_filelists ghc-%{name} %clean rm -rf $RPM_BUILD_ROOT %post -n ghc-%{name} %ghc_register_pkg %if %{with doc} %post -n ghc-%{name}-doc %ghc_reindex_haddock %endif %preun -n ghc-%{name} if [ "$1" -eq 0 ] ; then %ghc_unregister_pkg fi %if %{with doc} %postun -n ghc-%{name}-doc if [ "$1" -eq 0 ] ; then %ghc_reindex_haddock fi %endif %files %defattr(-,root,root,-) %doc docs/index.html %{_bindir}/%{name} %files -n ghc-%{name} -f ghc-%{name}.files %defattr(-,root,root,-) %doc LICENCE-LGPL %if %{with doc} %files -n ghc-%{name}-doc %defattr(-,root,root,-) %{pkg_docdir} %endif %if %{with prof} %files -n ghc-%{name}-prof -f ghc-%{name}-prof.files %defattr(-,root,root,-) %endif %changelog * Mon Jan 19 2009 Conrad Meyer - 1.6-4 - update to new template (haskell-packaging 0.4-1) * Wed Jan 14 2009 Jens Petersen - 1.6-3 - simplify summaries - move lgpl license file to ghc-cpphs - add html doc * Tue Jan 13 2009 Jens Petersen - 1.6-2 - make this a proper binlib package - use bcond * Mon Jan 12 2009 Conrad Meyer - 1.6-1 - initial packaging for Fedora created by cabal2spec