%define pkg_name haskell-src-exts %define ghc_version 6.10.1 %define pkg_libdir %{_libdir}/ghc-%{ghc_version}/%{pkg_name}-%{version} %define pkg_docdir %{_docdir}/ghc/libraries/%{pkg_name}-%{version} %bcond_without prof %bcond_without doc # ghc does not emit debug information %define debug_package %{nil} Name: ghc-%{pkg_name} Version: 0.4.8 Release: 3%{?dist} Summary: Library for Manipulating Haskell source Group: Development/Libraries License: BSD URL: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/%{pkg_name} Source0: http://hackage.haskell.org/packages/archive/%{pkg_name}/%{version}/%{pkg_name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Provides: %{name}-devel = %{version}-%{release} # ghc has only been bootstrapped on the following archs: ExclusiveArch: i386 x86_64 ppc BuildRequires: ghc = %{ghc_version} %if %{with doc} BuildRequires: ghc-doc = %{ghc_version} %endif %if %{with prof} BuildRequires: ghc-prof = %{ghc_version} %endif BuildRequires: ghc-cpphs BuildRequires: ghc-cpphs-prof BuildRequires: happy Requires: ghc = %{ghc_version} Requires: cpphs Requires: happy Requires(post): ghc = %{ghc_version} Requires(preun): ghc = %{ghc_version} %description Haskell-Source with Extensions (HSE, haskell-src-exts) is an extension of the standard haskell-src package, and handles most common syntactic extensions to Haskell, including: * Multi-parameter type classes with functional dependencies * Indexed type families (including associated types) * Empty data declarations * GADTs * Implicit parameters * Template Haskell and a few more. Apart from these standard extensions, it also handles regular patterns as per the HaRP extension as well as HSX-style embedded XML syntax. %if %{with doc} %package doc Summary: Documentation for %{name} Group: Development/Libraries Requires: ghc-doc = %{ghc_version} Requires(post): ghc-doc = %{ghc_version} Requires(postun): ghc-doc = %{ghc_version} %description doc This package contains development documentation files for the %{name} library. %endif %if %{with prof} %package prof Summary: Profiling libraries for %{name} Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: ghc-prof = %{ghc_version} Requires: ghc-cpphs-prof %description prof This package contains profiling libraries for ghc %{ghc_version}. %endif %prep %setup -q -n %{pkg_name}-%{version} %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 %{name} %clean rm -rf $RPM_BUILD_ROOT %post %ghc_register_pkg %if %{with doc} %post doc %ghc_reindex_haddock %endif %preun if [ "$1" -eq 0 ] ; then %ghc_unregister_pkg fi %if %{with doc} %postun doc if [ "$1" -eq 0 ] ; then %ghc_reindex_haddock fi %endif %files -f %{name}.files %defattr(-,root,root,-) %doc LICENSE %if %{with doc} %files doc %defattr(-,root,root,-) %{pkg_docdir} %endif %if %{with prof} %files prof -f %{name}-prof.files %defattr(-,root,root,-) %endif %changelog * Mon Feb 16 2009 Conrad Meyer - 0.4.8-3 - Update to new cabal2spec template. * Wed Jan 21 2009 Conrad Meyer - 0.4.8-2 - update to new haskell packaging template * Mon Jan 12 2009 Conrad Meyer - 0.4.8-1 - initial packaging for Fedora created by cabal2spec