Hello community,
here is the log from the commit of package ghc-base-orphans for openSUSE:Factory checked in at 2016-01-28 17:23:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-base-orphans (Old)
and /work/SRC/openSUSE:Factory/.ghc-base-orphans.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-base-orphans"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-base-orphans/ghc-base-orphans.changes 2015-12-23 08:50:12.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-base-orphans.new/ghc-base-orphans.changes 2016-01-28 17:24:30.000000000 +0100
@@ -1,0 +2,6 @@
+Wed Jan 20 08:48:09 UTC 2016 - mimi.vx@gmail.com
+
+- update to 0.5.0
+* Backported instances introduced in GHC 8.0/base-4.9
+
+-------------------------------------------------------------------
Old:
----
base-orphans-0.4.5.tar.gz
New:
----
base-orphans-0.5.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-base-orphans.spec ++++++
--- /var/tmp/diff_new_pack.HLOfB0/_old 2016-01-28 17:24:30.000000000 +0100
+++ /var/tmp/diff_new_pack.HLOfB0/_new 2016-01-28 17:24:30.000000000 +0100
@@ -20,7 +20,7 @@
%bcond_with tests
Name: ghc-base-orphans
-Version: 0.4.5
+Version: 0.5.0
Release: 0
Summary: Backwards-compatible orphan instances for base
Group: System/Libraries
++++++ base-orphans-0.4.5.tar.gz -> base-orphans-0.5.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.4.5/CHANGES.markdown new/base-orphans-0.5.0/CHANGES.markdown
--- old/base-orphans-0.4.5/CHANGES.markdown 2015-12-15 18:26:53.000000000 +0100
+++ new/base-orphans-0.5.0/CHANGES.markdown 2016-01-15 03:45:07.000000000 +0100
@@ -1,3 +1,8 @@
+## Changes in 0.5.0
+ - GHC 8.0 compatibility
+ - Backported instances introduced in GHC 8.0/`base-4.9`
+ (see https://github.com/haskell-compat/base-orphans/issues/32)
+
## Changes in 0.4.5
- Import `Control.Monad.Instances` (which exports `Functor` and `Monad`
instances for `(->) r`, and `Functor` instances for `(,) a` and `Either a`)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.4.5/README.markdown new/base-orphans-0.5.0/README.markdown
--- old/base-orphans-0.4.5/README.markdown 2015-12-15 18:26:53.000000000 +0100
+++ new/base-orphans-0.5.0/README.markdown 2016-01-15 03:45:07.000000000 +0100
@@ -31,25 +31,33 @@
## What is covered
- * Added `Applicative` and `Alternative` instances for `ReadP` and `ReadPrec`
- * Added `Bits`, `Bounded`, and `Integral` instances for `CDev`
- * Added `Eq` and `Ord` instances for `Control.Exception.ErrorCall`
- * Added `Eq`, `Ord`, `Read`, and `Show` instances for data types in `GHC.Generics`
- * Added `Functor`, `Applicative`, `Alternative`, and `MonadPlus` instances for `ArrowMonad`
- * Added `Functor`, `Applicative`, and `Monad` instances for `First` and `Last`
- * Added `Monoid`, `Eq`, `Ord`, `Read`, and `Show` instances for `Const`
- * Added `Read` and `Show` instances for `Down`
- * Added `Eq`, `Ord`, `Read`, and `Show` instances for `ZipList`
- * Added `Monad` instance for `WrappedMonad`
- * Added `Data` and `IsList` instances for `Version`
+ * `Applicative` and `Alternative` instances for `ReadP` and `ReadPrec`
* `Applicative` instance for strict and lazy `ST`
+ * `Applicative`, `Foldable`, `Functor`, `Monad`, and `Traversable` instances for `Complex`,
+ `Dual`, `First`, `Last`, `Product`, and `Sum`
* `Bits` instance for `Bool`
+ * `Bits`, `Bounded`, and `Integral` instances for `CDev`
+ * `Bounded`, `Enum`, `Ix`, and `Storable` instances for `Const` and `Identity`
+ * `Data` instances for `All` and `Any`
+ * `Data`, `MonadFix` and `MonadZip` instances for `Alt`, `Dual`, `First`, `Last`,
+ `Product`, and `Sum`
+ * `Data` and `IsList` instances for `Version`
+ * `Eq` and `Ord` instances for `Control.Exception.ErrorCall`
+ * `Eq`, `Ord`, `Read`, and `Show` instances for data types in `GHC.Generics`
+ * `Eq`, `Ord`, `Read`, `Show`, `Foldable`, and `Traversable` instances for `ZipList`
* `Foldable` instance for `Either`, `(,)` and `Const`
* `Functor` instance for `Handler`, `ArgOrder`, `OptDescr`, and `ArgDescr`
+ * `Functor`, `Applicative`, `Alternative`, and `MonadPlus` instances for `ArrowMonad`
+ * `Monad` instance for `(,)`
+ * `Monad` instance for `WrappedMonad`
+ * `MonadZip` instance for `Maybe`
+ * `Monoid`, `Eq`, `Ord`, `Read`, and `Show` instances for `Const`
+ * `Monoid` instances for `Identity` and `IO`
* `Num` instance for `Sum` and `Product`
* `Read` instance for `Fixed`
+ * `Read` and `Show` instances for `Down`
* `Show` instance for `Fingerprint`
- * `Storable` instance for `Complex` and `Ratio`
+ * `Storable` instance for `()`, `Complex`, and `Ratio`
* `Traversable` instance for `Either`, `(,)` and `Const`
* `Typeable` instance for most data types, typeclasses, and promoted data constructors (when possible)
@@ -60,9 +68,14 @@
[`Generics.Deriving.Instances`](https://hackage.haskell.org/package/generic-deriving-1.8.0/docs/Generics-Der...)
module of the [`generic-deriving`](https://hackage.haskell.org/package/generic-deriving)
library.
+* The `Alternative IO` and `MonadPlus IO` instances. These can be found in the
+ [`Control.Monad.Trans.Error`](http://hackage.haskell.org/package/transformers-0.4.3.0/docs/src/Control-Mon...)
+ module of the [`transformers`](http://hackage.haskell.org/package/transformers) library.
## Supported versions of GHC/`base`
+ * `ghc-8.0.1` / `base-4.9.0.0`
+ * `ghc-7.10.3` / `base-4.8.2.0`
* `ghc-7.10.2` / `base-4.8.1.0`
* `ghc-7.10.1` / `base-4.8.0.0`
* `ghc-7.8.4` / `base-4.7.0.2`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.4.5/base-orphans.cabal new/base-orphans-0.5.0/base-orphans.cabal
--- old/base-orphans-0.4.5/base-orphans.cabal 2015-12-15 18:26:53.000000000 +0100
+++ new/base-orphans-0.5.0/base-orphans.cabal 2016-01-15 03:45:07.000000000 +0100
@@ -1,71 +1,71 @@
--- This file has been generated from package.yaml by hpack version 0.8.0.
---
--- see: https://github.com/sol/hpack
-
-name: base-orphans
-version: 0.4.5
-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. @base-orphans@ does not export anything except the orphan instances themselves and complements @<http://hackage.haskell.org/package/base-compat base-compat>@.
- See the README for what instances are covered: https://github.com/haskell-compat/base-orphans#readme. See also the <https://github.com/haskell-compat/base-orphans#what-is-not-covered what is not covered> section.
-category: Compatibility
-homepage: https://github.com/haskell-compat/base-orphans#readme
-bug-reports: https://github.com/haskell-compat/base-orphans/issues
-author: Simon Hengel ,
- João Cristóvão ,
- Ryan Scott
-maintainer: Simon Hengel ,
- João Cristóvão ,
- Ryan Scott
-copyright: (c) 2012-2015 Simon Hengel,
- (c) 2014 João Cristóvão,
- (c) 2015 Ryan Scott
-license: MIT
-license-file: LICENSE
-build-type: Simple
-cabal-version: >= 1.10
-
-extra-source-files:
- CHANGES.markdown
- README.markdown
-
-source-repository head
- type: git
- location: https://github.com/haskell-compat/base-orphans
-
-library
- hs-source-dirs:
- src
- ghc-options: -Wall
- build-depends:
- base >= 4.3 && < 5,
- ghc-prim
- exposed-modules:
- Data.Orphans
- other-modules:
- Data.Orphans.Prelude
- default-language: Haskell2010
-
-test-suite spec
- type: exitcode-stdio-1.0
- main-is: Spec.hs
- hs-source-dirs:
- test
- ghc-options: -Wall
- build-depends:
- base >= 4.3 && < 5,
- base-orphans,
- hspec == 2.*,
- QuickCheck
- other-modules:
- Control.Applicative.OrphansSpec
- Control.Exception.OrphansSpec
- Data.Bits.OrphansSpec
- Data.Foldable.OrphansSpec
- Data.Monoid.OrphansSpec
- Data.Traversable.OrphansSpec
- Data.Version.OrphansSpec
- Foreign.Storable.OrphansSpec
- GHC.Fingerprint.OrphansSpec
- System.Posix.Types.IntWord
- System.Posix.Types.OrphansSpec
- default-language: Haskell2010
+-- This file has been generated from package.yaml by hpack version 0.8.0.
+--
+-- see: https://github.com/sol/hpack
+
+name: base-orphans
+version: 0.5.0
+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. @base-orphans@ does not export anything except the orphan instances themselves and complements @<http://hackage.haskell.org/package/base-compat base-compat>@.
+ See the README for what instances are covered: https://github.com/haskell-compat/base-orphans#readme. See also the <https://github.com/haskell-compat/base-orphans#what-is-not-covered what is not covered> section.
+category: Compatibility
+homepage: https://github.com/haskell-compat/base-orphans#readme
+bug-reports: https://github.com/haskell-compat/base-orphans/issues
+author: Simon Hengel ,
+ João Cristóvão ,
+ Ryan Scott
+maintainer: Simon Hengel ,
+ João Cristóvão ,
+ Ryan Scott
+copyright: (c) 2012-2015 Simon Hengel,
+ (c) 2014 João Cristóvão,
+ (c) 2015 Ryan Scott
+license: MIT
+license-file: LICENSE
+build-type: Simple
+cabal-version: >= 1.10
+
+extra-source-files:
+ CHANGES.markdown
+ README.markdown
+
+source-repository head
+ type: git
+ location: https://github.com/haskell-compat/base-orphans
+
+library
+ hs-source-dirs:
+ src
+ ghc-options: -Wall
+ build-depends:
+ base >= 4.3 && < 5,
+ ghc-prim
+ exposed-modules:
+ Data.Orphans
+ other-modules:
+ Data.Orphans.Prelude
+ default-language: Haskell2010
+
+test-suite spec
+ type: exitcode-stdio-1.0
+ main-is: Spec.hs
+ hs-source-dirs:
+ test
+ ghc-options: -Wall
+ build-depends:
+ base >= 4.3 && < 5,
+ base-orphans,
+ hspec == 2.*,
+ QuickCheck
+ other-modules:
+ Control.Applicative.OrphansSpec
+ Control.Exception.OrphansSpec
+ Data.Bits.OrphansSpec
+ Data.Foldable.OrphansSpec
+ Data.Monoid.OrphansSpec
+ Data.Traversable.OrphansSpec
+ Data.Version.OrphansSpec
+ Foreign.Storable.OrphansSpec
+ GHC.Fingerprint.OrphansSpec
+ System.Posix.Types.IntWord
+ System.Posix.Types.OrphansSpec
+ default-language: Haskell2010
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.4.5/src/Data/Orphans/Prelude.hs new/base-orphans-0.5.0/src/Data/Orphans/Prelude.hs
--- old/base-orphans-0.4.5/src/Data/Orphans/Prelude.hs 2015-12-15 18:26:53.000000000 +0100
+++ new/base-orphans-0.5.0/src/Data/Orphans/Prelude.hs 2016-01-15 03:45:07.000000000 +0100
@@ -10,7 +10,7 @@
Note that this module does not export any modules that could introduce name clashes.
-}
module Data.Orphans.Prelude
-#if MIN_VERSION_base(4,8,0)
+#if MIN_VERSION_base(4,9,0)
() where
#else
(module OrphansPrelude) where
@@ -100,4 +100,8 @@
import Control.Concurrent.SampleVar as OrphansPrelude
# endif
+# if MIN_VERSION_base(4,8,0)
+import Data.Functor.Identity as OrphansPrelude
+# endif
+
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.4.5/src/Data/Orphans.hs new/base-orphans-0.5.0/src/Data/Orphans.hs
--- old/base-orphans-0.4.5/src/Data/Orphans.hs 2015-12-15 18:26:53.000000000 +0100
+++ new/base-orphans-0.5.0/src/Data/Orphans.hs 2016-01-15 03:45:07.000000000 +0100
@@ -5,6 +5,7 @@
{-# LANGUAGE DeriveTraversable #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
@@ -42,13 +43,16 @@
import Control.Monad.Instances ()
#endif
-#if __GLASGOW_HASKELL__ < 710
-import Control.Exception as Exception
-import Control.Monad.ST.Lazy as Lazy
+#if !(MIN_VERSION_base(4,9,0))
import Data.Data as Data
import qualified Data.Foldable as F (Foldable(..))
import Data.Monoid as Monoid
import qualified Data.Traversable as T (Traversable(..))
+#endif
+
+#if __GLASGOW_HASKELL__ < 710
+import Control.Exception as Exception
+import Control.Monad.ST.Lazy as Lazy
import GHC.Exts as Exts
import GHC.IO.Exception as Exception
import Text.ParserCombinators.ReadP as ReadP
@@ -60,7 +64,7 @@
# endif
#endif
-#if !(MIN_VERSION_base(4,8,0))
+#if !(MIN_VERSION_base(4,9,0))
import Data.Orphans.Prelude
#endif
@@ -392,6 +396,242 @@
pokeElemOff q 1 i
#endif
+#if !(MIN_VERSION_base(4,9,0))
+instance Storable () where
+ sizeOf _ = 0
+ alignment _ = 1
+ peek _ = return ()
+ poke _ _ = return ()
+
+deriving instance Bounded a => Bounded (Const a b)
+deriving instance Enum a => Enum (Const a b)
+deriving instance Ix a => Ix (Const a b)
+deriving instance Storable a => Storable (Const a b)
+
+deriving instance Data All
+deriving instance Data Monoid.Any
+deriving instance Data a => Data (Dual a)
+deriving instance Data a => Data (First a)
+deriving instance Data a => Data (Last a)
+deriving instance Data a => Data (Product a)
+deriving instance Data a => Data (Sum a)
+
+instance F.Foldable Dual where
+ foldMap = coerce
+
+ foldl = coerce
+ foldl1 _ = getDual
+ foldr f z (Dual x) = f x z
+ foldr1 _ = getDual
+# if MIN_VERSION_base(4,6,0)
+ foldl' = coerce
+ foldr' = F.foldr
+# endif
+# if MIN_VERSION_base(4,8,0)
+ elem = (. getDual) #. (==)
+ length _ = 1
+ maximum = getDual
+ minimum = getDual
+ null _ = False
+ product = getDual
+ sum = getDual
+ toList (Dual x) = [x]
+# endif
+
+instance F.Foldable Sum where
+ foldMap = coerce
+
+ foldl = coerce
+ foldl1 _ = getSum
+ foldr f z (Sum x) = f x z
+ foldr1 _ = getSum
+# if MIN_VERSION_base(4,6,0)
+ foldl' = coerce
+ foldr' = F.foldr
+# endif
+# if MIN_VERSION_base(4,8,0)
+ elem = (. getSum) #. (==)
+ length _ = 1
+ maximum = getSum
+ minimum = getSum
+ null _ = False
+ product = getSum
+ sum = getSum
+ toList (Sum x) = [x]
+# endif
+
+instance F.Foldable Product where
+ foldMap = coerce
+
+ foldl = coerce
+ foldl1 _ = getProduct
+ foldr f z (Product x) = f x z
+ foldr1 _ = getProduct
+# if MIN_VERSION_base(4,6,0)
+ foldl' = coerce
+ foldr' = F.foldr
+# endif
+# if MIN_VERSION_base(4,8,0)
+ elem = (. getProduct) #. (==)
+ length _ = 1
+ maximum = getProduct
+ minimum = getProduct
+ null _ = False
+ product = getProduct
+ sum = getProduct
+ toList (Product x) = [x]
+# endif
+
+# if MIN_VERSION_base(4,8,0)
+(#.) :: Coercible b c => (b -> c) -> (a -> b) -> (a -> c)
+(#.) _f = coerce
+# endif
+
+# if !(MIN_VERSION_base(4,7,0))
+coerce :: a -> b
+coerce = unsafeCoerce
+# endif
+
+instance Functor Dual where
+ fmap = coerce
+
+instance Applicative Dual where
+ pure = Dual
+ (<*>) = coerce
+
+instance Monad Dual where
+ return = Dual
+ m >>= k = k (getDual m)
+
+instance Functor Sum where
+ fmap = coerce
+
+instance Applicative Sum where
+ pure = Sum
+ (<*>) = coerce
+
+instance Monad Sum where
+ return = Sum
+ m >>= k = k (getSum m)
+
+instance Functor Product where
+ fmap = coerce
+
+instance Applicative Product where
+ pure = Product
+ (<*>) = coerce
+
+instance Monad Product where
+ return = Product
+ m >>= k = k (getProduct m)
+
+instance F.Foldable First where
+ foldMap f = F.foldMap f . getFirst
+
+instance F.Foldable Last where
+ foldMap f = F.foldMap f . getLast
+
+instance Monoid a => Monoid (IO a) where
+ mempty = pure mempty
+ mappend = liftA2 mappend
+
+-- see: #10190 https://git.haskell.org/ghc.git/commitdiff/9db005a444722e31aca1956b058e069bc...
+instance Monoid a => Monad ((,) a) where
+ return x = (mempty, x)
+ (u, a) >>= k = case k a of (v, b) -> (u `mappend` v, b)
+
+instance MonadFix Dual where
+ mfix f = Dual (fix (getDual . f))
+
+instance MonadFix Sum where
+ mfix f = Sum (fix (getSum . f))
+
+instance MonadFix Product where
+ mfix f = Product (fix (getProduct . f))
+
+instance MonadFix First where
+ mfix f = First (mfix (getFirst . f))
+
+instance MonadFix Last where
+ mfix f = Last (mfix (getLast . f))
+
+instance T.Traversable Dual where
+ traverse f (Dual x) = Dual <$> f x
+
+instance T.Traversable Sum where
+ traverse f (Sum x) = Sum <$> f x
+
+instance T.Traversable Product where
+ traverse f (Product x) = Product <$> f x
+
+instance T.Traversable First where
+ traverse f (First x) = First <$> T.traverse f x
+
+instance T.Traversable Last where
+ traverse f (Last x) = Last <$> T.traverse f x
+
+deriving instance F.Foldable ZipList
+deriving instance T.Traversable ZipList
+
+# if MIN_VERSION_base(4,4,0)
+deriving instance Functor Complex
+deriving instance F.Foldable Complex
+deriving instance T.Traversable Complex
+
+instance Applicative Complex where
+ pure a = a :+ a
+ f :+ g <*> a :+ b = f a :+ g b
+
+instance Monad Complex where
+ return a = a :+ a
+ a :+ b >>= f = realPart (f a) :+ imagPart (f b)
+
+-- | Extracts the real part of a complex number.
+realPart :: Complex a -> a
+realPart (x :+ _) = x
+
+-- | Extracts the imaginary part of a complex number.
+imagPart :: Complex a -> a
+imagPart (_ :+ y) = y
+
+instance MonadZip Dual where
+ -- Cannot use coerce, it's unsafe
+ mzipWith = liftM2
+
+instance MonadZip Sum where
+ mzipWith = liftM2
+
+instance MonadZip Product where
+ mzipWith = liftM2
+
+instance MonadZip Maybe where
+ mzipWith = liftM2
+
+instance MonadZip First where
+ mzipWith = liftM2
+
+instance MonadZip Last where
+ mzipWith = liftM2
+# endif
+
+# if MIN_VERSION_base(4,8,0)
+deriving instance (Data (f a), Typeable f, Typeable a)
+ => Data (Alt (f :: * -> *) (a :: *))
+
+instance MonadFix f => MonadFix (Alt f) where
+ mfix f = Alt (mfix (getAlt . f))
+
+instance MonadZip f => MonadZip (Alt f) where
+ mzipWith f (Alt ma) (Alt mb) = Alt (mzipWith f ma mb)
+
+deriving instance Bounded a => Bounded (Identity a)
+deriving instance Enum a => Enum (Identity a)
+deriving instance Ix a => Ix (Identity a)
+deriving instance Monoid a => Monoid (Identity a)
+deriving instance Storable a => Storable (Identity a)
+# endif
+#endif
+
#if __GLASGOW_HASKELL__ < 710
deriving instance Typeable All
deriving instance Typeable AnnotationWrapper