Hello community, here is the log from the commit of package ghc-base-orphans for openSUSE:Factory checked in at 2017-08-31 20:46:22 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-base-orphans (Old) and /work/SRC/openSUSE:Factory/.ghc-base-orphans.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-base-orphans" Thu Aug 31 20:46:22 2017 rev:9 rq:513209 version:0.6 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-base-orphans/ghc-base-orphans.changes 2016-07-21 08:00:32.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-base-orphans.new/ghc-base-orphans.changes 2017-08-31 20:46:23.668250788 +0200 @@ -1,0 +2,5 @@ +Thu Jul 27 14:06:31 UTC 2017 - [email protected] + +- Update to version 0.6. + +------------------------------------------------------------------- Old: ---- base-orphans-0.5.4.tar.gz New: ---- base-orphans-0.6.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-base-orphans.spec ++++++ --- /var/tmp/diff_new_pack.bNNy0H/_old 2017-08-31 20:46:24.908076762 +0200 +++ /var/tmp/diff_new_pack.bNNy0H/_new 2017-08-31 20:46:24.912076200 +0200 @@ -1,7 +1,7 @@ # # spec file for package ghc-base-orphans # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,22 +19,20 @@ %global pkg_name base-orphans %bcond_with tests Name: ghc-%{pkg_name} -Version: 0.5.4 +Version: 0.6 Release: 0 Summary: Backwards-compatible orphan instances for base License: MIT -Group: System/Libraries +Group: Development/Languages/Other Url: https://hackage.haskell.org/package/%{pkg_name} Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz BuildRequires: ghc-Cabal-devel BuildRequires: ghc-rpm-macros BuildRoot: %{_tmppath}/%{name}-%{version}-build -# Begin cabal-rpm deps: %if %{with tests} BuildRequires: ghc-QuickCheck-devel BuildRequires: ghc-hspec-devel %endif -# End cabal-rpm deps %description 'base-orphans' defines orphan instances that mimic instances available in later @@ -60,20 +58,14 @@ %prep %setup -q -n %{pkg_name}-%{version} - %build %ghc_lib_build - %install %ghc_lib_install - %check -%if %{with tests} -%{cabal} test -%endif - +%cabal_test %post devel %ghc_pkg_recache @@ -87,6 +79,6 @@ %files devel -f %{name}-devel.files %defattr(-,root,root,-) -%doc README.markdown +%doc CHANGES.markdown README.markdown %changelog ++++++ base-orphans-0.5.4.tar.gz -> base-orphans-0.6.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.5.4/CHANGES.markdown new/base-orphans-0.6/CHANGES.markdown --- old/base-orphans-0.5.4/CHANGES.markdown 2016-04-11 16:06:11.000000000 +0200 +++ new/base-orphans-0.6/CHANGES.markdown 2017-04-10 15:10:19.000000000 +0200 @@ -1,3 +1,15 @@ +## Changes in 0.6 [2017.04.10] + - Backported new instances from GHC 8.2/`base-4.10` + (see https://github.com/haskell-compat/base-orphans/issues/39): + * `Data` instance for `Const` + * `Eq1`, `Ord1`, `Read1`, and `Show1` instances for `NonEmpty` + * `Semigroup` instances for `IO`, `Event`, and `Lifetime` + - Backported `Typeable` instances for `(:+:)`, `(:*:)`, `(:.:)`, `M1`, `Rec1`, + `ArrowMonad`, `Kleisli`, `WrappedArrow`, `WrappedMonad`, and `Any` on GHC + 7.6 and earlier + - Backported `Data` instances for `(:+:)`, `(:*:)`, `(:.:)`, `M1`, and `Rec1` + on GHC 7.6 and earlier + ## Changes in 0.5.4 - Backported `Bits`, `FiniteBits`, `Floating`, `Fractional`, `Integral`, `IsString`, `Num`, `Real`, `RealFloat`, and `RealFrac` instances for diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.5.4/LICENSE new/base-orphans-0.6/LICENSE --- old/base-orphans-0.5.4/LICENSE 2016-04-11 16:06:11.000000000 +0200 +++ new/base-orphans-0.6/LICENSE 2017-04-10 15:10:19.000000000 +0200 @@ -1,4 +1,4 @@ -Copyright (c) 2015-2016 Simon Hengel <[email protected]>, João Cristóvão <[email protected]>, Ryan Scott <[email protected]> +Copyright (c) 2015-2017 Simon Hengel <[email protected]>, João Cristóvão <[email protected]>, Ryan Scott <[email protected]> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.5.4/README.markdown new/base-orphans-0.6/README.markdown --- old/base-orphans-0.5.4/README.markdown 2016-04-11 16:06:11.000000000 +0200 +++ new/base-orphans-0.6/README.markdown 2017-04-10 15:10:19.000000000 +0200 @@ -40,13 +40,14 @@ * `Bits` instance for `Bool` * `Bits`, `Bounded`, and `Integral` instances for `CDev` * `Bits`, `Bounded`, `Enum`, `FiniteBits`, `Floating`, `Fractional`, `Integral`, `IsString`, `Ix`, `Num`, `Real`, `RealFloat`, `RealFrac`, and `Storable` instances for `Const` and `Identity` - * `Data` instances for `All` and `Any` + * `Data` instances for `All`, `Any`, and `Const` * `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` + * `Eq1`, `Ord1`, `Read1`, and `Show1` instances for `NonEmpty` * `Foldable` instance for `Either`, `(,)` and `Const` * `Functor` instance for `Handler`, `ArgOrder`, `OptDescr`, and `ArgDescr` * `Functor`, `Applicative`, `Alternative`, and `MonadPlus` instances for `ArrowMonad` @@ -58,6 +59,7 @@ * `Num` instance for `Sum` and `Product` * `Read` instance for `Fixed` * `Read` and `Show` instances for `Down` + * `Semigroup` instances for `IO`, `Event` and `Lifetime` * `Show` instance for `Fingerprint` * `Storable` instance for `()`, `Complex`, and `Ratio` * `Traversable` instance for `Either`, `(,)` and `Const` @@ -76,6 +78,8 @@ ## Supported versions of GHC/`base` + * `ghc-8.2.1` / `base-4.10.0.0` + * `ghc-8.0.2` / `base-4.9.1.0` * `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` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.5.4/base-orphans.cabal new/base-orphans-0.6/base-orphans.cabal --- old/base-orphans-0.5.4/base-orphans.cabal 2016-04-11 16:06:11.000000000 +0200 +++ new/base-orphans-0.6/base-orphans.cabal 2017-04-10 15:10:19.000000000 +0200 @@ -1,9 +1,9 @@ --- This file has been generated from package.yaml by hpack version 0.12.0. +-- This file has been generated from package.yaml by hpack version 0.17.0. -- -- see: https://github.com/sol/hpack name: base-orphans -version: 0.5.4 +version: 0.6 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. @@ -16,9 +16,9 @@ maintainer: Simon Hengel <[email protected]>, João Cristóvão <[email protected]>, Ryan Scott <[email protected]> -copyright: (c) 2012-2016 Simon Hengel, - (c) 2014-2016 João Cristóvão, - (c) 2015-2016 Ryan Scott +copyright: (c) 2012-2017 Simon Hengel, + (c) 2014-2017 João Cristóvão, + (c) 2015-2017 Ryan Scott license: MIT license-file: LICENSE build-type: Simple diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.5.4/src/Data/Orphans/Prelude.hs new/base-orphans-0.6/src/Data/Orphans/Prelude.hs --- old/base-orphans-0.5.4/src/Data/Orphans/Prelude.hs 2016-04-11 16:06:11.000000000 +0200 +++ new/base-orphans-0.6/src/Data/Orphans/Prelude.hs 2017-04-10 15:10:19.000000000 +0200 @@ -1,4 +1,9 @@ {-# LANGUAGE CPP #-} + +#if __GLASGOW_HASKELL__ >= 706 +{-# LANGUAGE ExplicitNamespaces #-} +#endif + {-# OPTIONS_GHC -fno-warn-deprecations #-} {-| @@ -10,7 +15,7 @@ Note that this module does not export any modules that could introduce name clashes. -} module Data.Orphans.Prelude -#if MIN_VERSION_base(4,9,0) +#if MIN_VERSION_base(4,10,0) () where #else (module OrphansPrelude, realPart, imagPart) where @@ -25,6 +30,7 @@ import Data.Bits as OrphansPrelude import Data.Char as OrphansPrelude import Data.Complex as OrphansPrelude (Complex(..)) +import Data.Data as OrphansPrelude (Data) import Data.Fixed as OrphansPrelude import Data.Int as OrphansPrelude import Data.Ix as OrphansPrelude @@ -85,7 +91,7 @@ # if MIN_VERSION_base(4,6,0) import GHC.GHCi as OrphansPrelude -import GHC.TypeLits as OrphansPrelude +import GHC.TypeLits as OrphansPrelude hiding (type (*)) # endif # if MIN_VERSION_base(4,6,0) && !(MIN_VERSION_base(4,8,2)) @@ -106,6 +112,12 @@ import Data.Functor.Identity as OrphansPrelude # endif +# if MIN_VERSION_base(4,9,0) +import Data.Functor.Classes as OrphansPrelude +import Data.List.NonEmpty as OrphansPrelude (NonEmpty(..)) +import Data.Semigroup as OrphansPrelude (Semigroup(..), stimesMonoid) +# endif + # if MIN_VERSION_base(4,4,0) realPart, imagPart :: Complex a -> a #else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.5.4/src/Data/Orphans.hs new/base-orphans-0.6/src/Data/Orphans.hs --- old/base-orphans-0.5.4/src/Data/Orphans.hs 2016-04-11 16:06:11.000000000 +0200 +++ new/base-orphans-0.6/src/Data/Orphans.hs 2017-04-10 15:10:19.000000000 +0200 @@ -24,6 +24,10 @@ {-# LANGUAGE NullaryTypeClasses #-} #endif +#if __GLASGOW_HASKELL__ >= 800 +{-# LANGUAGE TypeInType #-} +#endif + {-# OPTIONS_GHC -fno-warn-deprecations #-} {-# OPTIONS_GHC -fno-warn-orphans #-} {-| @@ -65,7 +69,7 @@ # endif #endif -#if !(MIN_VERSION_base(4,9,0)) +#if !(MIN_VERSION_base(4,10,0)) import Data.Orphans.Prelude #endif @@ -877,17 +881,15 @@ empty = Comp1 empty Comp1 x <|> Comp1 y = Comp1 (x <|> y) -# if MIN_VERSION_base(4,7,0) -deriving instance (Data (f p), Typeable f, Data p) => Data (Rec1 f p) -deriving instance (Data p, Data (f p), Typeable c, Typeable i, Typeable f) +deriving instance (Data (f p), Typeable1 f, Data p) => Data (Rec1 f p) +deriving instance (Data p, Data (f p), Typeable c, Typeable i, Typeable1 f) => Data (M1 i c f p) -deriving instance (Typeable f, Typeable g, Data p, Data (f p), Data (g p)) +deriving instance (Typeable1 f, Typeable1 g, Data p, Data (f p), Data (g p)) => Data ((f :+: g) p) -deriving instance (Typeable f, Typeable g, Data p, Data (f p), Data (g p)) +deriving instance (Typeable1 f, Typeable1 g, Data p, Data (f p), Data (g p)) => Data ((f :*: g) p) -deriving instance (Typeable f, Typeable g, Data p, Data (f (g p))) +deriving instance (Typeable1 f, Typeable1 g, Data p, Data (f (g p))) => Data ((f :.: g) p) -# endif # if MIN_VERSION_base(4,8,0) instance Bifunctor (K1 i) where @@ -896,6 +898,46 @@ # endif #endif +#if !(MIN_VERSION_base(4,10,0)) +# if MIN_VERSION_base(4,9,0) +deriving instance (Typeable k, Data a, Typeable (b :: k)) => Data (Const a b) +# else +deriving instance (Data a, Data b) => Data (Const a b) +# endif + +# if MIN_VERSION_base(4,9,0) +instance Eq1 NonEmpty where + liftEq eq (a :| as) (b :| bs) = eq a b && liftEq eq as bs + +instance Ord1 NonEmpty where + liftCompare cmp (a :| as) (b :| bs) = cmp a b <> liftCompare cmp as bs + +instance Read1 NonEmpty where + liftReadsPrec rdP rdL p s = readParen (p > 5) (\s' -> do + (a, s'') <- rdP 6 s' + (":|", s''') <- lex s'' + (as, s'''') <- rdL s''' + return (a :| as, s'''')) s + +instance Show1 NonEmpty where + liftShowsPrec shwP shwL p (a :| as) = showParen (p > 5) $ + shwP 6 a . showString " :| " . shwL as + +instance Semigroup a => Semigroup (IO a) where + (<>) = liftA2 (<>) + +# if !defined(mingw32_HOST_OS) && !defined(ghcjs_HOST_OS) +instance Semigroup Event where + (<>) = mappend + stimes = stimesMonoid + +instance Semigroup Lifetime where + (<>) = mappend + stimes = stimesMonoid +# endif +# endif +#endif + #if __GLASGOW_HASKELL__ < 710 deriving instance Typeable All deriving instance Typeable AnnotationWrapper @@ -984,6 +1026,83 @@ deriving instance Typeable S deriving instance Typeable1 U1 deriving instance Typeable1 V1 + +# if __GLASGOW_HASKELL__ >= 708 +-- Data types which use poly-kinded Typeable... +deriving instance Typeable (:+:) +deriving instance Typeable (:*:) +deriving instance Typeable (:.:) +deriving instance Typeable M1 +deriving instance Typeable Rec1 +# else +-- ...but we can hack around that if need be. +instance (Typeable1 f, Typeable1 g) => Typeable1 (f :+: g) where + typeOf1 t = mkTyConApp conSumTyCon [typeOf1 (f t), typeOf1 (g t)] + where + f :: (f :+: g) p -> f p + f = undefined + + g :: (f :+: g) p -> g p + g = undefined + +conSumTyCon :: TyCon +conSumTyCon = mkTyCon3 ghcGenericsPackage "GHC.Generics" ":+:" + +instance (Typeable1 f, Typeable1 g) => Typeable1 (f :*: g) where + typeOf1 t = mkTyConApp conProductTyCon [typeOf1 (f t), typeOf1 (g t)] + where + f :: (f :*: g) p -> f p + f = undefined + + g :: (f :*: g) p -> g p + g = undefined + +conProductTyCon :: TyCon +conProductTyCon = mkTyCon3 ghcGenericsPackage "GHC.Generics" ":*:" + +instance (Typeable1 f, Typeable1 g) => Typeable1 (f :.: g) where + typeOf1 t = mkTyConApp conComposeTyCon [typeOf1 (f t), typeOf1 (g t)] + where + f :: (f :.: g) p -> f p + f = undefined + + g :: (f :.: g) p -> g p + g = undefined + +conComposeTyCon :: TyCon +conComposeTyCon = mkTyCon3 ghcGenericsPackage "GHC.Generics" ":.:" + +instance (Typeable i, Typeable c, Typeable1 f) => Typeable1 (M1 i c f) where + typeOf1 t = mkTyConApp m1TyCon [typeOf (i t), typeOf (c t), typeOf1 (f t)] + where + i :: M1 i c f p -> i + i = undefined + + c :: M1 i c f p -> c + c = undefined + + f :: M1 i c f p -> f p + f = undefined + +m1TyCon :: TyCon +m1TyCon = mkTyCon3 ghcGenericsPackage "GHC.Generics" "M1" + +instance Typeable1 f => Typeable1 (Rec1 f) where + typeOf1 t = mkTyConApp rec1TyCon [typeOf1 (f t)] + where + f :: Rec1 f a -> f a + f = undefined + +rec1TyCon :: TyCon +rec1TyCon = mkTyCon3 ghcGenericsPackage "GHC.Generics" "Rec1" + +ghcGenericsPackage :: String +# if MIN_VERSION_base(4,6,0) +ghcGenericsPackage = "base" +# else +ghcGenericsPackage = "ghc-prim" +# endif +# endif # endif # if MIN_VERSION_base(4,5,0) @@ -1019,6 +1138,80 @@ # endif # if __GLASGOW_HASKELL__ >= 708 +-- Data types which use poly-kinded Typeable... +deriving instance Typeable ArrowMonad +deriving instance Typeable Kleisli +deriving instance Typeable WrappedArrow +deriving instance Typeable WrappedMonad +deriving instance Typeable Exts.Any +# else +-- ...but we can hack around that if need be. +instance Typeable2 a => Typeable1 (ArrowMonad a) where + typeOf1 t = mkTyConApp arrowMonadTyCon [typeOf2 (a t)] + where + a :: ArrowMonad a b -> a () b + a = undefined + +arrowMonadTyCon :: TyCon +# if MIN_VERSION_base(4,4,0) +arrowMonadTyCon = mkTyCon3 "base" "Control.Arrow" "ArrowMonad" +# else +arrowMonadTyCon = mkTyCon "Control.Arrow.ArrowMonad" +# endif + +instance Typeable1 m => Typeable2 (Kleisli m) where + typeOf2 t = mkTyConApp kleisliTyCon [typeOf1 (m t)] + where + m :: Kleisli m a b -> m b + m = undefined + +kleisliTyCon :: TyCon +# if MIN_VERSION_base(4,4,0) +kleisliTyCon = mkTyCon3 "base" "Control.Arrow" "Kleisli" +# else +kleisliTyCon = mkTyCon "Control.Arrow.Kleisli" +# endif + +instance Typeable2 a => Typeable2 (WrappedArrow a) where + typeOf2 t = mkTyConApp wrappedArrowTyCon [typeOf2 (a t)] + where + a :: WrappedArrow a b c -> a b c + a = undefined + +wrappedArrowTyCon :: TyCon +# if MIN_VERSION_base(4,4,0) +wrappedArrowTyCon = mkTyCon3 "base" "Control.Applicative" "WrappedArrow" +# else +wrappedArrowTyCon = mkTyCon "Control.Applicative.WrappedArrow" +# endif + +instance Typeable1 m => Typeable1 (WrappedMonad m) where + typeOf1 t = mkTyConApp wrappedMonadTyCon [typeOf1 (m t)] + where + m :: WrappedMonad m a -> m a + m = undefined + +wrappedMonadTyCon :: TyCon +# if MIN_VERSION_base(4,4,0) +wrappedMonadTyCon = mkTyCon3 "base" "Control.Applicative" "WrappedMonad" +# else +wrappedMonadTyCon = mkTyCon "Control.Applicative.WrappedMonad" +# endif + +-- GHC will get confused if you try deriving a Typeable instance for Any +-- prior to GHC 7.8, sadly +instance Typeable Exts.Any where + typeOf _ = mkTyConApp anyTyCon [] + +anyTyCon :: TyCon +# if MIN_VERSION_base(4,4,0) +anyTyCon = mkTyCon3 "ghc-prim" "GHC.Prim" "Any" +# else +anyTyCon = mkTyCon "GHC.Prim.Any" +# endif +# endif + +# if __GLASGOW_HASKELL__ >= 708 -- Data types which have more than seven type arguments deriving instance Typeable (,,,,,,,) deriving instance Typeable (,,,,,,,,) @@ -1076,18 +1269,6 @@ deriving instance Typeable (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) deriving instance Typeable (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) --- Data types which require PolyKinds -deriving instance Typeable (:+:) -deriving instance Typeable (:*:) -deriving instance Typeable (:.:) -deriving instance Typeable Exts.Any -deriving instance Typeable ArrowMonad -deriving instance Typeable Kleisli -deriving instance Typeable M1 -deriving instance Typeable Rec1 -deriving instance Typeable WrappedArrow -deriving instance Typeable WrappedMonad - -- Typeclasses deriving instance Typeable Arrow deriving instance Typeable ArrowApply diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-orphans-0.5.4/test/Data/Version/OrphansSpec.hs new/base-orphans-0.6/test/Data/Version/OrphansSpec.hs --- old/base-orphans-0.5.4/test/Data/Version/OrphansSpec.hs 2016-04-11 16:06:11.000000000 +0200 +++ new/base-orphans-0.6/test/Data/Version/OrphansSpec.hs 2017-04-10 15:10:19.000000000 +0200 @@ -17,7 +17,12 @@ spec = do describe "Data Version instance" $ it "allows obtaining a Version constructor" $ - dataTypeName (dataTypeOf (Version [1,2,3] [])) `shouldBe` "Data.Version.Version" + dataTypeName (dataTypeOf (Version [1,2,3] [])) `shouldBe` +#if __GLASGOW_HASKELL__ >= 801 + "Version" +#else + "Data.Version.Version" +#endif #if MIN_VERSION_base(4,7,0) describe "IsList Version instance" $
