![](https://seccdn.libravatar.org/avatar/128a7b98d536a9cf9b4d4d5a90d63475.jpg?s=120&d=mm&r=g)
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ghc-base-orphans for openSUSE:Factory checked in at 2023-11-23 21:39:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-base-orphans (Old) and /work/SRC/openSUSE:Factory/.ghc-base-orphans.new.25432 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "ghc-base-orphans" Thu Nov 23 21:39:52 2023 rev:25 rq:1127030 version:0.9.1 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-base-orphans/ghc-base-orphans.changes 2023-04-04 21:18:43.400541206 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-base-orphans.new.25432/ghc-base-orphans.changes 2023-11-23 21:41:13.144753057 +0100 @@ -1,0 +2,9 @@ +Wed Oct 11 11:09:36 UTC 2023 - Peter Simons <psimons@suse.com> + +- Update base-orphans to version 0.9.1. + Upstream has edited the change log file since the last release in + a non-trivial way, i.e. they did more than just add a new entry + at the top. You can review the file at: + http://hackage.haskell.org/package/base-orphans-0.9.1/src/CHANGES.markdown + +------------------------------------------------------------------- Old: ---- base-orphans-0.8.8.2.tar.gz New: ---- base-orphans-0.9.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-base-orphans.spec ++++++ --- /var/tmp/diff_new_pack.VlOPcn/_old 2023-11-23 21:41:13.712773979 +0100 +++ /var/tmp/diff_new_pack.VlOPcn/_new 2023-11-23 21:41:13.712773979 +0100 @@ -20,7 +20,7 @@ %global pkgver %{pkg_name}-%{version} %bcond_with tests Name: ghc-%{pkg_name} -Version: 0.8.8.2 +Version: 0.9.1 Release: 0 Summary: Backwards-compatible orphan instances for base License: MIT ++++++ base-orphans-0.8.8.2.tar.gz -> base-orphans-0.9.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.8.8.2/CHANGES.markdown new/base-orphans-0.9.1/CHANGES.markdown --- old/base-orphans-0.8.8.2/CHANGES.markdown 2001-09-09 03:46:40.000000000 +0200 +++ new/base-orphans-0.9.1/CHANGES.markdown 2001-09-09 03:46:40.000000000 +0200 @@ -1,6 +1,22 @@ -## Changes in 0.8.8.2 [2023.03.07] - - Fix GHC 9.2.1 build error that was accidentally introduced in - `base-orphans-0.8.8`. +## Changes in 0.9.1 [2023.10.11] + - Backport new instances from GHC 9.8/`base-4.19`: + * `Eq` and `Ord` instances for `SChar`, `SNat`, and `SSymbol` + * `Enum`, `Bounded`, `Num`, `Real`, and `Integral` instances for `Compose` + +## Changes in 0.9.0 [2023.03.05] + - Adapt to recent changes to `Down` instances: + * The `Bounded` instance for `Down` was changed in `base-4.15.0.0` to swap + the values of `minBound` and `maxBound` for the underlying type. This + change has now been propagated to `base-orphans`. + * The `Enum` instance for `Down` was removed in `base-4.15.0.0`, but a + different version of the instance was added back in `base-4.18.0.0`, where + `succ` and `pred` are swapped. We have changed the backported version of + this instance in `base-orphans` to match the behavior of the instance + added in `base-4.18.0.0`. + * The `Integral` instance for `Down` was removed from `base` entirely in + `base-4.15.0.0`. We have finally removed it from `base-orphans` in this + release, as it actively makes it more difficult to define the + aforementioned `Enum` instance. ## Changes in 0.8.8.1 [2023.03.05] - Fix GHC 9.4 build error that was accidentally introduced in @@ -10,7 +26,7 @@ - Backport new instances from GHC 9.6.1/`base-4.18.0.0`: * `Functor` instances for the `(,,,,) a b c d`, `(,,,,,) a b c d e`, and `(,,,,,) a b c d e f` tuple types. - * `Eq` and `Ord` instances for `Generically` + * `Eq` and `Ord` instances for `Generically1` ## Changes in 0.8.7 [2022.08.11] - Backport new instances from GHC 9.2.2/`base-4.16.1.0`: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.8.8.2/README.markdown new/base-orphans-0.9.1/README.markdown --- old/base-orphans-0.8.8.2/README.markdown 2001-09-09 03:46:40.000000000 +0200 +++ new/base-orphans-0.9.1/README.markdown 2001-09-09 03:46:40.000000000 +0200 @@ -36,7 +36,7 @@ * `Alternative`, `Eq`, `Ord`, `Read`, `Show`, `Foldable`, and `Traversable` instances for `ZipList` * `Applicative` instance for `K1` from `GHC.Generics` * `Applicative`, `Bits`, `Bounded`, `Data`, `Enum`, `Eq1`, `FiniteBits`, - `Floating`, `Foldable`, `Fractional`, `Functor`, `Integral`, `Ix`, `Ord1`, + `Floating`, `Foldable`, `Fractional`, `Functor`, `Ix`, `Ord1`, `Monad`, `MonadFix`, `MonadZip`, `Monoid`, `Num`, `Read`, `Read1`, `Real`, `RealFloat`, `RealFrac`, `Semigroup`, `Show`, `Show1`, `Storable`, and `Traversable` instances for `Down` @@ -57,8 +57,10 @@ * `Eq`, `Ord`, `Read`, and `Show` instances for data types in `GHC.Generics` * `Eq`, `Ord`, `Bounded`, `Enum`, and `Ix` instances for `Solo` * `Eq` and `Ord` instances for `Generically1` + * `Eq` and `Ord` instances for `SChar`, `SNat`, and `SSymbol` * `Eq1`, `Read1`, and `Show1` instances for `Complex` * `Eq1`, `Ord1`, `Read1`, and `Show1` instances for `NonEmpty` + * `Enum`, `Bounded`, `Num`, `Real`, and `Integral` instances for `Compose` * `Foldable` instance for `Either`, `(,)` and `Const` * `Foldable` and `Traversable` instances for `Alt` from `Data.Monoid` * `Functor`, `Applicative`, and `Monad` instances for @@ -104,6 +106,7 @@ ## Supported versions of GHC/`base` + * `ghc-9.8.*` / `base-4.19.*` * `ghc-9.6.*` / `base-4.18.*` * `ghc-9.4.*` / `base-4.17.*` * `ghc-9.2.*` / `base-4.16.*` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.8.8.2/base-orphans.cabal new/base-orphans-0.9.1/base-orphans.cabal --- old/base-orphans-0.8.8.2/base-orphans.cabal 2001-09-09 03:46:40.000000000 +0200 +++ new/base-orphans-0.9.1/base-orphans.cabal 2001-09-09 03:46:40.000000000 +0200 @@ -1,13 +1,13 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.35.2. +-- This file has been generated from package.yaml by hpack version 0.35.4. -- -- see: https://github.com/sol/hpack -- --- hash: 5f8726da7da713fa7b7a95dea492501a6762a25a36aebbd6bb8931e0d0324660 +-- hash: 4e4482d938177240bd3d33937246a570b07764edf79c92c1609492b56b35944b name: base-orphans -version: 0.8.8.2 +version: 0.9.1 synopsis: Backwards-compatible orphan instances for base description: @base-orphans@ defines orphan instances that mimic instances available in later versions of @base@ to a wider (older) range of compilers. @@ -36,7 +36,7 @@ license-file: LICENSE build-type: Simple tested-with: - GHC == 7.0.4 , GHC == 7.2.2 , GHC == 7.4.2 , GHC == 7.6.3 , GHC == 7.8.4 , GHC == 7.10.3 , GHC == 8.0.2 , GHC == 8.2.2 , GHC == 8.4.4 , GHC == 8.6.5 , GHC == 8.8.4 , GHC == 8.10.7 , GHC == 9.0.2 , GHC == 9.2.1 , GHC == 9.2.7 , GHC == 9.4.4 , GHC == 9.6.1 + GHC == 7.0.4 , GHC == 7.2.2 , GHC == 7.4.2 , GHC == 7.6.3 , GHC == 7.8.4 , GHC == 7.10.3 , GHC == 8.0.2 , GHC == 8.2.2 , GHC == 8.4.4 , GHC == 8.6.5 , GHC == 8.8.4 , GHC == 8.10.7 , GHC == 9.0.2 , GHC == 9.2.8 , GHC == 9.4.5 , GHC == 9.6.2 , GHC == 9.8.1 extra-source-files: CHANGES.markdown README.markdown diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.8.8.2/src/Data/Orphans/Prelude.hs new/base-orphans-0.9.1/src/Data/Orphans/Prelude.hs --- old/base-orphans-0.8.8.2/src/Data/Orphans/Prelude.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/base-orphans-0.9.1/src/Data/Orphans/Prelude.hs 2001-09-09 03:46:40.000000000 +0200 @@ -21,7 +21,7 @@ Note that this module does not export any modules that could introduce name clashes. -} module Data.Orphans.Prelude -#if MIN_VERSION_base(4,18,0) +#if MIN_VERSION_base(4,19,0) () where #else ( module OrphansPrelude diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.8.8.2/src/Data/Orphans.hs new/base-orphans-0.9.1/src/Data/Orphans.hs --- old/base-orphans-0.8.8.2/src/Data/Orphans.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/base-orphans-0.9.1/src/Data/Orphans.hs 2001-09-09 03:46:40.000000000 +0200 @@ -94,7 +94,7 @@ # endif #endif -#if !(MIN_VERSION_base(4,16,1)) || (MIN_VERSION_base(4,17,0) && !(MIN_VERSION_base(4,18,0))) +#if !(MIN_VERSION_base(4,19,0)) import Data.Orphans.Prelude #endif @@ -1188,12 +1188,14 @@ Kleisli f `mplus` Kleisli g = Kleisli $ \x -> f x `mplus` g x {-# INLINE mplus #-} +-- | Swaps @'minBound'@ and @'maxBound'@ of the underlying type. +instance Bounded a => Bounded (Down a) where + minBound = Down maxBound + maxBound = Down minBound + deriving instance Bits a => Bits (Down a) -deriving instance Bounded a => Bounded (Down a) -deriving instance Enum a => Enum (Down a) deriving instance Floating a => Floating (Down a) deriving instance Fractional a => Fractional (Down a) -deriving instance Integral a => Integral (Down a) deriving instance Ix a => Ix (Down a) deriving instance Real a => Real (Down a) deriving instance RealFrac a => RealFrac (Down a) @@ -1974,6 +1976,26 @@ instance Functor ((,,,,,,) a b c d e f) where fmap fun (a, b, c, d, e, f, g) = (a, b, c, d, e, f, fun g) +# if !(MIN_VERSION_base(4,14,0)) || MIN_VERSION_base(4,15,0) +-- | Swaps @'succ'@ and @'pred'@ of the underlying type. +instance (Enum a, Bounded a, Eq a) => Enum (Down a) where + succ = fmap pred + pred = fmap succ + + -- Here we use the fact that 'comparing (complement @Int)' behaves + -- as an order-swapping `compare @Int`. + fromEnum (Down x) = complement $ fromEnum x + toEnum = Down . toEnum . complement + + enumFrom (Down x) + | x == minBound + = [Down x] -- We can't rely on 'enumFromThen _ (pred @a minBound)` behaving nicely, + -- since 'enumFromThen _' might be strict and 'pred minBound' might throw + | otherwise + = coerce $ enumFromThen x (pred x) + enumFromThen (Down x) (Down y) = coerce $ enumFromThen x y +# endif + # if MIN_VERSION_base(4,17,0) instance (Generic1 f, Eq (Rep1 f a)) => Eq (Generically1 f a) where Generically1 x == Generically1 y = from1 x == from1 y @@ -1984,6 +2006,50 @@ # endif #endif +#if !(MIN_VERSION_base(4,19,0)) +# if MIN_VERSION_base(4,9,0) +deriving instance Enum (f (g a)) => Enum (Compose f g a) +deriving instance Bounded (f (g a)) => Bounded (Compose f g a) +deriving instance Num (f (g a)) => Num (Compose f g a) + +-- In base-4.18.0.0, the Ord instance for Compose was simplified to: +-- +-- instance Ord (f (g a)) => Ord (Compose f g a) +-- +-- Before that, the Ord instance was defined as: +-- +-- instance (Ord1 f, Ord1 g, Ord a) => Ord (Compose f g a) +-- +-- This makes deriving Real and Integral instances slightly more complicated for +-- these older versions of base, as there are no Real1 or Integral1 classes. We +-- opt for making the instance contexts more complicated instead. +# if MIN_VERSION_base(4,18,0) +deriving instance Real (f (g a)) => Real (Compose f g a) +deriving instance Integral (f (g a)) => Integral (Compose f g a) +# else +deriving instance (Real (f (g a)), Ord1 f, Ord1 g, Ord a) => Real (Compose f g a) +deriving instance (Integral (f (g a)), Ord1 f, Ord1 g, Ord a) => Integral (Compose f g a) +# endif +# endif + +# if MIN_VERSION_base(4,18,0) +instance Eq (SChar c) where + _ == _ = True +instance Ord (SChar c) where + compare _ _ = EQ + +instance Eq (SNat n) where + _ == _ = True +instance Ord (SNat n) where + compare _ _ = EQ + +instance Eq (SSymbol s) where + _ == _ = True +instance Ord (SSymbol s) where + compare _ _ = EQ +# endif +#endif + #if __GLASGOW_HASKELL__ < 710 deriving instance Typeable All deriving instance Typeable AnnotationWrapper