Blob Blame History Raw
%global pkg_name haskell-platform

%global common_summary Standard Haskell distribution

%global common_description The Haskell Platform is a blessed library and tool suite for Haskell\
distilled from Hackage.

%bcond_without shared

%global upstream_version 2010.1.0.0

# enable debugging to avoid empty strip error

%define platform_progs()\
%{?1}Requires:       ghc = 6.12.3\
%{?1}Requires:       cabal-install = 0.8.0\
%{?1}Requires:       alex = 2.3.2\
%{?1}Requires:       happy = 1.18.4\
%{nil}

%define platform_libs()\
%{?2}Requires:       ghc-cgi%{?1:-%1} = 3001.1.7.2\
%{?2}Requires:       ghc-fgl%{?1:-%1} = 5.4.2.2\
%{?2}Requires:       ghc-GLUT%{?1:-%1} = 2.1.2.1\
%{?2}Requires:       ghc-haskell-src%{?1:-%1} = 1.0.1.3\
%{?2}Requires:       ghc-html%{?1:-%1} = 1.0.1.2\
%{?2}Requires:       ghc-HUnit%{?1:-%1} = 1.2.2.1\
%{?2}Requires:       ghc-mtl%{?1:-%1} = 1.1.0.2\
%{?2}Requires:       ghc-network%{?1:-%1} = 2.2.1.7\
%{?2}Requires:       ghc-OpenGL%{?1:-%1} = 2.2.3.0\
%{?2}Requires:       ghc-parsec%{?1:-%1} = 2.1.0.1\
%{?2}Requires:       ghc-parallel%{?1:-%1} = 2.2.0.1\
%{?2}Requires:       ghc-QuickCheck%{?1:-%1} = 2.1.0.3\
%{?2}Requires:       ghc-regex-base%{?1:-%1} = 0.93.1\
%{?2}Requires:       ghc-regex-compat%{?1:-%1} = 0.92\
%{?2}Requires:       ghc-regex-posix%{?1:-%1} = 0.94.1\
%{?2}Requires:       ghc-stm%{?1:-%1} = 2.1.1.2\
%{?2}Requires:       ghc-xhtml%{?1:-%1} = 3000.2.0.1\
%{?2}Requires:       ghc-zlib%{?1:-%1} = 0.5.2.0\
%{?2}Requires:       ghc-HTTP%{?1:-%1} = 4000.0.9\
%{?2}Requires:       ghc-deepseq%{?1:-%1} = 1.1.0.0\
%{nil}

Name:           %{pkg_name}
Version:        %{upstream_version}.6123
Release:        1%{?dist}
Summary:        Standard Haskell distribution

Group:          Development/Tools
License:        BSD
URL:            http://hackage.haskell.org/platform
Source0:        http://hackage.haskell.org/platform/%{upstream_version}/cabal/%{name}-%{upstream_version}.tar.gz
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# fedora ghc archs:
ExclusiveArch:  %{ix86} x86_64 ppc alpha
BuildRequires:  ghc, ghc-doc, ghc-prof
BuildRequires:  ghc-rpm-macros >= 0.7.0
%platform_progs Build
%platform_libs devel Build
%platform_progs
Requires:       ghc-haskell-platform-devel = %{version}
Patch1:         haskell-platform-2010.1.0.0-ghc-6.12.2.patch

%description
%{common_description}


%package -n ghc-%{name}
Summary:        %{common_summary} library
Group:          System Environment/Libraries
%platform_libs

%description -n ghc-%{name}
%{common_description}

This package contains the shared library.


%package -n ghc-%{name}-devel
Summary:        %{common_summary} development files
Group:          Development/Libraries
%{?ghc_requires}
%platform_libs devel

%description -n ghc-%{name}-devel
%{common_description}

This package contains the development files.


%package -n ghc-%{name}-doc
Summary:        %{common_summary} documentation
Group:          Development/Libraries
Requires:       ghc-doc = %{ghc_version}
Requires(post): ghc-doc = %{ghc_version}
Requires(postun): ghc-doc = %{ghc_version}
%platform_libs doc

%description -n ghc-%{name}-doc
%{common_description}

This package contains development documentation files.


%package -n ghc-%{name}-prof
Summary:        %{common_summary} profiling libraries
Group:          Development/Libraries
Requires:       ghc-%{name}-devel = %{version}-%{release}
Requires:       ghc-prof = %{ghc_version}
%platform_libs prof

%description -n ghc-%{name}-prof
%{common_description}

This package contains profiling libraries.


%prep
%setup -q -n %{name}-%{upstream_version}
%patch1 -p1 -b .orig


%build
%ghc_lib_build


%install
rm -rf $RPM_BUILD_ROOT
%ghc_lib_install


%clean
rm -rf $RPM_BUILD_ROOT


%post -n ghc-%{name}-devel
ghc-pkg recache


%post -n ghc-%{name}-doc
%ghc_reindex_haddock


%preun -n ghc-%{name}-devel
ghc-pkg recache


%postun -n ghc-%{name}-doc
if [ "$1" -eq 0 ] ; then
  %ghc_reindex_haddock
fi


%files
%defattr(-,root,root,-)
%doc LICENSE


%files -n ghc-%{name} -f ghc-%{name}.files
%defattr(-,root,root,-)


%files -n ghc-%{name}-devel -f ghc-%{name}-devel.files
%defattr(-,root,root,-)


%files -n ghc-%{name}-doc -f ghc-%{name}-doc.files
%defattr(-,root,root,-)


%files -n ghc-%{name}-prof -f ghc-%{name}-prof.files
%defattr(-,root,root,-)


%changelog
* Sun Jun 27 2010 Jens Petersen <petersen@redhat.com> - 2010.1.0.0.6123-1
- bump ghc to 6.12.3
- sync cabal2spec-0.22.1
- enable debugging for now to avoid empty strip error

* Thu Apr 29 2010 Jens Petersen <petersen@redhat.com> - 2010.1.0.0.6122-1
- break haskell-platform-2010.1.0.0 with ghc-6.12.2

* Wed Mar 24 2010 Jens Petersen <petersen@redhat.com> - 2010.1.0.0-1
- update to 2010.1.0.0 beta release
- update versions of alex, cgi, network, parallel, QuickCheck, HTTP
- new deepseq dep (#576482)

* Thu Jan 28 2010 Jens Petersen <petersen@redhat.com> - 2009.3.1.20100115-0.2
- add filelist for shared libs
- update devel post and postun

* Sat Jan 16 2010 Jens Petersen <petersen@redhat.com> - 2009.3.1.20100115-0.1
- update to darcs snapshot patched for ghc-6.12.1
- update to ghc-rpm-macros-0.5.1 and cabal2spec-0.21.1:
- drop doc and prof bcond
- use common_summary and common_description
- use ghc_lib_package and ghc_pkg_deps
- build shared library
- drop redundant buildroot and its install cleaning

* Mon Sep 28 2009 Jens Petersen <petersen@redhat.com> - 2009.2.0.2-3
- fix rpmlint warnings (bos, #523883)

* Mon Sep 28 2009 Jens Petersen <petersen@redhat.com> - 2009.2.0.2-2
- add all the buildrequires (#523883)
- create ghcpkgdir since metapackage
- nothing in bindir

* Thu Sep 17 2009 Jens Petersen <petersen@redhat.com> - 2009.2.0.2-1
- initial packaging for Fedora