File ghc-dimensional.spec of Package ghc-dimensional

#
# spec file for package ghc-dimensional
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


%global pkg_name dimensional
%bcond_with tests
Name:           ghc-%{pkg_name}
Version:        1.0.1.3
Release:        0
Summary:        Statically checked physical dimensions, using Type Families and Data Kinds
License:        BSD-3-Clause
Group:          Development/Libraries/Haskell
URL:            https://hackage.haskell.org/package/%{pkg_name}
Source0:        https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
BuildRequires:  ghc-Cabal-devel
BuildRequires:  ghc-deepseq-devel
BuildRequires:  ghc-exact-pi-devel
BuildRequires:  ghc-numtype-dk-devel
BuildRequires:  ghc-rpm-macros
BuildRequires:  ghc-vector-devel
%if %{with tests}
BuildRequires:  ghc-HUnit-devel
%endif

%description
Dimensional is a library providing data types for performing arithmetic with
physical quantities and units. Information about the physical dimensions of the
quantities and units is embedded in their types and the validity of operations
is verified by the type checker at compile time. The boxing and unboxing of
numerical values as quantities is done by multiplication and division with
units. The library is designed to, as far as is practical, enforce/encourage
best practices of unit usage. Version 1 of the dimensional package differs from
earlier version in that the dimension tracking is implemented using Closed Type
Families and Data Kinds rather than functional dependencies. This enables a
number of features, including improved support for unit names and quantities
with statically-unknown dimensions. Requires GHC 7.8 or later.

%package devel
Summary:        Haskell %{pkg_name} library development files
Group:          Development/Libraries/Haskell
Requires:       %{name} = %{version}-%{release}
Requires:       ghc-compiler = %{ghc_version}
Requires(post): ghc-compiler = %{ghc_version}
Requires(postun): ghc-compiler = %{ghc_version}

%description devel
This package provides the Haskell %{pkg_name} library development files.

%prep
%setup -q -n %{pkg_name}-%{version}

%build
%ghc_lib_build

%install
%ghc_lib_install

%check
%cabal_test

%post devel
%ghc_pkg_recache

%postun devel
%ghc_pkg_recache

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

%files devel -f %{name}-devel.files
%doc CHANGELOG.md README.md examples

%changelog
openSUSE Build Service is sponsored by