ghc-th-lift/ghc-th-lift.spec

141 lines
3.5 KiB
RPMSpec

# generated by cabal-rpm-2.1.0
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/
%global pkg_name th-lift
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
Version: 0.8.2
Release: %autorelease -e rvre0
Summary: Derive Template Haskell's Lift class for datatypes
License: BSD-3-Clause
Url: https://hackage.haskell.org/package/%{pkg_name}
# Begin cabal-rpm sources:
Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz
Source1: https://hackage.haskell.org/package/%{pkgver}/%{pkg_name}.cabal#/%{pkgver}.cabal
# End cabal-rpm sources
# Begin cabal-rpm deps:
BuildRequires: dos2unix
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-base-devel
BuildRequires: ghc-template-haskell-devel
BuildRequires: ghc-th-abstraction-devel
%if %{with ghc_prof}
BuildRequires: ghc-base-prof
BuildRequires: ghc-template-haskell-prof
BuildRequires: ghc-th-abstraction-prof
%endif
# End cabal-rpm deps
%description
Derive Template Haskell's 'Lift' class for datatypes using 'TemplateHaskell'.
The functionality in this package has largely been subsumed by the 'DeriveLift'
language extension, which is available in GHC 8.0 and later versions.
This package can still be useful as a uniform way to derive 'Lift' instances
that is backwards-compatible with older GHCs.
The following libraries are related:
* The <https://hackage.haskell.org/package/th-orphans th-orphans> package
provides instances for 'template-haskell' syntax types.
* The <http://hackage.haskell.org/package/th-lift-instances th-lift-instances>
package provides 'Lift' instances for types in 'base', 'text', 'bytestring',
'vector', etc. Some of these instances are only provided for old versions of
their respective libraries, as the same 'Lift' instances are also present
upstream on newer versions.
%package devel
Summary: Haskell %{pkg_name} library development files
Provides: %{name}-static = %{version}-%{release}
Provides: %{name}-static%{?_isa} = %{version}-%{release}
%if %{defined ghc_version}
Requires: ghc-compiler = %{ghc_version}
%endif
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
This package provides the Haskell %{pkg_name} library development files.
%if %{with haddock}
%package doc
Summary: Haskell %{pkg_name} library documentation
BuildArch: noarch
Requires: ghc-filesystem
%description doc
This package provides the Haskell %{pkg_name} library documentation.
%endif
%if %{with ghc_prof}
%package prof
Summary: Haskell %{pkg_name} profiling library
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
Supplements: (%{name}-devel and ghc-prof)
%description prof
This package provides the Haskell %{pkg_name} profiling library.
%endif
%prep
# Begin cabal-rpm setup:
%setup -q -n %{pkgver}
dos2unix -k -n %{SOURCE1} %{pkg_name}.cabal
# End cabal-rpm setup
%build
# Begin cabal-rpm build:
%ghc_lib_build
# End cabal-rpm build
%install
# Begin cabal-rpm install
%ghc_lib_install
# End cabal-rpm install
%check
%if %{with tests}
%cabal_test
%endif
%files -f %{name}.files
# Begin cabal-rpm files:
%license BSD3
%license COPYING
%license GPL-2
# End cabal-rpm files
%files devel -f %{name}-devel.files
%doc CHANGELOG.md
%if %{with haddock}
%files doc -f %{name}-doc.files
%license BSD3
%license COPYING
%license GPL-2
%endif
%if %{with ghc_prof}
%files prof -f %{name}-prof.files
%endif
%changelog
%autochangelog