# # spec file for package async # # Copyright (c) 2018 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 async %bcond_with tests Name: %{pkg_name} Version: 2.1.1.1 Release: 0 Summary: Run IO operations asynchronously and wait for their results Group: Development/Libraries/Haskell License: BSD-3-Clause Url: https://hackage.haskell.org/package/%{name} Source0: https://hackage.haskell.org/package/%{name}-%{version}/%{name}-%{version}.tar.gz BuildRequires: ghc-Cabal-devel BuildRequires: ghc-rpm-macros BuildRequires: ghc-stm-devel %if %{with tests} BuildRequires: ghc-HUnit-devel BuildRequires: ghc-test-framework-devel BuildRequires: ghc-test-framework-hunit-devel %endif %description This package provides a higher-level interface over threads, in which an 'Async a' is a concurrent thread that will eventually deliver a value of type 'a'. The package provides ways to create 'Async' computations, wait for their results, and cancel them. Using 'Async' is safer than using threads in two ways: * When waiting for a thread to return a result, if the thread dies with an exception then the caller must either re-throw the exception ('wait') or handle it ('waitCatch'); the exception cannot be ignored. * The API makes it possible to build a tree of threads that are automatically killed when their parent dies (see 'withAsync'). %package -n ghc-%{name} Summary: Haskell %{name} library Group: System/Libraries %description -n ghc-%{name} This package provides the Haskell %{name} shared library. %package -n ghc-%{name}-devel Summary: Haskell %{name} library development files Group: Development/Libraries/Haskell Requires: ghc-compiler = %{ghc_version} Requires(post): ghc-compiler = %{ghc_version} Requires(postun): ghc-compiler = %{ghc_version} Requires: ghc-%{name} = %{version}-%{release} %description -n ghc-%{name}-devel This package provides the Haskell %{name} library development files. %prep %setup -q %build %ghc_lib_build %install %ghc_lib_install %check %cabal_test %post -n ghc-%{name}-devel %ghc_pkg_recache %postun -n ghc-%{name}-devel %ghc_pkg_recache %files %doc LICENSE %doc changelog.md %files -n ghc-%{name} -f ghc-%{name}.files %defattr(-,root,root,-) %doc LICENSE %files -n ghc-%{name}-devel -f ghc-%{name}-devel.files %defattr(-,root,root,-) %doc changelog.md %changelog