File ghc-Workflow.spec of Package ghc-Workflow
#
# spec file for package ghc-Workflow
#
# 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 Workflow
Name: ghc-%{pkg_name}
Version: 0.8.3
Release: 0
Summary: Workflow patterns over a monad for thread state logging & recovery
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
Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-RefSerialize-devel
BuildRequires: ghc-TCache-devel
BuildRequires: ghc-binary-devel
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-containers-devel
BuildRequires: ghc-directory-devel
BuildRequires: ghc-exceptions-devel
BuildRequires: ghc-extensible-exceptions-devel
BuildRequires: ghc-mtl-devel
BuildRequires: ghc-old-time-devel
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-stm-devel
BuildRequires: ghc-vector-devel
%description
Transparent support for interruptible computations. A workflow can be seen as a
persistent thread that executes a monadic computation. Therefore, it can be
used in very time consuming computations such are CPU intensive calculations or
procedures that are most of the time waiting for the action of a process or an
user, that are prone to communication failures, timeouts or shutdowns.
It also can be used if you like to restart your program at the point where the
user left it last time . . The computation can be restarted at the interrupted
point thanks to its logged state in permanent storage. The thread state is
located in files by default. It can be moved and continued in another computer.
Besides that, the package also provides other higher level services associated
to workflows: Workflow patterns, and a general configuration utility, workflow
observation events and references to the internal state. The state can be
stored maintaining memory references (using the "RefSerialize" package), so
that it is possible to track the modifications of a big structure (for example
a document) along the workflow execution.
See "Control.Workflow" for details
In this release: * Adaptation for MonadMask instance introduced in the package
exceptions-0.6.
%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}
cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
%install
%ghc_lib_install
%post devel
%ghc_pkg_recache
%postun devel
%ghc_pkg_recache
%files -f %{name}.files
%doc LICENSE
%files devel -f %{name}-devel.files
%changelog