Hello community, here is the log from the commit of package ghc-fgl for openSUSE:Factory checked in at 2015-09-17 09:19:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-fgl (Old) and /work/SRC/openSUSE:Factory/.ghc-fgl.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-fgl" Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-fgl/ghc-fgl.changes 2015-08-23 17:38:55.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-fgl.new/ghc-fgl.changes 2015-09-17 09:19:19.000000000 +0200 @@ -1,0 +2,7 @@ +Sun Sep 13 12:37:41 UTC 2015 - [email protected] + +- update to 5.5.2.3 +* Ensure firing of specialised rules for `PatriciaTree`. +* Better way of only creating `NFData` instances when possible. + +------------------------------------------------------------------- Old: ---- fgl-5.5.2.1.tar.gz New: ---- fgl-5.5.2.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-fgl.spec ++++++ --- /var/tmp/diff_new_pack.1ey02v/_old 2015-09-17 09:19:20.000000000 +0200 +++ /var/tmp/diff_new_pack.1ey02v/_new 2015-09-17 09:19:20.000000000 +0200 @@ -20,7 +20,7 @@ %global pkg_name fgl Name: ghc-fgl -Version: 5.5.2.1 +Version: 5.5.2.3 Release: 0 Summary: Martin Erwig's Functional Graph Library License: BSD-3-Clause ++++++ fgl-5.5.2.1.tar.gz -> fgl-5.5.2.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fgl-5.5.2.1/ChangeLog new/fgl-5.5.2.3/ChangeLog --- old/fgl-5.5.2.1/ChangeLog 2015-07-25 16:24:43.000000000 +0200 +++ new/fgl-5.5.2.3/ChangeLog 2015-09-08 15:50:30.000000000 +0200 @@ -1,3 +1,15 @@ +5.5.2.3 +------- + +* Earlier fix for `NFData` wasn't quite complete/correct. + +5.5.2.2 +------- + +* Ensure firing of specialised rules for `PatriciaTree`. + +* Better way of only creating `NFData` instances when possible. + 5.5.2.1 ------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fgl-5.5.2.1/Data/Graph/Inductive/Graph.hs new/fgl-5.5.2.3/Data/Graph/Inductive/Graph.hs --- old/fgl-5.5.2.1/Data/Graph/Inductive/Graph.hs 2015-07-25 16:24:43.000000000 +0200 +++ new/fgl-5.5.2.3/Data/Graph/Inductive/Graph.hs 2015-09-08 15:50:30.000000000 +0200 @@ -186,22 +186,26 @@ -- | Map a function over the graph. gmap :: (DynGraph gr) => (Context a b -> Context c d) -> gr a b -> gr c d gmap f = ufold (\c->(f c&)) empty +{-# NOINLINE [0] gmap #-} -- | Map a function over the 'Node' labels in a graph. nmap :: (DynGraph gr) => (a -> c) -> gr a b -> gr c b nmap f = gmap (\(p,v,l,s)->(p,v,f l,s)) +{-# NOINLINE [0] nmap #-} -- | Map a function over the 'Edge' labels in a graph. emap :: (DynGraph gr) => (b -> c) -> gr a b -> gr a c emap f = gmap (\(p,v,l,s)->(map1 f p,v,l,map1 f s)) where map1 g = map (first g) +{-# NOINLINE [0] emap #-} -- | Map functions over both the 'Node' and 'Edge' labels in a graph. nemap :: (DynGraph gr) => (a -> c) -> (b -> d) -> gr a b -> gr c d nemap fn fe = gmap (\(p,v,l,s) -> (fe' p,v,fn l,fe' s)) where fe' = map (first fe) +{-# NOINLINE [0] nemap #-} -- | List all 'Node's in the 'Graph'. nodes :: (Graph gr) => gr a b -> [Node] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fgl-5.5.2.1/Data/Graph/Inductive/Internal/Heap.hs new/fgl-5.5.2.3/Data/Graph/Inductive/Internal/Heap.hs --- old/fgl-5.5.2.1/Data/Graph/Inductive/Internal/Heap.hs 2015-07-25 16:24:43.000000000 +0200 +++ new/fgl-5.5.2.3/Data/Graph/Inductive/Internal/Heap.hs 2015-09-08 15:50:30.000000000 +0200 @@ -14,14 +14,14 @@ import Text.Show (showListWith) -#if __GLASGOW_HASKELL__ >= 704 +#if MIN_VERSION_containers (0,4,2) import Control.DeepSeq (NFData (..)) #endif data Heap a b = Empty | Node a b [Heap a b] deriving (Eq, Show, Read) -#if __GLASGOW_HASKELL__ >= 704 +#if MIN_VERSION_containers (0,4,2) instance (NFData a, NFData b) => NFData (Heap a b) where rnf Empty = () rnf (Node a b hs) = rnf a `seq` rnf b `seq` rnf hs diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fgl-5.5.2.1/Data/Graph/Inductive/NodeMap.hs new/fgl-5.5.2.3/Data/Graph/Inductive/NodeMap.hs --- old/fgl-5.5.2.1/Data/Graph/Inductive/NodeMap.hs 2015-07-25 16:24:43.000000000 +0200 +++ new/fgl-5.5.2.3/Data/Graph/Inductive/NodeMap.hs 2015-09-08 15:50:30.000000000 +0200 @@ -34,7 +34,7 @@ import Data.Map (Map) import qualified Data.Map as M -#if __GLASGOW_HASKELL__ >= 704 +#if MIN_VERSION_containers (0,4,2) import Control.DeepSeq (NFData (..)) #endif @@ -43,7 +43,7 @@ key :: Int } deriving (Eq, Show, Read) -#if __GLASGOW_HASKELL__ >= 704 +#if MIN_VERSION_containers (0,4,2) instance (NFData a) => NFData (NodeMap a) where rnf (NodeMap mp k) = rnf mp `seq` rnf k #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fgl-5.5.2.1/Data/Graph/Inductive/PatriciaTree.hs new/fgl-5.5.2.3/Data/Graph/Inductive/PatriciaTree.hs --- old/fgl-5.5.2.1/Data/Graph/Inductive/PatriciaTree.hs 2015-07-25 16:24:43.000000000 +0200 +++ new/fgl-5.5.2.3/Data/Graph/Inductive/PatriciaTree.hs 2015-09-08 15:50:30.000000000 +0200 @@ -34,7 +34,7 @@ import Data.List (sort) import Data.Maybe (fromMaybe) -#if __GLASGOW_HASKELL__ >= 704 +#if MIN_VERSION_containers (0,4,2) import Control.DeepSeq (NFData (..)) #endif @@ -115,7 +115,7 @@ !g3 = addPred g2 v s in Gr g3 -#if __GLASGOW_HASKELL__ >= 704 +#if MIN_VERSION_containers (0,4,2) instance (NFData a, NFData b) => NFData (Gr a b) where rnf (Gr g) = rnf g #endif @@ -185,6 +185,15 @@ f' :: Context' a b -> Context' a c f' (ps, a, ss) = (IM.map (map f) ps, a, IM.map (map f) ss) +{-# RULES + "nemap/Data.Graph.Inductive.PatriciaTree" nemap = fastNEMap + #-} +fastNEMap :: forall a b c d. (a -> c) -> (b -> d) -> Gr a b -> Gr c d +fastNEMap fn fe (Gr g) = Gr (IM.map f g) + where + f :: Context' a b -> Context' c d + f (ps, a, ss) = (IM.map (map fe) ps, fn a, IM.map (map fe) ss) + ---------------------------------------------------------------------- -- UTILITIES ---------------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fgl-5.5.2.1/Data/Graph/Inductive/Tree.hs new/fgl-5.5.2.3/Data/Graph/Inductive/Tree.hs --- old/fgl-5.5.2.1/Data/Graph/Inductive/Tree.hs 2015-07-25 16:24:43.000000000 +0200 +++ new/fgl-5.5.2.3/Data/Graph/Inductive/Tree.hs 2015-09-08 15:50:30.000000000 +0200 @@ -20,7 +20,7 @@ import qualified Data.Map as M import Data.Maybe (fromMaybe) -#if __GLASGOW_HASKELL__ >= 704 +#if MIN_VERSION_containers (0,4,2) import Control.DeepSeq (NFData (..)) #endif @@ -125,7 +125,7 @@ (const (error ("Node Exception, Node: "++show v))) cntxt' = (p,l,s) -#if __GLASGOW_HASKELL__ >= 704 +#if MIN_VERSION_containers (0,4,2) instance (NFData a, NFData b) => NFData (Gr a b) where rnf (Gr g) = rnf g #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fgl-5.5.2.1/fgl.cabal new/fgl-5.5.2.3/fgl.cabal --- old/fgl-5.5.2.1/fgl.cabal 2015-07-25 16:24:43.000000000 +0200 +++ new/fgl-5.5.2.3/fgl.cabal 2015-09-08 15:50:30.000000000 +0200 @@ -1,5 +1,5 @@ name: fgl -version: 5.5.2.1 +version: 5.5.2.3 license: BSD3 license-file: LICENSE author: Martin Erwig, Ivan Lazar Miljenovic @@ -17,10 +17,18 @@ extra-source-files: ChangeLog +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.2, GHC == 7.11.* + source-repository head type: git location: git://github.com/haskell/fgl.git +flag containers042 { + manual: False + default: True +} + library { default-language: Haskell98 @@ -58,12 +66,13 @@ build-depends: base < 5 , transformers - , containers , array - if impl(ghc >= 7.4) - build-depends: - deepseq >= 1.1.0.0 && < 1.5.0.0 + if flag(containers042) + build-depends: containers >= 0.4.2 + , deepseq >= 1.1.0.0 && < 1.5 + else + build-depends: containers < 0.4.2 if impl(ghc >= 7.2) && impl(ghc < 7.6) build-depends: @@ -81,7 +90,7 @@ build-depends: fgl , base , QuickCheck >= 2.8 && < 2.9 - , hspec == 2.1.* + , hspec >= 2.1 && < 2.3 , containers hs-source-dirs: test
