%global pkg_name haskell-src-exts
%global ghc_version 6.10.1
%global pkg_libdir %{_libdir}/ghc-%{ghc_version}/%{pkg_name}-%{version}
%global pkg_docdir %{_docdir}/ghc/libraries/%{pkg_name}-%{version}
%bcond_without doc
%bcond_without prof
# ghc does not emit debug information
%global debug_package %{nil}
Name: ghc-%{pkg_name}
Version: 0.4.8
Release: 4%{?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)
# fedora ghc archs:
ExclusiveArch: %{ix86} x86_64 ppc alpha
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-devel
BuildRequires: ghc-cpphs-prof
BuildRequires: happy
Requires: cpphs
Requires: happy
%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.
%package devel
Summary: Haskell %{pkg_name} library
Group: Development/Libraries
Requires: ghc = %{ghc_version}
Requires(post): ghc = %{ghc_version}
Requires(preun): ghc = %{ghc_version}
%description devel
This package contains the development files for %{name}
built for ghc-%{ghc_version}.
%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}-devel = %{version}-%{release}
Requires: ghc-prof = %{ghc_version}
Requires: ghc-cpphs-prof
%description prof
This package contains profiling libraries for %{name}.
%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 devel
%ghc_register_pkg
%if %{with doc}
%post doc
%ghc_reindex_haddock
%endif
%preun devel
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 devel -f %{name}-devel.files
%defattr(-,root,root,-)
#%%doc LICENSE
%{_docdir}/%{name}-%{version}
%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
* Thu Mar 19 2009 Conrad Meyer <konrad@tylerc.org> - 0.4.8-4
- Update to new cabal2spec template.
* Mon Feb 16 2009 Conrad Meyer <konrad@tylerc.org> - 0.4.8-3
- Update to new cabal2spec template.
- Replace %%defines by %%globals.
* Wed Jan 21 2009 Conrad Meyer <konrad@tylerc.org> - 0.4.8-2
- update to new haskell packaging template
* Mon Jan 12 2009 Conrad Meyer <konrad@tylerc.org> - 0.4.8-1
- initial packaging for Fedora created by cabal2spec