Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ghc-stm-chans for openSUSE:Factory 
checked in at 2021-11-11 21:37:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-stm-chans (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-stm-chans.new.1890 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-stm-chans"

Thu Nov 11 21:37:00 2021 rev:12 rq:930364 version:3.0.0.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-stm-chans/ghc-stm-chans.changes      
2020-12-22 11:46:29.321864019 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-stm-chans.new.1890/ghc-stm-chans.changes    
2021-11-11 21:37:24.092931516 +0100
@@ -1,0 +2,10 @@
+Tue Oct 19 07:22:20 UTC 2021 - [email protected]
+
+- Update stm-chans to version 3.0.0.6.
+  3.0.0.6 (2021-10-17):
+      - Removed old __HADDOCK__ hack
+      - Updating stale emails, urls, etc
+  3.0.0.5 (2021-10-16):
+      - Fixed the cabal file for Cabal >1.24
+
+-------------------------------------------------------------------

Old:
----
  stm-chans-3.0.0.4.tar.gz
  stm-chans.cabal

New:
----
  stm-chans-3.0.0.6.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-stm-chans.spec ++++++
--- /var/tmp/diff_new_pack.Hlsi76/_old  2021-11-11 21:37:25.040932207 +0100
+++ /var/tmp/diff_new_pack.Hlsi76/_new  2021-11-11 21:37:25.044932210 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package ghc-stm-chans
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,13 +18,12 @@
 
 %global pkg_name stm-chans
 Name:           ghc-%{pkg_name}
-Version:        3.0.0.4
+Version:        3.0.0.6
 Release:        0
 Summary:        Additional types of channels for STM
 License:        BSD-3-Clause
 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-rpm-macros
 BuildRequires:  ghc-stm-devel
@@ -45,7 +44,6 @@
 
 %prep
 %autosetup -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
 
 %build
 %ghc_lib_build
@@ -63,6 +61,6 @@
 %license LICENSE
 
 %files devel -f %{name}-devel.files
-%doc AUTHORS CHANGELOG README
+%doc AUTHORS CHANGELOG README.md
 
 %changelog

++++++ stm-chans-3.0.0.4.tar.gz -> stm-chans-3.0.0.6.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stm-chans-3.0.0.4/CHANGELOG 
new/stm-chans-3.0.0.6/CHANGELOG
--- old/stm-chans-3.0.0.4/CHANGELOG     2015-05-30 07:58:32.000000000 +0200
+++ new/stm-chans-3.0.0.6/CHANGELOG     2001-09-09 03:46:40.000000000 +0200
@@ -1,3 +1,8 @@
+3.0.0.6 (2021-10-17):
+    - Removed old __HADDOCK__ hack
+    - Updating stale emails, urls, etc
+3.0.0.5 (2021-10-16):
+    - Fixed the cabal file for Cabal >1.24
 3.0.0.4 (2015-05-30):
     - Moved VERSION to CHANGELOG
 3.0.0.3 (2015-03-29):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stm-chans-3.0.0.4/README new/stm-chans-3.0.0.6/README
--- old/stm-chans-3.0.0.4/README        2015-05-30 07:58:32.000000000 +0200
+++ new/stm-chans-3.0.0.6/README        1970-01-01 01:00:00.000000000 +0100
@@ -1,24 +0,0 @@
-stm-chans
-=========
-
-In general, this is a simple package and should be easy to install.
-It does require GHC however, because it relies on the
-Control.Concurrent.STM.TChan type which (for some unknown reason)
-is GHC-only. With the cabal-install program you can just do:
-
-    $> cabal install stm-chans
-
-Or if you don't have cabal-install, then you can use the Cabal
-library:
-
-    $> runhaskell Setup.hs configure
-    $> runhaskell Setup.hs build
-    $> runhaskell Setup.hs test
-    $> runhaskell Setup.hs haddock --hyperlink-source
-    $> runhaskell Setup.hs copy
-    $> runhaskell Setup.hs register
-
-The test step is optional and currently does nothing. The Haddock
-step is also optional.
-
------------------------------------------------------------ fin.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stm-chans-3.0.0.4/README.md 
new/stm-chans-3.0.0.6/README.md
--- old/stm-chans-3.0.0.4/README.md     1970-01-01 01:00:00.000000000 +0100
+++ new/stm-chans-3.0.0.6/README.md     2001-09-09 03:46:40.000000000 +0200
@@ -0,0 +1,42 @@
+stm-chans
+=========
+[![Hackage 
version](https://img.shields.io/hackage/v/stm-chans.svg?style=flat)](https://hackage.haskell.org/package/stm-chans)
 
+[![Build 
Status](https://github.com/wrengr/stm-chans/workflows/ci/badge.svg)](https://github.com/wrengr/stm-chans/actions?query=workflow%3Aci)
+[![Dependencies](https://img.shields.io/hackage-deps/v/stm-chans.svg?style=flat)](http://packdeps.haskellers.com/specific?package=stm-chans)
+
+This package offers a collection of channel types, similar to
+`Control.Concurrent.STM.{TChan,TQueue}` but with additional features.
+In particular we offer the following data types:
+
+* `Control.Concurrent.STM.TBChan`:  Bounded FIFO channels.
+    When the channel is full, writers will block/retry. This ensures
+    that the writers do not get too far ahead of the readers, which
+    helps to  make sure that memory and cpu resources are used
+    responsibly.
+* `Control.Concurrent.STM.TMChan`:   Closeable FIFO channels.
+* `Control.Concurrent.STM.TMQueue`:  Closeable FIFO queues.
+    Like `TChan (Maybe a)` but with a monotonicity guarantee that
+    once `Nothing` is returned all future reads will be `Nothing`
+    as well.
+* `Control.Concurrent.STM.TBMChan`:  Bounded Closeable FIFO channels.
+* `Control.Concurrent.STM.TBMQueue`: Bounded Closeable FIFO queues.
+    Combines the capabilities of `TBChan` and `TMChan`.
+
+
+## Install
+
+In general, this is a simple package and should be easy to install.
+It does require GHC however, because it relies on the
+Control.Concurrent.STM.TChan type which (for some unknown reason)
+is GHC-only. With the cabal-install program you can just do:
+
+    $> cabal install stm-chans
+
+
+## Links
+
+* [Website](http://wrengr.org/)
+* [Blog](http://winterkoninkje.dreamwidth.org/)
+* [Twitter](https://twitter.com/wrengr)
+* [Hackage](http://hackage.haskell.org/package/stm-chans)
+* [GitHub](https://github.com/wrengr/stm-chans)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stm-chans-3.0.0.4/Setup.hs 
new/stm-chans-3.0.0.6/Setup.hs
--- old/stm-chans-3.0.0.4/Setup.hs      2015-05-30 07:58:32.000000000 +0200
+++ new/stm-chans-3.0.0.6/Setup.hs      2001-09-09 03:46:40.000000000 +0200
@@ -1,27 +1,7 @@
 #!/usr/bin/env runhaskell
--- Cf. <http://www.mail-archive.com/[email protected]/msg59984.html>
--- <http://www.haskell.org/pipermail/haskell-cafe/2008-December/051785.html>
 
-{-# OPTIONS_GHC -Wall -fwarn-tabs -fno-warn-missing-signatures #-}
 module Main (main) where
 import Distribution.Simple
-import Distribution.Simple.LocalBuildInfo (withPrograms)
-import Distribution.Simple.Program        (userSpecifyArgs)
-----------------------------------------------------------------
 
--- | Define __HADDOCK__ when building documentation.
 main :: IO ()
-main = defaultMainWithHooks
-    $ simpleUserHooks `modify_haddockHook` \oldHH pkg lbi hooks flags -> do
-        
-        -- Call the old haddockHook with a modified LocalBuildInfo
-        (\lbi' -> oldHH pkg lbi' hooks flags)
-            $ lbi `modify_withPrograms` \oldWP ->
-                userSpecifyArgs "haddock" ["--optghc=-D__HADDOCK__"] oldWP
-
-
-modify_haddockHook  hooks f = hooks { haddockHook  = f (haddockHook  hooks) }
-modify_withPrograms lbi   f = lbi   { withPrograms = f (withPrograms lbi)   }
-
-----------------------------------------------------------------
------------------------------------------------------------ fin.
+main  = defaultMain
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/stm-chans-3.0.0.4/src/Control/Concurrent/STM/TBChan.hs 
new/stm-chans-3.0.0.6/src/Control/Concurrent/STM/TBChan.hs
--- old/stm-chans-3.0.0.4/src/Control/Concurrent/STM/TBChan.hs  2015-05-30 
07:58:32.000000000 +0200
+++ new/stm-chans-3.0.0.6/src/Control/Concurrent/STM/TBChan.hs  2001-09-09 
03:46:40.000000000 +0200
@@ -1,28 +1,16 @@
 {-# OPTIONS_GHC -Wall -fwarn-tabs #-}
 {-# LANGUAGE CPP, DeriveDataTypeable #-}
 
--- HACK: in GHC 7.10, Haddock complains about Control.Monad.STM and
--- System.IO.Unsafe being imported but unused. However, if we use
--- CPP to avoid including them under Haddock, then it will fail to
--- compile!
-#ifdef __HADDOCK__
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-#endif
-
 #if __GLASGOW_HASKELL__ >= 701
-#  ifdef __HADDOCK__
-{-# LANGUAGE Trustworthy #-}
-#  else
 {-# LANGUAGE Safe #-}
-#  endif
 #endif
 ----------------------------------------------------------------
---                                                    2015.03.29
+--                                                    2021.10.17
 -- |
 -- Module      :  Control.Concurrent.STM.TBChan
--- Copyright   :  Copyright (c) 2011--2015 wren gayle romano
+-- Copyright   :  Copyright (c) 2011--2021 wren gayle romano
 -- License     :  BSD
--- Maintainer  :  [email protected]
+-- Maintainer  :  [email protected]
 -- Stability   :  provisional
 -- Portability :  non-portable (GHC STM, DeriveDataTypeable)
 --
@@ -61,12 +49,6 @@
 import Control.Monad.STM (STM, retry)
 import Control.Concurrent.STM.TVar
 import Control.Concurrent.STM.TChan -- N.B., GHC only
-
--- N.B., we need a Custom cabal build-type for this to work.
-#ifdef __HADDOCK__
-import Control.Monad.STM (atomically)
-import System.IO.Unsafe  (unsafePerformIO)
-#endif
 ----------------------------------------------------------------
 
 -- | @TBChan@ is an abstract type representing a bounded FIFO
@@ -96,8 +78,9 @@
 
 
 -- | @IO@ version of 'newTBChan'. This is useful for creating
--- top-level @TBChan@s using 'unsafePerformIO', because using
--- 'atomically' inside 'unsafePerformIO' isn't possible.
+-- top-level @TBChan@s using 'System.IO.Unsafe.unsafePerformIO',
+-- because using 'Control.Monad.STM.atomically' inside
+-- 'System.IO.Unsafe.unsafePerformIO' isn't possible.
 newTBChanIO :: Int -> IO (TBChan a)
 newTBChanIO n = do
     slots <- newTVarIO n
@@ -205,15 +188,15 @@
 
 
 -- | Returns @True@ if the supplied @TBChan@ is empty (i.e., has
--- no elements). /N.B./, a @TBChan@ can be both ``empty'' and
--- ``full'' at the same time, if the initial limit was non-positive.
+-- no elements). /N.B./, a @TBChan@ can be both \"empty\" and
+-- \"full\" at the same time, if the initial limit was non-positive.
 isEmptyTBChan :: TBChan a -> STM Bool
 isEmptyTBChan (TBChan _slots _reads chan) =
     isEmptyTChan chan
 
 
 -- | Returns @True@ if the supplied @TBChan@ is full (i.e., is over
--- its limit). /N.B./, a @TBChan@ can be both ``empty'' and ``full''
+-- its limit). /N.B./, a @TBChan@ can be both \"empty\" and \"full\"
 -- at the same time, if the initial limit was non-positive. /N.B./,
 -- a @TBChan@ may still be full after reading, if 'unGetTBChan' was
 -- used to go over the initial limit.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/stm-chans-3.0.0.4/src/Control/Concurrent/STM/TBMChan.hs 
new/stm-chans-3.0.0.6/src/Control/Concurrent/STM/TBMChan.hs
--- old/stm-chans-3.0.0.4/src/Control/Concurrent/STM/TBMChan.hs 2015-05-30 
07:58:32.000000000 +0200
+++ new/stm-chans-3.0.0.6/src/Control/Concurrent/STM/TBMChan.hs 2001-09-09 
03:46:40.000000000 +0200
@@ -1,28 +1,16 @@
 {-# OPTIONS_GHC -Wall -fwarn-tabs #-}
 {-# LANGUAGE CPP, DeriveDataTypeable #-}
 
--- HACK: in GHC 7.10, Haddock complains about Control.Monad.STM and
--- System.IO.Unsafe being imported but unused. However, if we use
--- CPP to avoid including them under Haddock, then it will fail to
--- compile!
-#ifdef __HADDOCK__
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-#endif
-
 #if __GLASGOW_HASKELL__ >= 701
-#  ifdef __HADDOCK__
-{-# LANGUAGE Trustworthy #-}
-#  else
 {-# LANGUAGE Safe #-}
-#  endif
 #endif
 ----------------------------------------------------------------
---                                                    2015.03.29
+--                                                    2021.10.17
 -- |
 -- Module      :  Control.Concurrent.STM.TBMChan
--- Copyright   :  Copyright (c) 2011--2015 wren gayle romano
+-- Copyright   :  Copyright (c) 2011--2021 wren gayle romano
 -- License     :  BSD
--- Maintainer  :  [email protected]
+-- Maintainer  :  [email protected]
 -- Stability   :  provisional
 -- Portability :  non-portable (GHC STM, DeriveDataTypeable)
 --
@@ -69,12 +57,6 @@
 import Control.Monad.STM   (STM, retry)
 import Control.Concurrent.STM.TVar
 import Control.Concurrent.STM.TChan -- N.B., GHC only
-
--- N.B., we need a Custom cabal build-type for this to work.
-#ifdef __HADDOCK__
-import Control.Monad.STM   (atomically)
-import System.IO.Unsafe    (unsafePerformIO)
-#endif
 ----------------------------------------------------------------
 
 -- | @TBMChan@ is an abstract type representing a bounded closeable
@@ -107,8 +89,9 @@
 
 
 -- | @IO@ version of 'newTBMChan'. This is useful for creating
--- top-level @TBMChan@s using 'unsafePerformIO', because using
--- 'atomically' inside 'unsafePerformIO' isn't possible.
+-- top-level @TBMChan@s using 'System.IO.Unsafe.unsafePerformIO',
+-- because using 'Control.Monad.STM.atomically' inside
+-- 'System.IO.Unsafe.unsafePerformIO' isn't possible.
 newTBMChanIO :: Int -> IO (TBMChan a)
 newTBMChanIO n = do
     closed <- newTVarIO False
@@ -136,7 +119,7 @@
             x <- readTChan chan
             modifyTVar' reads (1 +)
             return (Just x)
-{- 
+{-
 -- The above is slightly optimized over the clearer:
 readTBMChan (TBMChan closed _slots reads chan) =
     b  <- readTVar closed
@@ -173,7 +156,7 @@
                 Just _x -> do
                     modifyTVar' reads (1 +)
                     return (Just mx)
-{- 
+{-
 -- The above is slightly optimized over the clearer:
 tryReadTBMChan (TBMChan closed _slots reads chan) =
     b  <- readTVar closed
@@ -208,7 +191,7 @@
 peekTBMChan (TBMChan closed _slots _reads chan) = do
     b  <- isEmptyTChan chan
     b' <- readTVar closed
-    if b && b' 
+    if b && b'
         then return Nothing
         else Just <$> peekTChan chan
 -- TODO: compare Core and benchmarks; is the loss of clarity worth it?
@@ -230,7 +213,7 @@
 tryPeekTBMChan (TBMChan closed _slots _reads chan) = do
     b  <- isEmptyTChan chan
     b' <- readTVar closed
-    if b && b' 
+    if b && b'
         then return Nothing
         else Just <$> tryPeekTChan chan
 -- TODO: compare Core and benchmarks; is the loss of clarity worth it?
@@ -310,16 +293,16 @@
 
 
 -- | Returns @True@ if the supplied @TBMChan@ is empty (i.e., has
--- no elements). /N.B./, a @TBMChan@ can be both ``empty'' and
--- ``full'' at the same time, if the initial limit was non-positive.
+-- no elements). /N.B./, a @TBMChan@ can be both \"empty\" and
+-- \"full\" at the same time, if the initial limit was non-positive.
 isEmptyTBMChan :: TBMChan a -> STM Bool
 isEmptyTBMChan (TBMChan _closed _slots _reads chan) =
     isEmptyTChan chan
 
 
 -- | Returns @True@ if the supplied @TBMChan@ is full (i.e., is
--- over its limit). /N.B./, a @TBMChan@ can be both ``empty'' and
--- ``full'' at the same time, if the initial limit was non-positive.
+-- over its limit). /N.B./, a @TBMChan@ can be both \"empty\" and
+-- \"full\" at the same time, if the initial limit was non-positive.
 -- /N.B./, a @TBMChan@ may still be full after reading, if
 -- 'unGetTBMChan' was used to go over the initial limit.
 --
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/stm-chans-3.0.0.4/src/Control/Concurrent/STM/TBMQueue.hs 
new/stm-chans-3.0.0.6/src/Control/Concurrent/STM/TBMQueue.hs
--- old/stm-chans-3.0.0.4/src/Control/Concurrent/STM/TBMQueue.hs        
2015-05-30 07:58:32.000000000 +0200
+++ new/stm-chans-3.0.0.6/src/Control/Concurrent/STM/TBMQueue.hs        
2001-09-09 03:46:40.000000000 +0200
@@ -1,28 +1,16 @@
 {-# OPTIONS_GHC -Wall -fwarn-tabs #-}
 {-# LANGUAGE CPP, DeriveDataTypeable #-}
 
--- HACK: in GHC 7.10, Haddock complains about Control.Monad.STM and
--- System.IO.Unsafe being imported but unused. However, if we use
--- CPP to avoid including them under Haddock, then it will fail to
--- compile!
-#ifdef __HADDOCK__
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-#endif
-
 #if __GLASGOW_HASKELL__ >= 701
-#  ifdef __HADDOCK__
-{-# LANGUAGE Trustworthy #-}
-#  else
 {-# LANGUAGE Safe #-}
-#  endif
 #endif
 ----------------------------------------------------------------
---                                                    2015.03.29
+--                                                    2021.10.17
 -- |
 -- Module      :  Control.Concurrent.STM.TBMQueue
--- Copyright   :  Copyright (c) 2011--2015 wren gayle romano
+-- Copyright   :  Copyright (c) 2011--2021 wren gayle romano
 -- License     :  BSD
--- Maintainer  :  [email protected]
+-- Maintainer  :  [email protected]
 -- Stability   :  provisional
 -- Portability :  non-portable (GHC STM, DeriveDataTypeable)
 --
@@ -67,12 +55,6 @@
 import Control.Monad.STM   (STM, retry)
 import Control.Concurrent.STM.TVar
 import Control.Concurrent.STM.TQueue -- N.B., GHC only
-
--- N.B., we need a Custom cabal build-type for this to work.
-#ifdef __HADDOCK__
-import Control.Monad.STM   (atomically)
-import System.IO.Unsafe    (unsafePerformIO)
-#endif
 ----------------------------------------------------------------
 
 -- | @TBMQueue@ is an abstract type representing a bounded closeable
@@ -105,8 +87,9 @@
 
 
 -- | @IO@ version of 'newTBMQueue'. This is useful for creating
--- top-level @TBMQueue@s using 'unsafePerformIO', because using
--- 'atomically' inside 'unsafePerformIO' isn't possible.
+-- top-level @TBMQueue@s using 'System.IO.Unsafe.unsafePerformIO',
+-- because using 'Control.Monad.STM.atomically' inside
+-- 'System.IO.Unsafe.unsafePerformIO' isn't possible.
 newTBMQueueIO :: Int -> IO (TBMQueue a)
 newTBMQueueIO n = do
     closed <- newTVarIO False
@@ -308,16 +291,16 @@
 
 
 -- | Returns @True@ if the supplied @TBMQueue@ is empty (i.e., has
--- no elements). /N.B./, a @TBMQueue@ can be both ``empty'' and
--- ``full'' at the same time, if the initial limit was non-positive.
+-- no elements). /N.B./, a @TBMQueue@ can be both \"empty\" and
+-- \"full\" at the same time, if the initial limit was non-positive.
 isEmptyTBMQueue :: TBMQueue a -> STM Bool
 isEmptyTBMQueue (TBMQueue _closed _slots _reads queue) =
     isEmptyTQueue queue
 
 
 -- | Returns @True@ if the supplied @TBMQueue@ is full (i.e., is
--- over its limit). /N.B./, a @TBMQueue@ can be both ``empty'' and
--- ``full'' at the same time, if the initial limit was non-positive.
+-- over its limit). /N.B./, a @TBMQueue@ can be both \"empty\" and
+-- \"full\" at the same time, if the initial limit was non-positive.
 -- /N.B./, a @TBMQueue@ may still be full after reading, if
 -- 'unGetTBMQueue' was used to go over the initial limit.
 --
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/stm-chans-3.0.0.4/src/Control/Concurrent/STM/TMChan.hs 
new/stm-chans-3.0.0.6/src/Control/Concurrent/STM/TMChan.hs
--- old/stm-chans-3.0.0.4/src/Control/Concurrent/STM/TMChan.hs  2015-05-30 
07:58:32.000000000 +0200
+++ new/stm-chans-3.0.0.6/src/Control/Concurrent/STM/TMChan.hs  2001-09-09 
03:46:40.000000000 +0200
@@ -1,28 +1,16 @@
 {-# OPTIONS_GHC -Wall -fwarn-tabs #-}
 {-# LANGUAGE CPP, DeriveDataTypeable #-}
 
--- HACK: in GHC 7.10, Haddock complains about Control.Monad.STM and
--- System.IO.Unsafe being imported but unused. However, if we use
--- CPP to avoid including them under Haddock, then it will fail to
--- compile!
-#ifdef __HADDOCK__
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-#endif
-
 #if __GLASGOW_HASKELL__ >= 701
-#  ifdef __HADDOCK__
-{-# LANGUAGE Trustworthy #-}
-#  else
 {-# LANGUAGE Safe #-}
-#  endif
 #endif
 ----------------------------------------------------------------
---                                                    2015.03.29
+--                                                    2021.10.17
 -- |
 -- Module      :  Control.Concurrent.STM.TMChan
--- Copyright   :  Copyright (c) 2011--2015 wren gayle romano
+-- Copyright   :  Copyright (c) 2011--2021 wren gayle romano
 -- License     :  BSD
--- Maintainer  :  [email protected]
+-- Maintainer  :  [email protected]
 -- Stability   :  provisional
 -- Portability :  non-portable (GHC STM, DeriveDataTypeable)
 --
@@ -63,12 +51,6 @@
 import Control.Monad.STM   (STM)
 import Control.Concurrent.STM.TVar
 import Control.Concurrent.STM.TChan -- N.B., GHC only
-
--- N.B., we need a Custom cabal build-type for this to work.
-#ifdef __HADDOCK__
-import Control.Monad.STM   (atomically)
-import System.IO.Unsafe    (unsafePerformIO)
-#endif
 ----------------------------------------------------------------
 
 -- | @TMChan@ is an abstract type representing a closeable FIFO
@@ -88,14 +70,15 @@
 
 
 -- | @IO@ version of 'newTMChan'. This is useful for creating
--- top-level @TMChan@s using 'unsafePerformIO', because using
--- 'atomically' inside 'unsafePerformIO' isn't possible.
+-- top-level @TMChan@s using 'System.IO.Unsafe.unsafePerformIO',
+-- because using 'Control.Monad.STM.atomically' inside
+-- 'System.IO.Unsafe.unsafePerformIO' isn't possible.
 newTMChanIO :: IO (TMChan a)
 newTMChanIO = do
     closed <- newTVarIO False
     chan   <- newTChanIO
     return (TMChan closed chan)
-    
+
 
 -- | Like 'newBroadcastTChan'.
 --
@@ -105,7 +88,7 @@
     closed <- newTVar False
     chan   <- newBroadcastTChan
     return (TMChan closed chan)
-    
+
 
 -- | @IO@ version of 'newBroadcastTMChan'.
 --
@@ -188,7 +171,7 @@
 peekTMChan (TMChan closed chan) = do
     b  <- isEmptyTChan chan
     b' <- readTVar closed
-    if b && b' 
+    if b && b'
         then return Nothing
         else Just <$> peekTChan chan
 -- TODO: compare Core and benchmarks; is the loss of clarity worth it?
@@ -210,7 +193,7 @@
 tryPeekTMChan (TMChan closed chan) = do
     b  <- isEmptyTChan chan
     b' <- readTVar closed
-    if b && b' 
+    if b && b'
         then return Nothing
         else Just <$> tryPeekTChan chan
 -- TODO: compare Core and benchmarks; is the loss of clarity worth it?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/stm-chans-3.0.0.4/src/Control/Concurrent/STM/TMQueue.hs 
new/stm-chans-3.0.0.6/src/Control/Concurrent/STM/TMQueue.hs
--- old/stm-chans-3.0.0.4/src/Control/Concurrent/STM/TMQueue.hs 2015-05-30 
07:58:32.000000000 +0200
+++ new/stm-chans-3.0.0.6/src/Control/Concurrent/STM/TMQueue.hs 2001-09-09 
03:46:40.000000000 +0200
@@ -1,28 +1,16 @@
 {-# OPTIONS_GHC -Wall -fwarn-tabs #-}
 {-# LANGUAGE CPP, DeriveDataTypeable #-}
 
--- HACK: in GHC 7.10, Haddock complains about Control.Monad.STM and
--- System.IO.Unsafe being imported but unused. However, if we use
--- CPP to avoid including them under Haddock, then it will fail to
--- compile!
-#ifdef __HADDOCK__
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-#endif
-
 #if __GLASGOW_HASKELL__ >= 701
-#  ifdef __HADDOCK__
-{-# LANGUAGE Trustworthy #-}
-#  else
 {-# LANGUAGE Safe #-}
-#  endif
 #endif
 ----------------------------------------------------------------
---                                                    2015.03.29
+--                                                    2021.10.17
 -- |
 -- Module      :  Control.Concurrent.STM.TMQueue
--- Copyright   :  Copyright (c) 2011--2015 wren gayle romano
+-- Copyright   :  Copyright (c) 2011--2021 wren gayle romano
 -- License     :  BSD
--- Maintainer  :  [email protected]
+-- Maintainer  :  [email protected]
 -- Stability   :  provisional
 -- Portability :  non-portable (GHC STM, DeriveDataTypeable)
 --
@@ -62,12 +50,6 @@
 import Control.Monad.STM   (STM)
 import Control.Concurrent.STM.TVar
 import Control.Concurrent.STM.TQueue -- N.B., GHC only
-
--- N.B., we need a Custom cabal build-type for this to work.
-#ifdef __HADDOCK__
-import Control.Monad.STM   (atomically)
-import System.IO.Unsafe    (unsafePerformIO)
-#endif
 ----------------------------------------------------------------
 
 -- | @TMQueue@ is an abstract type representing a closeable FIFO
@@ -87,8 +69,9 @@
 
 
 -- | @IO@ version of 'newTMQueue'. This is useful for creating
--- top-level @TMQueue@s using 'unsafePerformIO', because using
--- 'atomically' inside 'unsafePerformIO' isn't possible.
+-- top-level @TMQueue@s using 'System.IO.Unsafe.unsafePerformIO',
+-- because using 'Control.Monad.STM.atomically' inside
+-- 'System.IO.Unsafe.unsafePerformIO' isn't possible.
 newTMQueueIO :: IO (TMQueue a)
 newTMQueueIO = do
     closed <- newTVarIO False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/stm-chans-3.0.0.4/stm-chans.cabal 
new/stm-chans-3.0.0.6/stm-chans.cabal
--- old/stm-chans-3.0.0.4/stm-chans.cabal       2015-05-30 07:58:32.000000000 
+0200
+++ new/stm-chans-3.0.0.6/stm-chans.cabal       2001-09-09 03:46:40.000000000 
+0200
@@ -1,20 +1,19 @@
 ----------------------------------------------------------------
--- wren gayle romano <[email protected]>   ~ 2015.05.30
+-- wren gayle romano <[email protected]>                ~ 2021.10.17
 ----------------------------------------------------------------
 
--- By and large Cabal >=1.2 is fine; but >= 1.6 gives tested-with:
--- and source-repository:.
-Cabal-Version:  >= 1.6
--- We need a custom build in order to define __HADDOCK__
-Build-Type:     Custom
+-- Cabal >=1.10 is required by Hackage.
+Cabal-Version:  >= 1.10
+Build-Type:     Simple
 
 Name:           stm-chans
-Version:        3.0.0.4
+Version:        3.0.0.6
 Stability:      provisional
-Homepage:       http://code.haskell.org/~wren/
+Homepage:       https://wrengr.org/software/hackage.html
+Bug-Reports:    https://github.com/wrengr/stm-chans/issues
 Author:         wren gayle romano, Thomas DuBuisson
-Maintainer:     [email protected]
-Copyright:      Copyright (c) 2011--2015 wren gayle romano
+Maintainer:     [email protected]
+Copyright:      Copyright (c) 2011???2021 wren gayle romano
 License:        BSD3
 License-File:   LICENSE
 
@@ -22,17 +21,28 @@
 Synopsis:       Additional types of channels for STM.
 Description:    Additional types of channels for STM.
 
--- Should probably still work with GHC-7.6.1 too
-Tested-With:
-    GHC ==7.8.3, GHC ==7.10.1
 Extra-source-files:
-    AUTHORS, README, CHANGELOG
+    AUTHORS, README.md, CHANGELOG
+
+-- This used to be tested on 7.8.3 and 7.10.1, but we don't verify that by CI.
+-- <https://github.com/wrengr/stm-chans/actions?query=workflow%3Aci>
+Tested-With:
+    GHC ==8.0.2,
+    GHC ==8.2.2,
+    GHC ==8.4.4,
+    GHC ==8.6.5,
+    GHC ==8.8.4,
+    GHC ==8.10.3,
+    GHC ==9.0.1
+
+----------------------------------------------------------------
 Source-Repository head
-    Type:     darcs
-    Location: http://community.haskell.org/~wren/stm-chans
+    Type:     git
+    Location: https://github.com/wrengr/stm-chans.git
 
 ----------------------------------------------------------------
 Library
+    Default-Language: Haskell2010
     -- N.B., the following versions are required for:
     -- * stm >= 2.4:   T{,B}Queue and newBroadcastTChan{,IO}
     -- * stm >= 2.3.0: fast tryReadTChan, peekTChan, tryPeekTChan,

Reply via email to