File ghc-flexible-defaults.spec of Package ghc-flexible-defaults
#
# spec file for package ghc-flexible-defaults
#
# 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 flexible-defaults
Name: ghc-%{pkg_name}
Version: 0.0.1.2
Release: 0
Summary: Generate default function implementations for complex type classes
License: SUSE-Public-Domain
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-containers-devel
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-template-haskell-devel
BuildRequires: ghc-th-extras-devel
BuildRequires: ghc-transformers-devel
%description
Template Haskell code to implement default implementations for type-class
functions based on which functions are already implemented. Currently extremely
crude but still fairly effective.
When defining a type class with many functions, each of which can be
implemented based on arbitrary subsets of the others, the standard
default-implementation concept breaks down quite badly. This library provides a
system by which more complex rules can be described for choosing default
implementations based on which ones the user supplies. These implementations
can additionally be given "suitability scores", so that when multiple possible
choices could be made, the library can choose the "best" one.
%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
%post devel
%ghc_pkg_recache
%postun devel
%ghc_pkg_recache
%files -f %{name}.files
%files devel -f %{name}-devel.files
%doc examples
%changelog