Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ghc-free for openSUSE:Factory 
checked in at 2022-08-01 21:29:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-free (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-free.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-free"

Mon Aug  1 21:29:45 2022 rev:20 rq:987034 version:5.1.9

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-free/ghc-free.changes        2022-02-11 
23:10:48.135187663 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-free.new.1533/ghc-free.changes      
2022-08-01 21:29:52.805567150 +0200
@@ -1,0 +2,16 @@
+Sun Jun 26 16:02:11 UTC 2022 - Peter Simons <[email protected]>
+
+- Update free to version 5.1.9.
+  5.1.9 [2022.06.26]
+  ------------------
+  * Simplify the `Eq` and `Ord` instances for `FT` to avoid the use of
+    overlapping instances.
+
+  5.1.8 [2022.05.07]
+  ------------------
+  * Generalize the `Monad` constraint in the type signatures for
+    `hoistFreeT` in `Control.Monad.Trans.Free` and 
`Control.Monad.Trans.Free.Ap`
+    to a `Functor` constraint.
+  * Allow building with `transformers-0.6.*` and `mtl-2.3.*`.
+
+-------------------------------------------------------------------

Old:
----
  free-5.1.7.tar.gz
  free.cabal

New:
----
  free-5.1.9.tar.gz

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

Other differences:
------------------
++++++ ghc-free.spec ++++++
--- /var/tmp/diff_new_pack.fwzhDW/_old  2022-08-01 21:29:53.317568619 +0200
+++ /var/tmp/diff_new_pack.fwzhDW/_new  2022-08-01 21:29:53.321568631 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package ghc-free
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 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 free
 Name:           ghc-%{pkg_name}
-Version:        5.1.7
+Version:        5.1.9
 Release:        0
 Summary:        Monads for free
 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-comonad-devel
 BuildRequires:  ghc-containers-devel
@@ -73,7 +72,6 @@
 
 %prep
 %autosetup -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
 
 %build
 %ghc_lib_build

++++++ free-5.1.7.tar.gz -> free-5.1.9.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/free-5.1.7/CHANGELOG.markdown 
new/free-5.1.9/CHANGELOG.markdown
--- old/free-5.1.7/CHANGELOG.markdown   2001-09-09 03:46:40.000000000 +0200
+++ new/free-5.1.9/CHANGELOG.markdown   2001-09-09 03:46:40.000000000 +0200
@@ -1,3 +1,15 @@
+5.1.9 [2022.06.26]
+------------------
+* Simplify the `Eq` and `Ord` instances for `FT` to avoid the use of
+  overlapping instances.
+
+5.1.8 [2022.05.07]
+------------------
+* Generalize the `Monad` constraint in the type signatures for
+  `hoistFreeT` in `Control.Monad.Trans.Free` and `Control.Monad.Trans.Free.Ap`
+  to a `Functor` constraint.
+* Allow building with `transformers-0.6.*` and `mtl-2.3.*`.
+
 5.1.7 [2021.04.30]
 ------------------
 * Enable `FlexibleContexts` in `Control.Monad.Trans.Free.Church` to allow
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/free-5.1.7/examples/MandelbrotIter.lhs 
new/free-5.1.9/examples/MandelbrotIter.lhs
--- old/free-5.1.7/examples/MandelbrotIter.lhs  2001-09-09 03:46:40.000000000 
+0200
+++ new/free-5.1.9/examples/MandelbrotIter.lhs  2001-09-09 03:46:40.000000000 
+0200
@@ -6,8 +6,9 @@
 > module Main where
 
 > import Control.Arrow hiding (loop)
+> import Control.Monad.IO.Class (MonadIO(..))
 > import Control.Monad.Trans.Iter
-> import "mtl" Control.Monad.Reader
+> import "mtl" Control.Monad.Reader (ReaderT, runReaderT, asks)
 > import Data.Complex
 > import Graphics.HGL (runGraphics, Window, withPen,
 >                      line, RGB (RGB), RedrawMode (DoubleBuffered), 
 > openWindowEx,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/free-5.1.7/examples/PerfTH.hs 
new/free-5.1.9/examples/PerfTH.hs
--- old/free-5.1.7/examples/PerfTH.hs   2001-09-09 03:46:40.000000000 +0200
+++ new/free-5.1.9/examples/PerfTH.hs   2001-09-09 03:46:40.000000000 +0200
@@ -10,11 +10,12 @@
 import Data.IORef
 import Data.Word
 import Control.Monad
-import Control.Monad.State.Strict
+import Control.Monad.IO.Class (MonadIO(..))
 import qualified Control.Monad.Fail as Fail (MonadFail)
 import Control.Monad.Free
 import Control.Monad.Free.TH
 import qualified Control.Monad.Free.Church as Church
+import Control.Monad.Trans.State.Strict
 import Text.Printf
 
 -- | A data type representing basic commands for our performance-testing eDSL.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/free-5.1.7/examples/ValidationForm.hs 
new/free-5.1.9/examples/ValidationForm.hs
--- old/free-5.1.7/examples/ValidationForm.hs   2001-09-09 03:46:40.000000000 
+0200
+++ new/free-5.1.9/examples/ValidationForm.hs   2001-09-09 03:46:40.000000000 
+0200
@@ -5,7 +5,8 @@
 import Control.Applicative
 #endif
 import Control.Applicative.Free
-import Control.Monad.State
+import Control.Monad.IO.Class (MonadIO(..))
+import Control.Monad.Trans.State
 
 import Data.Monoid (Sum(..))
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/free-5.1.7/examples/free-examples.cabal 
new/free-5.1.9/examples/free-examples.cabal
--- old/free-5.1.7/examples/free-examples.cabal 2001-09-09 03:46:40.000000000 
+0200
+++ new/free-5.1.9/examples/free-examples.cabal 2001-09-09 03:46:40.000000000 
+0200
@@ -19,8 +19,9 @@
              , GHC == 8.4.4
              , GHC == 8.6.5
              , GHC == 8.8.4
-             , GHC == 8.10.4
-             , GHC == 9.0.1
+             , GHC == 8.10.7
+             , GHC == 9.0.2
+             , GHC == 9.2.2
 synopsis:      Monads for free
 description:   Examples projects using @free@
 build-type:    Simple
@@ -31,7 +32,6 @@
 
 flag mandelbrot-iter
   default: True
-  manual:  True
 
 library
   hs-source-dirs: .
@@ -42,8 +42,8 @@
     base         == 4.*,
     base-compat  >= 0.6,
     free,
-    mtl          >= 2.0.1 && < 2.3,
-    transformers >= 0.2   && < 0.6
+    mtl          >= 2.0.1 && < 2.4,
+    transformers >= 0.2   && < 0.7
 
 executable free-mandelbrot-iter
   if !flag(mandelbrot-iter)
@@ -53,11 +53,14 @@
   main-is: MandelbrotIter.lhs
   ghc-options: -Wall
   build-depends:
-    base == 4.*,
+    -- This unusually restrictive lower version bound on base is a workaround
+    -- for the fact that X11-1.10 does not build correctly on older versions of
+    -- base (see https://github.com/ekmett/free/runs/3235998897#step:18:237)
+    base >= 4.9 && < 5,
     free,
     HGL          >= 3.2.3.2,
-    mtl          >= 2.0.1 && < 2.3,
-    transformers >= 0.2   && < 0.6
+    mtl          >= 2.0.1 && < 2.4,
+    transformers >= 0.2   && < 0.7
 
 executable free-newton-coiter
   hs-source-dirs: .
@@ -79,9 +82,8 @@
     base         == 4.*,
     fail         == 4.9.*,
     free,
-    mtl          >= 2.0.1 && < 2.3,
     rdtsc,
-    transformers >= 0.2   && < 0.6
+    transformers >= 0.2   && < 0.7
 
 executable free-retry-th
   hs-source-dirs: .
@@ -93,8 +95,8 @@
     base-compat         >= 0.6,
     fail                == 4.9.*,
     free,
-    transformers        >= 0.2   && < 0.6,
-    transformers-compat >= 0.6.4 && < 0.7
+    transformers        >= 0.2   && < 0.7,
+    transformers-compat >= 0.6.4 && < 0.8
 
 executable free-teletype
   hs-source-dirs: .
@@ -116,4 +118,4 @@
     base        == 4.*,
     base-compat >= 0.6,
     free,
-    mtl         >= 2.0.1 && < 2.3
+    transformers >= 0.2 && < 0.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/free-5.1.7/free.cabal new/free-5.1.9/free.cabal
--- old/free-5.1.7/free.cabal   2001-09-09 03:46:40.000000000 +0200
+++ new/free-5.1.9/free.cabal   2001-09-09 03:46:40.000000000 +0200
@@ -1,6 +1,6 @@
 name:          free
 category:      Control, Monads
-version:       5.1.7
+version:       5.1.9
 license:       BSD3
 cabal-version: 1.18
 license-file:  LICENSE
@@ -19,8 +19,9 @@
              , GHC == 8.4.4
              , GHC == 8.6.5
              , GHC == 8.8.4
-             , GHC == 8.10.4
-             , GHC == 9.0.1
+             , GHC == 8.10.7
+             , GHC == 9.0.2
+             , GHC == 9.2.2
 synopsis:      Monads for free
 description:
   Free monads are useful for many tree-like structures and domain specific 
languages.
@@ -89,7 +90,7 @@
     indexed-traversable  >= 0.1.1   && < 0.2,
     semigroupoids        >= 5.3.5   && < 6,
     th-abstraction       >= 0.4.2.0 && < 0.5,
-    transformers         >= 0.3     && < 0.6,
+    transformers         >= 0.3     && < 0.7,
     transformers-base    >= 0.4.5.2 && < 0.5,
     template-haskell     >= 2.7.0.0 && < 2.19
 
@@ -97,10 +98,10 @@
   -- mtl-2.2.* requires transformers >=0.4
   if impl(ghc >=7.10)
     build-depends:
-      mtl               >= 2.2.2 && < 2.3
+      mtl               >= 2.2.2 && < 2.4
   else
     build-depends:
-      mtl               >= 2.1.3.1 && < 2.3
+      mtl               >= 2.1.3.1 && < 2.4
 
   -- recent profunctors dropped support for GHCs older than 7.8
   if impl(ghc >=7.8)
@@ -120,7 +121,7 @@
   if impl(ghc >= 7.10)
     build-depends: transformers >= 0.4.2.0
   else
-    build-depends: transformers-compat >= 0.5.1.0 && <0.7
+    build-depends: transformers-compat >= 0.5.1.0 && <0.8
 
   exposed-modules:
     Control.Applicative.Free
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/free-5.1.7/src/Control/Monad/Free/Class.hs 
new/free-5.1.9/src/Control/Monad/Free/Class.hs
--- old/free-5.1.7/src/Control/Monad/Free/Class.hs      2001-09-09 
03:46:40.000000000 +0200
+++ new/free-5.1.9/src/Control/Monad/Free/Class.hs      2001-09-09 
03:46:40.000000000 +0200
@@ -3,13 +3,15 @@
 {-# LANGUAGE FunctionalDependencies #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE Safe #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE UndecidableInstances #-}
 #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 704
 {-# LANGUAGE DefaultSignatures #-}
 {-# LANGUAGE TypeFamilies #-}
 #endif
+#if !(MIN_VERSION_transformers(0,6,0))
 {-# OPTIONS_GHC -fno-warn-deprecations #-}
-{-# LANGUAGE Safe #-}
+#endif
 #include "free-common.h"
 
 -----------------------------------------------------------------------------
@@ -41,11 +43,14 @@
 import qualified Control.Monad.Trans.RWS.Lazy as Lazy
 import Control.Monad.Trans.Cont
 import Control.Monad.Trans.Maybe
-import Control.Monad.Trans.List
-import Control.Monad.Trans.Error
 import Control.Monad.Trans.Except
 import Control.Monad.Trans.Identity
 
+#if !(MIN_VERSION_transformers(0,6,0))
+import Control.Monad.Trans.Error
+import Control.Monad.Trans.List
+#endif
+
 #if !(MIN_VERSION_base(4,8,0))
 import Control.Applicative
 import Data.Monoid
@@ -139,18 +144,20 @@
 instance (Functor f, MonadFree f m) => MonadFree f (IdentityT m) where
   wrap = IdentityT . wrap . fmap runIdentityT
 
-instance (Functor f, MonadFree f m) => MonadFree f (ListT m) where
-  wrap = ListT . wrap . fmap runListT
-
-instance (Functor f, MonadFree f m, Error e) => MonadFree f (ErrorT e m) where
-  wrap = ErrorT . wrap . fmap runErrorT
-
 instance (Functor f, MonadFree f m) => MonadFree f (ExceptT e m) where
   wrap = ExceptT . wrap . fmap runExceptT
 
 -- instance (Functor f, MonadFree f m) => MonadFree f (EitherT e m) where
 --   wrap = EitherT . wrap . fmap runEitherT
 
+#if !(MIN_VERSION_transformers(0,6,0))
+instance (Functor f, MonadFree f m, Error e) => MonadFree f (ErrorT e m) where
+  wrap = ErrorT . wrap . fmap runErrorT
+
+instance (Functor f, MonadFree f m) => MonadFree f (ListT m) where
+  wrap = ListT . wrap . fmap runListT
+#endif
+
 -- | A version of lift that can be used with just a Functor for f.
 liftF :: (Functor f, MonadFree f m) => f a -> m a
 liftF = wrap . fmap return
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/free-5.1.7/src/Control/Monad/Trans/Free/Ap.hs 
new/free-5.1.9/src/Control/Monad/Trans/Free/Ap.hs
--- old/free-5.1.7/src/Control/Monad/Trans/Free/Ap.hs   2001-09-09 
03:46:40.000000000 +0200
+++ new/free-5.1.9/src/Control/Monad/Trans/Free/Ap.hs   2001-09-09 
03:46:40.000000000 +0200
@@ -318,7 +318,7 @@
 instance (Applicative f, Applicative m, Fail.MonadFail m) => Fail.MonadFail 
(FreeT f m) where
   fail e = FreeT (Fail.fail e)
 
-instance MonadTrans (FreeT f) where
+instance Applicative f => MonadTrans (FreeT f) where
   lift = FreeT . liftM Pure
   {-# INLINE lift #-}
 
@@ -418,9 +418,9 @@
 
 -- | Lift a monad homomorphism from @m@ to @n@ into a monad homomorphism from 
@'FreeT' f m@ to @'FreeT' f n@
 --
--- @'hoistFreeT' :: ('Monad' m, 'Functor' f) => (m ~> n) -> 'FreeT' f m ~> 
'FreeT' f n@
-hoistFreeT :: (Monad m, Applicative f) => (forall a. m a -> n a) -> FreeT f m 
b -> FreeT f n b
-hoistFreeT mh = FreeT . mh . liftM (fmap (hoistFreeT mh)) . runFreeT
+-- @'hoistFreeT' :: ('Functor' m, 'Applicative' f) => (m ~> n) -> 'FreeT' f m 
~> 'FreeT' f n@
+hoistFreeT :: (Functor m, Applicative f) => (forall a. m a -> n a) -> FreeT f 
m b -> FreeT f n b
+hoistFreeT mh = FreeT . mh . fmap (fmap (hoistFreeT mh)) . runFreeT
 
 -- | Lift an applicative homomorphism from @f@ to @g@ into a monad 
homomorphism from @'FreeT' f m@ to @'FreeT' g m@
 transFreeT :: (Monad m, Applicative g) => (forall a. f a -> g a) -> FreeT f m 
b -> FreeT g m b
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/free-5.1.7/src/Control/Monad/Trans/Free/Church.hs 
new/free-5.1.9/src/Control/Monad/Trans/Free/Church.hs
--- old/free-5.1.7/src/Control/Monad/Trans/Free/Church.hs       2001-09-09 
03:46:40.000000000 +0200
+++ new/free-5.1.9/src/Control/Monad/Trans/Free/Church.hs       2001-09-09 
03:46:40.000000000 +0200
@@ -1,5 +1,4 @@
 {-# LANGUAGE CPP #-}
-{-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE RankNTypes #-}
@@ -97,10 +96,20 @@
   compare1 x y = compare1 (fromFT x) (fromFT y)
 #endif
 
-instance (Eq1 (FT f m), Eq a) => Eq (FT f m a) where
+instance ( Functor f, Monad m, Eq1 f, Eq1 m
+# if !(MIN_VERSION_base(4,8,0))
+         , Functor m
+# endif
+         , Eq a
+         ) => Eq (FT f m a) where
   (==) = eq1
 
-instance (Ord1 (FT f m), Ord a) => Ord (FT f m a) where
+instance ( Functor f, Monad m, Ord1 f, Ord1 m
+# if !(MIN_VERSION_base(4,8,0))
+         , Functor m
+# endif
+         , Ord a
+         ) => Ord (FT f m a) where
   compare = compare1
 
 instance Functor (FT f m) where
@@ -172,7 +181,7 @@
   local f = hoistFT (local f)
   {-# INLINE local #-}
 
-instance (Functor f, MonadWriter w m) => MonadWriter w (FT f m) where
+instance (Functor f, Functor m, MonadWriter w m) => MonadWriter w (FT f m) 
where
   tell = lift . tell
   {-# INLINE tell #-}
   listen = toFT . listen . fromFT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/free-5.1.7/src/Control/Monad/Trans/Free.hs 
new/free-5.1.9/src/Control/Monad/Trans/Free.hs
--- old/free-5.1.7/src/Control/Monad/Trans/Free.hs      2001-09-09 
03:46:40.000000000 +0200
+++ new/free-5.1.9/src/Control/Monad/Trans/Free.hs      2001-09-09 
03:46:40.000000000 +0200
@@ -319,7 +319,7 @@
 instance (Functor f, Fail.MonadFail m) => Fail.MonadFail (FreeT f m) where
   fail e = FreeT (Fail.fail e)
 
-instance MonadTrans (FreeT f) where
+instance Functor f => MonadTrans (FreeT f) where
   lift = FreeT . liftM Pure
   {-# INLINE lift #-}
 
@@ -331,13 +331,13 @@
   liftBase = lift . liftBase
   {-# INLINE liftBase #-}
 
-instance (Functor f, MonadReader r m) => MonadReader r (FreeT f m) where
+instance (Functor f, Functor m, MonadReader r m) => MonadReader r (FreeT f m) 
where
   ask = lift ask
   {-# INLINE ask #-}
   local f = hoistFreeT (local f)
   {-# INLINE local #-}
 
-instance (Functor f, MonadWriter w m) => MonadWriter w (FreeT f m) where
+instance (Functor f, Functor m, MonadWriter w m) => MonadWriter w (FreeT f m) 
where
   tell = lift . tell
   {-# INLINE tell #-}
   listen (FreeT m) = FreeT $ liftM concat' $ listen (fmap listen `liftM` m)
@@ -421,9 +421,9 @@
 
 -- | Lift a monad homomorphism from @m@ to @n@ into a monad homomorphism from 
@'FreeT' f m@ to @'FreeT' f n@
 --
--- @'hoistFreeT' :: ('Monad' m, 'Functor' f) => (m ~> n) -> 'FreeT' f m ~> 
'FreeT' f n@
-hoistFreeT :: (Monad m, Functor f) => (forall a. m a -> n a) -> FreeT f m b -> 
FreeT f n b
-hoistFreeT mh = FreeT . mh . liftM (fmap (hoistFreeT mh)) . runFreeT
+-- @'hoistFreeT' :: ('Functor' m, 'Functor' f) => (m ~> n) -> 'FreeT' f m ~> 
'FreeT' f n@
+hoistFreeT :: (Functor m, Functor f) => (forall a. m a -> n a) -> FreeT f m b 
-> FreeT f n b
+hoistFreeT mh = FreeT . mh . fmap (fmap (hoistFreeT mh)) . runFreeT
 
 -- | The very definition of a free monad transformer is that given a natural
 -- transformation you get a monad transformer homomorphism.

Reply via email to