From c55dd153bdef84218cd97a7ca706ed5abd7b951b Mon Sep 17 00:00:00 2001
From: Jens Petersen <petersen@redhat.com>
Date: Tue, 7 Jun 2022 10:26:37 +0800
Subject: [PATCH] update to 2.2.4

---
 .gitignore        |   1 +
 async-2.2.4.cabal | 112 ++++++++++++++++++++++++++++++++++++++++++++++
 ghc-async.spec    |   9 +++-
 sources           |   2 +-
 4 files changed, 121 insertions(+), 3 deletions(-)
 create mode 100644 async-2.2.4.cabal

diff --git a/.gitignore b/.gitignore
index 91d731c..a7076eb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,4 @@
 /async-2.2.1.tar.gz
 /async-2.2.2.tar.gz
 /async-2.2.3.tar.gz
+/async-2.2.4.tar.gz
diff --git a/async-2.2.4.cabal b/async-2.2.4.cabal
new file mode 100644
index 0000000..66ef9d5
--- /dev/null
+++ b/async-2.2.4.cabal
@@ -0,0 +1,112 @@
+name:                async
+version:             2.2.4
+x-revision: 1
+-- don't forget to update ./changelog.md!
+synopsis:            Run IO operations asynchronously and wait for their results
+
+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').
+
+license:             BSD3
+license-file:        LICENSE
+author:              Simon Marlow
+maintainer:          Simon Marlow <marlowsd@gmail.com>
+copyright:           (c) Simon Marlow 2012
+category:            Concurrency
+build-type:          Simple
+cabal-version:       >=1.10
+homepage:            https://github.com/simonmar/async
+bug-reports:         https://github.com/simonmar/async/issues
+tested-with:
+    GHC == 9.2.0.20210821
+    GHC == 9.0.1
+    GHC == 8.10.4
+    GHC == 8.8.4
+    GHC == 8.6.5
+    GHC == 8.4.4
+    GHC == 8.2.2
+    GHC == 8.0.2
+    GHC == 7.10.3
+    GHC == 7.8.4
+    GHC == 7.6.3
+    GHC == 7.4.2
+    GHC == 7.2.2
+    GHC == 7.0.4
+
+extra-source-files:
+    changelog.md
+    bench/race.hs
+
+source-repository head
+    type: git
+    location: https://github.com/simonmar/async.git
+
+library
+    default-language:    Haskell2010
+    other-extensions:    CPP, MagicHash, RankNTypes, UnboxedTuples
+    if impl(ghc>=7.1)
+        other-extensions: Trustworthy
+    exposed-modules:     Control.Concurrent.Async
+    build-depends:       base     >= 4.3     && < 4.17,
+                         hashable >= 1.1.2.0 && < 1.5,
+                         stm      >= 2.2     && < 2.6
+
+test-suite test-async
+    default-language: Haskell2010
+    type:       exitcode-stdio-1.0
+    hs-source-dirs: test
+    main-is:    test-async.hs
+    build-depends: base >= 4.3 && < 4.17,
+                   async,
+                   stm,
+                   test-framework,
+                   test-framework-hunit,
+                   HUnit
+
+flag bench
+    default: False
+
+executable concasync
+    if !flag(bench)
+       buildable: False
+    default-language: Haskell2010
+    hs-source-dirs: bench
+    main-is:    concasync.hs
+    build-depends: base, async, stm
+    ghc-options: -O2
+
+executable conccancel
+    if !flag(bench)
+       buildable: False
+    default-language: Haskell2010
+    hs-source-dirs: bench
+    main-is:    conccancel.hs
+    build-depends: base, async, stm
+    ghc-options: -O2 -threaded
+
+executable race
+    if !flag(bench)
+       buildable: False
+    default-language: Haskell2010
+    hs-source-dirs: bench
+    main-is:    race.hs
+    build-depends: base, async, stm
+    ghc-options: -O2 -threaded
diff --git a/ghc-async.spec b/ghc-async.spec
index 10e13d5..c2f5416 100644
--- a/ghc-async.spec
+++ b/ghc-async.spec
@@ -7,14 +7,15 @@
 # testsuite missing deps: test-framework test-framework-hunit
 
 Name:           ghc-%{pkg_name}
-Version:        2.2.3
-Release:        3%{?dist}
+Version:        2.2.4
+Release:        1%{?dist}
 Summary:        Run IO operations asynchronously and wait for their results
 
 License:        BSD
 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:
@@ -79,6 +80,7 @@ This package provides the Haskell %{pkg_name} profiling library.
 %prep
 # Begin cabal-rpm setup:
 %setup -q -n %{pkgver}
+cp -bp %{SOURCE1} %{pkg_name}.cabal
 # End cabal-rpm setup
 
 
@@ -116,6 +118,9 @@ This package provides the Haskell %{pkg_name} profiling library.
 
 
 %changelog
+* Tue Jun 07 2022 Jens Petersen <petersen@redhat.com> - 2.2.4-1
+- https://hackage.haskell.org/package/async-2.2.4/changelog
+
 * Tue Mar 08 2022 Jens Petersen <petersen@redhat.com> - 2.2.3-3
 - rebuild
 
diff --git a/sources b/sources
index 9974354..4a56075 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (async-2.2.3.tar.gz) = 99a7cd04d05362b6d007ec75a32cf0a6c11f4b3e46ab706349289f5bb0ad128fd2a9809e4d30634917a0a608b0d611c6d4e936ea36535c7c5ec167fead5f3248
+SHA512 (async-2.2.4.tar.gz) = 24f37f974dd7573138475d04c0fccb97fcbd8b3de56f7d06199b8f936fd9a29cd0ba0574212a753a81de8958b3292ecee79d0e8d0d2f51eb91874424e6219569