Blob Blame History Raw
# https://fedoraproject.org/wiki/Packaging:Haskell

%ifarch %{ix86} x86_64
%bcond_without testsuite
%endif

%global pkg_name shake

Name:           %{pkg_name}
Version:        0.11.4
Release:        3%{?dist}
Summary:        Make-like build system

License:        BSD
URL:            http://hackage.haskell.org/package/%{name}
Source0:        http://hackage.haskell.org/packages/archive/%{name}/%{version}/%{name}-%{version}.tar.gz

BuildRequires:  ghc-Cabal-devel
BuildRequires:  ghc-rpm-macros
# Begin cabal-rpm deps:
BuildRequires:  ghc-binary-devel
BuildRequires:  ghc-bytestring-devel
BuildRequires:  ghc-deepseq-devel
BuildRequires:  ghc-directory-devel
BuildRequires:  ghc-filepath-devel
BuildRequires:  ghc-hashable-devel
BuildRequires:  ghc-old-time-devel
BuildRequires:  ghc-process-devel
BuildRequires:  ghc-random-devel
BuildRequires:  ghc-time-devel
BuildRequires:  ghc-transformers-devel
BuildRequires:  ghc-unix-devel
BuildRequires:  ghc-unordered-containers-devel
BuildRequires:  ghc-utf8-string-devel
# End cabal-rpm deps
%if %{with testsuite}
BuildRequires:  ghc-QuickCheck-devel
%endif
BuildRequires:  dos2unix

%description
Shake is a Haskell library for writing build systems - designed as a
replacement for make. See "Development.Shake" for an introduction, including
an example. Further examples are included in the Cabal tarball, under the
Examples directory. The homepage contains links to a user manual, an academic
paper and further information: <https://github.com/ndmitchell/shake>

This package provides the shake tool which can handle most ninja files
faster than ninja and simple makefiles.


%package -n ghc-%{name}
Summary:        Haskell %{name} library

%description -n ghc-%{name}
This package provides the Haskell %{name} shared library.


%package -n ghc-%{name}-devel
Summary:        Haskell %{name} library development files
Provides:       ghc-%{name}-static = %{version}-%{release}
Requires:       ghc-compiler = %{ghc_version}
Requires(post): ghc-compiler = %{ghc_version}
Requires(postun): ghc-compiler = %{ghc_version}
Requires:       ghc-%{name}%{?_isa} = %{version}-%{release}

%description -n ghc-%{name}-devel
This package provides the Haskell %{name} library development files.

To use Shake the user writes a Haskell program that imports
"Development.Shake", defines some build rules, and calls the
'Development.Shake.shakeArgs' function. Thanks to do notation and infix
operators, a simple Shake build system is not too dissimilar from a simple
Makefile. However, as build systems get more complex, Shake is able to take
advantage of the excellent abstraction facilities offered by Haskell and easily
support much larger projects. The Shake library provides all the standard
features available in other build systems, including automatic parallelism and
minimal rebuilds. Shake also provides more accurate dependency tracking,
including seamless support for generated files, and dependencies on system
information (e.g. compiler version).


%prep
%setup -q

cd Examples/Ninja
for i in test4 test3-win test3-sub test3-inc test5 test3 lint test2 test3-unix; do
    dos2unix $i.ninja
done


%build
%if %{with testsuite}
%global cabal_configure_options --enable-tests
%endif
%ghc_lib_build


%install
%ghc_lib_install

# remove bundled jquery*.js, report.html, *.js
# (this breaks report generation)
rm %{buildroot}%{_datadir}/%{name}-%{version}/html/*


%check
%if %{with testsuite}
%cabal test
%endif


%post -n ghc-%{name}-devel
%ghc_pkg_recache


%postun -n ghc-%{name}-devel
%ghc_pkg_recache


%files
%doc LICENSE
%{_bindir}/%{name}


%files -n ghc-%{name} -f ghc-%{name}.files
%doc LICENSE


%files -n ghc-%{name}-devel -f ghc-%{name}-devel.files
%doc Examples


%changelog
* Mon Apr 14 2014 Jens Petersen <petersen@redhat.com> - 0.11.4-3
- use global to define cabal_configure_options (#1082515)

* Mon Mar 31 2014 Jens Petersen <petersen@redhat.com> - 0.11.4-2
- testsuite uses TemplateHaskell so only run it on Intel archs for now

* Mon Mar 31 2014 Jens Petersen <petersen@redhat.com> - 0.11.4-1
- update to 0.11.4
- bcond enable testsuite

* Sun Jan  5 2014 Jens Petersen <petersen@redhat.com> - 0.11-1
- update to 0.11

* Sat Jan  4 2014 Fedora Haskell SIG <haskell@lists.fedoraproject.org> - 0.10.10
- spec file generated by cabal-rpm-0.8.7