Blob Blame Raw
%global pkg_name X11

%bcond_without doc
%bcond_without prof

# placate mock
%{!?ghcrequires: %{expand:%%define ghcrequires() Requires: %1}}

# ghc does not emit debug information
%global debug_package %{nil}

Name:           ghc-%{pkg_name}
Version:        1.4.5
Release:        7%{?dist}
Summary:        Haskell %{pkg_name} library

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
%if %{with doc}
BuildRequires:  ghc-doc
%endif
%if %{with prof}
BuildRequires:  ghc-prof
%endif
BuildRequires:  libXinerama-devel, libX11-devel, libXext-devel

%description
This package provides the Haskell %{pkg_name} library.

The library consists of bindings to direct translations of the C bindings; for
documentation of these calls, refer to "The Xlib Programming
Manual", available online at <http://tronche.com/gui/x/xlib/>.

%package devel
Summary:        Haskell %{pkg_name} library
Group:          Development/Libraries
%ghcrequires ghc post preun
Requires:       libXinerama-devel, libX11-devel, libXext-devel

%description devel
This package contains the development files for %{name}
built for ghc.


%if %{with doc}
%package doc
Summary: Documentation for %{name}
Group: Development/Libraries
%ghcrequires ghc-doc post postun

%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}
%ghcrequires ghc-prof

%description prof
This package contains profiling libraries for %{name}.
%endif


%prep
%setup -q -n %{pkg_name}-%{version}


%build
%cabal_configure --ghc %{?with_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,-)
%{_docdir}/%{name}-%{version}


%if %{with doc}
%files doc -f %{name}-doc.files
%defattr(-,root,root,-)
%endif


%if %{with prof}
%files prof -f %{name}-prof.files
%defattr(-,root,root,-)
%endif


%changelog
* Mon Apr 20 2009 Jens Petersen <petersen@redhat.com> - 1.4.5-7
- rebuild with ghc-6.10.2
- update to latest cabal2spec template and macros.ghc without ghc_version
- maybe define ghcrequires for mock

* Sat Apr  4 2009 Yaakov M. Nemoy <yankee@localhost.localdomain> - 1.4.5-6
- rebuild bump to raise EVR manually, to match with F-10 branch

* Sun Mar  8 2009 Yaakov M. Nemoy <yankee@localhost.localdomain> - 1.4.5-5
- corrected a faulty tag

* Sun Mar  8 2009 Yaakov M. Nemoy <yankee@localhost.localdomain> - 1.4.5-4
- forgot to include the right arch tags

* Sat Feb 28 2009 Jens Petersen <petersen@redhat.com> - 1.4.5-3
- sync with cabal2spec-0.12:
- improve requires

* Mon Feb 23 2009 Yaakov M. Nemoy <loupgaroublond@gmail.com> - 1.4.5-2
- updated template to new guidelines

* Mon Jan  5 2009 Yaakov M. Nemoy <loupgaroublond@gmail.com> - 1.4.5-1
- initial packaging for Fedora created by cabal2spec
- added description and build requires
- altered license from template