Blob Blame History Raw
%define pkg_name zlib
%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.5.0.0
Release: 5%{?dist}
License: BSD
Group: Development/Libraries
URL: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/%{pkg_name}
Source: http://hackage.haskell.org/packages/archive/%{pkg_name}/%{version}/%{pkg_name}-%{version}.tar.gz
Summary: Haskell compression and decompression library binding
Provides: %{name}-devel = %{version}-%{release}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
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: zlib-devel
Requires: zlib-devel
Requires: ghc = %{ghc_version}
Requires(post): ghc = %{ghc_version}
Requires(preun): ghc = %{ghc_version}

%description
This package provides a pure Haskell interface for compressing and
decompressing streams of data represented as lazy ByteStrings. It uses
the zlib C library so it has high performance. It supports the "zlib",
"gzip" and "raw" compression formats.

It provides a convenient high level API suitable for most tasks.  For
the few cases where more control is needed, it provides access to the
full zlib feature set.


%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}

%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
%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  9 2009 Jens Petersen <petersen@redhat.com> - 0.5.0.0-5
- rebuild to fix unexpanded post preun macros
- add doc subpackage and BR ghc-doc
- add doc requires(post) ghc-doc

* Mon Dec 22 2008 Jens Petersen <petersen@redhat.com> - 0.5.0.0-4
- use bcond for doc and prof build flags (Till Maas, #426751)

* Mon Dec  1 2008 Jens Petersen <petersen@redhat.com> - 0.5.0.0-3
- sync with lib template:
  - add build_prof and build_doc
  - prof requires main package
  - update scriptlet macro names

* Tue Nov 25 2008 Jens Petersen <petersen@redhat.com> - 0.5.0.0-2
- build with ghc-6.10.1
- no longer buildrequire haddock09
- provide devel
- add exclusivearch for current ghc archs
- reindex haddock docs only when uninstalling in postun

* Tue Nov 11 2008 Bryan O'Sullivan <bos@serpentine.com> - 0.5.0.0-1
- Update to 0.5.0.0

* Thu Oct 23 2008 Jens Petersen <petersen@redhat.com> - 0.4.0.4-2
- update for current rawhide
- add pkg_docdir and remove hsc_name
- use haddock09

* Tue Oct 14 2008 Bryan O'Sullivan <bos@serpentine.com> - 0.4.0.4-1
- Revised to follow Haskell packaging guidelines

* Sun Feb 17 2008 Yaakov Nemoy <haskell.rpms@hexago.nl> - 0.4.0.2-1
- added in url

* Sun Feb 17 2008 cabal-rpm <cabal-devel@haskell.org> - 0.4.0.2-1
- spec file autogenerated by cabal-rpm