shake/shake.spec
2018-07-23 01:42:15 +09:00

225 lines
7.4 KiB
RPMSpec

# generated by cabal-rpm-0.12.5
# https://fedoraproject.org/wiki/Packaging:Haskell
%global pkg_name shake
%global pkgver %{pkg_name}-%{version}
%global jsflot js-flot-0.8.3
%global jsjquery js-jquery-3.3.1
%global subpkgs %{jsflot} %{jsjquery}
%bcond_with tests
Name: %{pkg_name}
Version: 0.16.4
# can only be reset when all subpkgs bumped
Release: 8%{?dist}
Summary: Build system library, like Make, but more accurate dependencies
License: BSD
Url: https://hackage.haskell.org/package/%{name}
Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz
Source1: https://hackage.haskell.org/package/%{jsflot}/%{jsflot}.tar.gz
Source2: https://hackage.haskell.org/package/%{jsjquery}/%{jsjquery}.tar.gz
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-rpm-macros-extra
# Begin cabal-rpm deps:
BuildRequires: ghc-binary-devel
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-deepseq-devel
BuildRequires: ghc-directory-devel
BuildRequires: ghc-extra-devel
BuildRequires: ghc-filepath-devel
BuildRequires: ghc-hashable-devel
#BuildRequires: ghc-js-flot-devel
#BuildRequires: ghc-js-jquery-devel
BuildRequires: ghc-primitive-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
%if %{with tests}
BuildRequires: ghc-QuickCheck-devel
%endif
# End cabal-rpm deps
# for js-flot
BuildRequires: ghc-HTTP-devel
%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. The homepage contains links to a user manual, an academic paper and
further information: <https://shakebuild.com>
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).
%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}
Provides: ghc-%{name}-doc = %{version}-%{release}
%if %{defined ghc_version}
Requires: ghc-compiler = %{ghc_version}
Requires(post): ghc-compiler = %{ghc_version}
Requires(postun): ghc-compiler = %{ghc_version}
%endif
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).
%global main_version %{version}
%if %{defined ghclibdir}
%ghc_lib_subpackage %{jsflot}
%ghc_lib_subpackage %{jsjquery}
%endif
%global version %{main_version}
%prep
%setup -q -a1 -a2
%build
%ghc_libs_build %{subpkgs}
%ghc_lib_build
%install
%ghc_libs_install %{subpkgs}
%ghc_lib_install
echo "%{_datadir}/%{jsflot}/" >> %{jsflot}/ghc-js-flot.files
echo "%{_datadir}/%{jsjquery}/" >> %{jsjquery}/ghc-js-jquery.files
rm %{buildroot}%{_datadir}/%{pkgver}/docs/manual/*
%check
%cabal_test
%post -n ghc-%{name}-devel
%ghc_pkg_recache
%postun -n ghc-%{name}-devel
%ghc_pkg_recache
%files
%license LICENSE
%{_bindir}/%{name}
%files -n ghc-%{name} -f ghc-%{name}.files
%license LICENSE
%{_datadir}/%{pkgver}
%files -n ghc-%{name}-devel -f ghc-%{name}-devel.files
%doc CHANGES.txt README.md
%changelog
* Sun Jul 22 2018 Jens Petersen <petersen@redhat.com> - 0.16.4-8
- update to 0.16.4
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.16-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.16-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Fri Jan 26 2018 Jens Petersen <petersen@redhat.com> - 0.16-5
- rebuild
* Tue Jan 09 2018 Jens Petersen <petersen@redhat.com> - 0.16-4
- update to 0.16
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.11-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.11-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Thu Feb 23 2017 Jens Petersen <petersen@redhat.com> - 0.13.4-1
- update to 0.15.11
- subpackage js-flot and js-jquery
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Jul 11 2016 Jens Petersen <petersen@redhat.com> - 0.13.4-4
- patch for ghc8 Prelude.(*>)
- disable tests due to -Wall -Werror
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.13.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Thu Sep 25 2014 Jens Petersen <petersen@redhat.com> - 0.13.4-1
- update to 0.13.4
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.11.4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.11.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sat May 17 2014 Jens Petersen <petersen@redhat.com> - 0.11.4-4
- adapt to new tests bcond in ghc-rpm-macros
* 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