Hello community, here is the log from the commit of package ghc-tagged for openSUSE:Factory checked in at 2016-02-01 19:57:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-tagged (Old) and /work/SRC/openSUSE:Factory/.ghc-tagged.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-tagged" Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-tagged/ghc-tagged.changes 2015-11-10 10:03:32.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.ghc-tagged.new/ghc-tagged.changes 2016-02-01 19:57:24.000000000 +0100 @@ -1,0 +2,8 @@ +Fri Jan 29 13:14:41 UTC 2016 - [email protected] + +- update to 0.8.3 +* Manual Generic1 support to work around a bug in GHC 7.6 +* Invert the dependency to supply the Semigroup instance ourselves + when building on GHC 8 + +------------------------------------------------------------------- Old: ---- tagged-0.8.2.tar.gz New: ---- tagged-0.8.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-tagged.spec ++++++ --- /var/tmp/diff_new_pack.nwVRKx/_old 2016-02-01 19:57:25.000000000 +0100 +++ /var/tmp/diff_new_pack.nwVRKx/_new 2016-02-01 19:57:25.000000000 +0100 @@ -19,7 +19,7 @@ %global pkg_name tagged Name: ghc-tagged -Version: 0.8.2 +Version: 0.8.3 Release: 0 Summary: Haskell 98 phantom types to avoid unsafely passing dummy arguments License: BSD-3-Clause ++++++ tagged-0.8.2.tar.gz -> tagged-0.8.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tagged-0.8.2/.travis.yml new/tagged-0.8.3/.travis.yml --- old/tagged-0.8.2/.travis.yml 2015-11-03 20:51:55.000000000 +0100 +++ new/tagged-0.8.3/.travis.yml 2016-01-26 22:10:01.000000000 +0100 @@ -41,9 +41,13 @@ compiler: ": #GHC 7.10.1" addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.1,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}} - - env: CABALVER=1.22 GHCVER=7.10.2 BUILD=cabal - compiler: ": #GHC 7.10.2" - addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.2,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}} + - env: CABALVER=1.22 GHCVER=7.10.3 BUILD=cabal + compiler: ": #GHC 7.10.3" + addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.3,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}} + + - env: CABALVER=1.24 GHCVER=8.0.1 BUILD=cabal + compiler: ": #GHC 8.0.1" + addons: {apt: {packages: [cabal-install-1.24,ghc-8.0.1,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}} - env: BUILD=stack os: osx diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tagged-0.8.2/CHANGELOG.markdown new/tagged-0.8.3/CHANGELOG.markdown --- old/tagged-0.8.2/CHANGELOG.markdown 2015-11-03 20:51:55.000000000 +0100 +++ new/tagged-0.8.3/CHANGELOG.markdown 2016-01-26 22:10:01.000000000 +0100 @@ -1,3 +1,8 @@ +0.8.3 +----- +* Manual `Generic1` support to work around a bug in GHC 7.6 +* Invert the dependency to supply the `Semigroup` instance ourselves when building on GHC 8 + 0.8.2 ------- * `deepseq` support. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tagged-0.8.2/old/Data/Proxy.hs new/tagged-0.8.3/old/Data/Proxy.hs --- old/tagged-0.8.2/old/Data/Proxy.hs 2015-11-03 20:51:55.000000000 +0100 +++ new/tagged-0.8.3/old/Data/Proxy.hs 2016-01-26 22:10:01.000000000 +0100 @@ -11,7 +11,9 @@ #endif #if __GLASGOW_HASKELL__ >= 702 {-# LANGUAGE DeriveGeneric #-} +{-# LANGUAGE EmptyDataDecls #-} {-# LANGUAGE Trustworthy #-} +{-# LANGUAGE TypeFamilies #-} #endif {-# OPTIONS_GHC -fno-warn-orphans #-} ---------------------------------------------------------------------------- @@ -45,7 +47,7 @@ import GHC.Arr (unsafeIndex, unsafeRangeSize) import Data.Data #if __GLASGOW_HASKELL__ >= 702 -import GHC.Generics (Generic) +import GHC.Generics hiding (Fixity(..)) #endif #endif @@ -55,6 +57,27 @@ data Proxy s = Proxy #if __GLASGOW_HASKELL__ >= 702 deriving Generic + +-- We have to implement the Generic1 instance manually due to an old +-- bug in GHC 7.6. This is mostly copied from the output of +-- +-- deriving instance Generic1 Proxy +-- +-- Compiled with -ddump-deriv on a more recent GHC. +instance Generic1 Proxy where + type Rep1 Proxy = D1 ProxyMetaData (C1 ProxyMetaCons U1) + from1 Proxy = M1 (M1 U1) + to1 (M1 (M1 U1)) = Proxy + +data ProxyMetaData +data ProxyMetaCons + +instance Datatype ProxyMetaData where + datatypeName _ = "Proxy" + moduleName _ = "Data.Proxy" + +instance Constructor ProxyMetaCons where + conName _ = "Proxy" #endif #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tagged-0.8.2/src/Data/Tagged.hs new/tagged-0.8.3/src/Data/Tagged.hs --- old/tagged-0.8.2/src/Data/Tagged.hs 2015-11-03 20:51:55.000000000 +0100 +++ new/tagged-0.8.3/src/Data/Tagged.hs 2016-01-26 22:10:01.000000000 +0100 @@ -60,9 +60,12 @@ import Data.Data #endif import Data.Ix (Ix(..)) -#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ < 707 +#if __GLASGOW_HASKELL__ < 707 import Data.Proxy #endif +#if __GLASGOW_HASKELL__ >= 800 +import Data.Semigroup (Semigroup(..)) +#endif #if __GLASGOW_HASKELL__ >= 702 import GHC.Generics (Generic) #if __GLASGOW_HASKELL__ >= 706 @@ -137,9 +140,19 @@ readsPrec d = readParen (d > 10) $ \r -> [(Tagged a, t) | ("Tagged", s) <- lex r, (a, t) <- readsPrec 11 s] +#if __GLASGOW_HASKELL__ >= 800 +instance Semigroup a => Semigroup (Tagged s a) where + Tagged a <> Tagged b = Tagged (a <> b) + stimes n (Tagged a) = Tagged (stimes n a) + +instance (Semigroup a, Monoid a) => Monoid (Tagged s a) where + mempty = Tagged mempty + mappend = (<>) +#else instance Monoid a => Monoid (Tagged s a) where mempty = Tagged mempty mappend (Tagged a) (Tagged b) = Tagged (mappend a b) +#endif instance Functor (Tagged s) where fmap f (Tagged x) = Tagged (f x) @@ -162,13 +175,15 @@ {-# INLINE pure #-} Tagged f <*> Tagged x = Tagged (f x) {-# INLINE (<*>) #-} + _ *> n = n + {-# INLINE (*>) #-} instance Monad (Tagged s) where - return = Tagged + return = pure {-# INLINE return #-} Tagged m >>= k = k m {-# INLINE (>>=) #-} - _ >> n = n + (>>) = (*>) {-# INLINE (>>) #-} instance Foldable (Tagged s) where diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tagged-0.8.2/tagged.cabal new/tagged-0.8.3/tagged.cabal --- old/tagged-0.8.2/tagged.cabal 2015-11-03 20:51:55.000000000 +0100 +++ new/tagged-0.8.3/tagged.cabal 2016-01-26 22:10:01.000000000 +0100 @@ -1,5 +1,5 @@ name: tagged -version: 0.8.2 +version: 0.8.3 license: BSD3 license-file: LICENSE author: Edward A. Kmett
