Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ghc-these for openSUSE:Factory 
checked in at 2023-06-22 23:25:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-these (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-these.new.15902 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-these"

Thu Jun 22 23:25:36 2023 rev:11 rq:1094452 version:1.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-these/ghc-these.changes      2023-04-04 
21:24:13.050487111 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-these.new.15902/ghc-these.changes   
2023-06-22 23:26:07.833862838 +0200
@@ -1,0 +2,18 @@
+Sat May 27 09:22:59 UTC 2023 - Ondřej Súkup <mimi...@gmail.com>
+
+- Update these to version 1.2.
+  # 1.2
+
+  - Depend on `bifunctor-classes-compat` instead of `bifunctors`
+    See changelog note in `bifunctors-5.6`: 
https://hackage.haskell.org/package/bifunctors-5.6/changelog
+    This is breaking change, but affects only GHC-8.0 and older users.
+    In that case you should check various combinations of newer/older
+    `bifunctors`, `these` (and e.g. `semialign`) packages.
+  - Depend on `assoc-1.1`. Since version 1.1 `assoc` has an almost trivial
+    dependency footprint, so `these` depends on it unconditionally.
+  - Add `Bifoldable1 These` instance
+  - Add `Foldable1 (Data.Functor.These1 f g)` instance
+  - Change `Eq (These1 f g a)`, `Ord`, `Read`, `Show`, `NFData` instances 
similarly to how
+    they are changed for `Product` and `Sum` in `base-4.18.0.0`.
+
+-------------------------------------------------------------------

Old:
----
  these-1.1.1.1.tar.gz
  these.cabal

New:
----
  these-1.2.tar.gz

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

Other differences:
------------------
++++++ ghc-these.spec ++++++
--- /var/tmp/diff_new_pack.bjLbvN/_old  2023-06-22 23:26:09.241870019 +0200
+++ /var/tmp/diff_new_pack.bjLbvN/_new  2023-06-22 23:26:09.245870039 +0200
@@ -19,13 +19,12 @@
 %global pkg_name these
 %global pkgver %{pkg_name}-%{version}
 Name:           ghc-%{pkg_name}
-Version:        1.1.1.1
+Version:        1.2
 Release:        0
 Summary:        An either-or-both data type
 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/6.cabal#/%{pkg_name}.cabal
 BuildRequires:  ghc-Cabal-devel
 BuildRequires:  ghc-assoc-devel
 BuildRequires:  ghc-assoc-prof
@@ -35,6 +34,8 @@
 BuildRequires:  ghc-binary-prof
 BuildRequires:  ghc-deepseq-devel
 BuildRequires:  ghc-deepseq-prof
+BuildRequires:  ghc-foldable1-classes-compat-devel
+BuildRequires:  ghc-foldable1-classes-compat-prof
 BuildRequires:  ghc-hashable-devel
 BuildRequires:  ghc-hashable-prof
 BuildRequires:  ghc-rpm-macros
@@ -90,7 +91,6 @@
 
 %prep
 %autosetup -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
 
 %build
 %ghc_lib_build

++++++ these-1.1.1.1.tar.gz -> these-1.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/these-1.1.1.1/CHANGELOG.md new/these-1.2/CHANGELOG.md
--- old/these-1.1.1.1/CHANGELOG.md      2001-09-09 03:46:40.000000000 +0200
+++ new/these-1.2/CHANGELOG.md  2001-09-09 03:46:40.000000000 +0200
@@ -1,3 +1,17 @@
+# 1.2
+
+- Depend on `bifunctor-classes-compat` instead of `bifunctors`
+  See changelog note in `bifunctors-5.6`: 
https://hackage.haskell.org/package/bifunctors-5.6/changelog
+  This is breaking change, but affects only GHC-8.0 and older users.
+  In that case you should check various combinations of newer/older
+  `bifunctors`, `these` (and e.g. `semialign`) packages.
+- Depend on `assoc-1.1`. Since version 1.1 `assoc` has an almost trivial
+  dependency footprint, so `these` depends on it unconditionally.
+- Add `Bifoldable1 These` instance
+- Add `Foldable1 (Data.Functor.These1 f g)` instance
+- Change `Eq (These1 f g a)`, `Ord`, `Read`, `Show`, `NFData` instances 
similarly to how
+  they are changed for `Product` and `Sum` in `base-4.18.0.0`.
+
 # 1.1.1.1
 
 - Workaround GCC-4 C-preprocessor bug
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/these-1.1.1.1/src/Data/Functor/These.hs 
new/these-1.2/src/Data/Functor/These.hs
--- old/these-1.1.1.1/src/Data/Functor/These.hs 2001-09-09 03:46:40.000000000 
+0200
+++ new/these-1.2/src/Data/Functor/These.hs     2001-09-09 03:46:40.000000000 
+0200
@@ -4,6 +4,7 @@
 {-# LANGUAGE DeriveFunctor      #-}
 {-# LANGUAGE DeriveGeneric      #-}
 {-# LANGUAGE DeriveTraversable  #-}
+{-# LANGUAGE FlexibleContexts   #-}
 {-# LANGUAGE OverloadedStrings  #-}
 {-# LANGUAGE Safe               #-}
 
@@ -23,10 +24,9 @@
     ) where
 
 import Data.Foldable        (Foldable)
-import Data.Functor.Classes
-       (Eq1 (..), Ord1 (..), Read1 (..), Show1 (..), compare1, eq1, readsPrec1,
-       showsPrec1)
+import Data.Functor.Classes (Eq1 (..), Ord1 (..), Read1 (..), Show1 (..))
 import Data.Monoid          (Monoid (..))
+import Data.Semigroup       (Semigroup (..))
 import Data.Traversable     (Traversable)
 import GHC.Generics         (Generic)
 import Prelude
@@ -34,9 +34,13 @@
        Show (..), lex, readParen, return, seq, showChar, showParen, showString,
        ($), (&&), (.))
 
+import qualified Data.Foldable  as F
+import qualified Data.Foldable1 as F1
 
 #if MIN_VERSION_deepseq(1,4,3)
-import Control.DeepSeq (NFData (..), NFData1 (..), rnf1)
+import Control.DeepSeq (NFData (..), NFData1 (..))
+#else
+import Control.DeepSeq (NFData (..))
 #endif
 
 #if __GLASGOW_HASKELL__ >= 706
@@ -190,10 +194,55 @@
 -- Eq, Ord, Show, Read
 -------------------------------------------------------------------------------
 
-instance (Eq1 f, Eq1 g, Eq a) => Eq (These1 f g a) where (==) = eq1
-instance (Ord1 f, Ord1 g, Ord a) => Ord (These1 f g a) where compare = compare1
-instance (Show1 f, Show1 g, Show a) => Show (These1 f g a) where showsPrec = 
showsPrec1
-instance (Read1 f, Read1 g, Read a) => Read (These1 f g a) where readsPrec = 
readsPrec1
+instance (Eq   (f a), Eq   (g a), Eq a)   => Eq (These1 f g a) where
+    This1 f    == This1 f'     = f == f'
+    That1 g    == That1 g'     = g == g'
+    These1 f g == These1 f' g' = f == f' && g == g'
+
+    This1  {} == _ = False
+    That1  {} == _ = False
+    These1 {} == _ = False
+
+instance (Ord  (f a), Ord  (g a), Ord a)  => Ord (These1 f g a) where
+    compare (This1 f) (This1 f') = compare f f'
+    compare (This1 _) _          = LT
+    compare _         (This1 _)  = GT
+
+    compare (That1 g) (That1 g') = compare g g'
+    compare (That1 _) _          = LT
+    compare _         (That1 _)  = GT
+
+    compare  (These1 f g) (These1 f' g') =
+        compare f f' `mappend` compare g g'
+
+instance (Show (f a), Show (g a), Show a) => Show (These1 f g a) where
+    showsPrec d (This1 f) = showParen (d > 10)
+        $ showString "This1 "
+        . showsPrec 11 f
+    showsPrec d (That1 g) = showParen (d > 10)
+        $ showString "That1 "
+        . showsPrec 11 g
+    showsPrec d (These1 f g) = showParen (d > 10)
+        $ showString "These1 "
+        . showsPrec 11 f
+        . showChar ' '
+        . showsPrec 11 g
+
+instance (Read (f a), Read (g a), Read a) => Read (These1 f g a) where
+    readsPrec d = readParen (d > 10) $ \s0 -> do
+        (t, s1) <- lex s0
+        case t of
+            "This1" -> do
+                (x, s2) <- readsPrec 11 s1
+                return (This1 x, s2)
+            "That1" -> do
+                (y, s2) <- readsPrec 11 s1
+                return (That1 y, s2)
+            "These1" -> do
+                (x, s2) <- readsPrec 11 s1
+                (y, s3) <- readsPrec 11 s2
+                return (These1 x y, s3)
+            _ -> []
 
 -------------------------------------------------------------------------------
 -- deepseq
@@ -205,8 +254,34 @@
     liftRnf r (This1 x)    = liftRnf r x
     liftRnf r (That1 y)    = liftRnf r y
     liftRnf r (These1 x y) = liftRnf r x `seq` liftRnf r y
-
--- | This instance is available only with @deepseq >= 1.4.3.0@
-instance (NFData1 f, NFData1 g, NFData a) => NFData (These1 f g a) where
-    rnf = rnf1
 #endif
+
+-- | Available always
+--
+-- @since 1.2
+instance (NFData (f a), NFData (g a), NFData a) => NFData (These1 f g a) where
+    rnf (This1 x)    = rnf x
+    rnf (That1 y)    = rnf y
+    rnf (These1 x y) = rnf x `seq` rnf y
+
+-------------------------------------------------------------------------------
+-- foldable1
+-------------------------------------------------------------------------------
+
+-- | @since 1.2
+instance (F1.Foldable1 f, F1.Foldable1 g) => F1.Foldable1 (These1 f g) where
+    foldMap1 f (This1 x)    = F1.foldMap1 f x
+    foldMap1 f (That1 y)    = F1.foldMap1 f y
+    foldMap1 f (These1 x y) = F1.foldMap1 f x <> F1.foldMap1 f y
+
+    foldrMap1 f g (This1 x)    = F1.foldrMap1 f g x
+    foldrMap1 f g (That1 y)    = F1.foldrMap1 f g y
+    foldrMap1 f g (These1 x y) = F.foldr g (F1.foldrMap1 f g y) x
+
+    head (This1 x)    = F1.head x
+    head (That1 y)    = F1.head y
+    head (These1 x _) = F1.head x
+
+    last (This1 x)    = F1.last x
+    last (That1 y)    = F1.last y
+    last (These1 _ y) = F1.last y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/these-1.1.1.1/src/Data/These/Combinators.hs 
new/these-1.2/src/Data/These/Combinators.hs
--- old/these-1.1.1.1/src/Data/These/Combinators.hs     2001-09-09 
03:46:40.000000000 +0200
+++ new/these-1.2/src/Data/These/Combinators.hs 2001-09-09 03:46:40.000000000 
+0200
@@ -92,6 +92,9 @@
 import Data.Bifunctor.Swap  (swap)
 #endif
 
+-- $setup
+-- >>> import Data.These
+
 -------------------------------------------------------------------------------
 -- bifunctors
 -------------------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/these-1.1.1.1/src/Data/These.hs 
new/these-1.2/src/Data/These.hs
--- old/these-1.1.1.1/src/Data/These.hs 2001-09-09 03:46:40.000000000 +0200
+++ new/these-1.2/src/Data/These.hs     2001-09-09 03:46:40.000000000 +0200
@@ -33,7 +33,7 @@
 
     -- * Distributivity
     --
-    -- | This distributivity combinators aren't isomorphisms!
+    -- | These distributivity combinators aren't isomorphisms!
     , distrThesePair
     , undistrThesePair
     , distrPairThese
@@ -43,6 +43,7 @@
 import Control.Applicative  (Applicative (..), (<$>))
 import Control.DeepSeq      (NFData (..))
 import Data.Bifoldable      (Bifoldable (..))
+import Data.Bifoldable1     (Bifoldable1 (..))
 import Data.Bifunctor       (Bifunctor (..))
 import Data.Binary          (Binary (..))
 import Data.Bitraversable   (Bitraversable (..))
@@ -84,6 +85,8 @@
 
 -- $setup
 -- >>> import Control.Lens
+-- >>> import Data.List.NonEmpty (NonEmpty (..))
+-- >>> import Prelude (Either (..), map, ($))
 
 -- --------------------------------------------------------------------------
 -- | The 'These' type represents values with two non-exclusive possibilities.
@@ -216,8 +219,6 @@
 -- Instances
 -------------------------------------------------------------------------------
 
-
-
 instance (Semigroup a, Semigroup b) => Semigroup (These a b) where
     This  a   <> This  b   = This  (a <> b)
     This  a   <> That    y = These  a             y
@@ -254,9 +255,15 @@
 
 instance Bifoldable These where
     bifold = these id id mappend
+    bifoldMap f g = these f g (\x y -> mappend (f x) (g y))
     bifoldr f g z = these (`f` z) (`g` z) (\x y -> x `f` (y `g` z))
     bifoldl f g z = these (z `f`) (z `g`) (\x y -> (z `f` x) `g` y)
 
+-- | @since 1.2
+instance Bifoldable1 These where
+    bifold1 = these id id (<>)
+    bifoldMap1 f g = these f g (\x y -> f x <> g y)
+
 instance Bitraversable These where
     bitraverse f _ (This x) = This <$> f x
     bitraverse _ g (That x) = That <$> g x
@@ -368,7 +375,6 @@
 -- assoc
 -------------------------------------------------------------------------------
 
-#ifdef MIN_VERSION_assoc
 -- | @since 0.8
 instance Swap These where
     swap (This a)    = That a
@@ -392,7 +398,6 @@
     unassoc (These a (This b))    = This (These a b)
     unassoc (These a (That c))    = These (This a) c
     unassoc (These a (These b c)) = These (These a b) c
-#endif
 
 -------------------------------------------------------------------------------
 -- deepseq
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/these-1.1.1.1/these.cabal new/these-1.2/these.cabal
--- old/these-1.1.1.1/these.cabal       2001-09-09 03:46:40.000000000 +0200
+++ new/these-1.2/these.cabal   2001-09-09 03:46:40.000000000 +0200
@@ -1,8 +1,8 @@
 cabal-version:      >=1.10
 name:               these
-version:            1.1.1.1
+version:            1.2
 synopsis:           An either-or-both data type.
-homepage:           https://github.com/isomorphism/these
+homepage:           https://github.com/haskellari/these
 license:            BSD3
 license-file:       LICENSE
 author:             C. McCann, Oleg Grenrus
@@ -39,27 +39,27 @@
      || ==8.2.2
      || ==8.4.4
      || ==8.6.5
-     || ==8.8.3
-     || ==8.10.1
+     || ==8.8.4
+     || ==8.10.7
+     || ==9.0.2
+     || ==9.2.7
+     || ==9.4.4
+     || ==9.6.1
   , GHCJS ==8.4
 
 source-repository head
   type:     git
-  location: https://github.com/isomorphism/these.git
-
-flag assoc
-  description: Build with assoc dependency
-  manual:      True
-  default:     True
+  location: https://github.com/haskellari/these.git
+  subdir:   these
 
 library
-  default-language: Haskell2010
-  ghc-options:      -Wall
+  default-language:         Haskell2010
+  ghc-options:              -Wall
 
   if impl(ghc >=8.0)
     ghc-options: -Wno-trustworthy-safe
 
-  hs-source-dirs:   src
+  hs-source-dirs:           src
   exposed-modules:
     Data.Functor.These
     Data.These
@@ -67,28 +67,34 @@
 
   -- ghc boot libs
   build-depends:
-      base     >=4.5.1.0 && <4.15
+      base     >=4.5.1.0 && <4.19
     , binary   >=0.5.1.0 && <0.10
     , deepseq  >=1.3.0.0 && <1.5
 
   -- other dependencies
-  build-depends:    hashable >=1.2.7.0 && <1.4
+  -- note: we need to depend on assoc-1.1 to be sure that
+  -- Bifunctor type class comes from bifunctor-classes-compat
+  build-depends:
+      assoc     >=1.1     && <1.2
+    , hashable  >=1.2.7.0 && <1.5
 
   if impl(ghc <7.5)
     build-depends: ghc-prim
 
+  if !impl(ghc >=9.6)
+    build-depends: foldable1-classes-compat >=0.1 && <0.2
+
   if !impl(ghc >=8.2)
-    build-depends: bifunctors >=5.5.4 && <5.6
+    build-depends: bifunctor-classes-compat >=0.1 && <0.2
 
   if !impl(ghc >=8.0)
     build-depends:
-        semigroups           >=0.18.5  && <0.20
-      , transformers         >=0.3.0.0 && <0.6
-      , transformers-compat  >=0.6.5   && <0.7
+        semigroups           >=0.18.5  && <0.21
+      , transformers         >=0.3.0.0 && <0.7
+      , transformers-compat  >=0.6.5   && <0.8
 
     -- Ensure Data.Functor.Classes is always available
     if impl(ghc >=7.10)
       build-depends: transformers >=0.4.2.0
 
-  if flag(assoc)
-    build-depends: assoc >=1 && <1.1
+  x-docspec-extra-packages: lens

Reply via email to