%define pkg_name    data-default-class
%define pkg_version 0.1.2.0
%define pkg_release 2%{?_dist_release}

%define ghc_version 8.2.2

Summary: Haskell libraries: %{pkg_name}
Name:    libghc-%{pkg_name}
Version: %{pkg_version}
Release: %{pkg_release}

License: BSD3
Group:   Applications/Text
URL:     http://hackage.haskell.org

Source0: %{pkg_name}-%{version}.tar.gz

BuildRoot: %{_tmppath}/%{name}-%{version}-root

BuildRequires: ghc haskell-platform
BuildRequires: libffi-devel gmp-devel zlib-devel
BuildRequires: docbook-utils docbook-utils-pdf docbook-style-xsl

Requires: ghc haskell-platform


Vendor: Project Vine
Distribution: Vine Linux
Packager: ara_t


%description
Haskell libraries: %{pkg_name}-%{version}


%prep
%{__rm} -rf ${RPM_BUILD_ROOT}
%{__rm} -rf %{_builddir}/package.conf
%{__rm} -rf ${HOME}/.ghc
%setup -q -n %{pkg_name}-%{version}

%build
# Initialise the package db
ghc-pkg init %{_builddir}/package.conf

PKG_CONF_DIR=${RPM_BUILD_ROOT}%{_libdir}/ghc-%{ghc_version}/package.conf.d
%{__rm} -rf ${PKG_CONF_DIR}
%{__mkdir_p} ${PKG_CONF_DIR}

cabal configure \
    --prefix=%{_prefix} \
    --libdir=%{_libdir}/ghc-lib/%{name}-%{version} \
    --libsubdir= \
    --datadir=%{_datadir}/%{name}-%{version} \
    --datasubdir= \
    --docdir=%{_docdir}/%{name}-%{version}

cabal build
cabal haddock || : # avoid Error
cabal copy --destdir=${RPM_BUILD_ROOT}
cabal register --inplace
cabal register --gen-pkg-config=${PKG_CONF_DIR}/%{pkg_name}-%{version}.conf

%install
cabal copy --destdir=${RPM_BUILD_ROOT}

%{__cp} LICENSE \
        ${RPM_BUILD_ROOT}%{_docdir}/%{pkg_name}-%{version}

%clean
%{__rm} -rf ${RPM_BUILD_ROOT}

%post
ghc-pkg recache

%postun
ghc-pkg recache


%files
%defattr(-, root, root)
%{_libdir}/ghc-%{ghc_version}/
%{_libdir}/ghc-lib/
%{_datadir}/


%changelog
* Tue Jan 09 2018 Toshiaki Ara <ara_t@384.jp> 0.1.2.0-2
- rebuild using ghc-8.2.2

* Fri Feb 03 2017 Toshiaki Ara <ara_t@384.jp> 0.1.2.0-1
- update to 0.1.2.0
- rebuild using ghc-8.0.1

* Wed May 04 2016 Toshiaki Ara <ara_t@384.jp> 0.0.1-3
- rebuilt

* Tue Apr 12 2016 Toshiaki Ara <ara_t@384.jp> 0.0.1-2
- correct SPEC file

* Tue Mar 01 2016 Toshiaki Ara <ara_t@384.jp> 0.0.1-1
- new package