git.iko.soy/typeable/cabal2nix
on master help sign in
Provide NFData instance for Configuration type.
aeb6c7cPeter Simons
distribution-nixpkgs/src/Distribution/Nixpkgs/Haskell/FromCabal/Configuration.hs+7−1
@@ -1,3 +1,5 @@
1+{-# LANGUAGE DeriveGeneric #-}
2+
1module Distribution.Nixpkgs.Haskell.FromCabal.Configuration
3module Distribution.Nixpkgs.Haskell.FromCabal.Configuration
2 ( Configuration(..), allPlatforms, linux, darwin, arch32, arch64
4 ( Configuration(..), allPlatforms, linux, darwin, arch32, arch64
3 , module Distribution.Compiler
5 , module Distribution.Compiler
@@ -8,6 +10,7 @@ module Distribution.Nixpkgs.Haskell.FromCabal.Configuration
8 , module Language.Nix.Identifier
10 , module Language.Nix.Identifier
9 ) where
11 ) where
10
12
13+import Control.DeepSeq.Generics
11import Data.Map as Map
14import Data.Map as Map
12import Data.Set as Set
15import Data.Set as Set
13import Distribution.Compiler
16import Distribution.Compiler
@@ -15,6 +18,7 @@ import Distribution.Nixpkgs.Haskell.Constraint
15import Distribution.Package
18import Distribution.Package
16import Distribution.System
19import Distribution.System
17import Distribution.Version
20import Distribution.Version
21+import GHC.Generics ( Generic )
18import Language.Nix.Identifier
22import Language.Nix.Identifier
19
23
20data Configuration = Configuration
24data Configuration = Configuration
@@ -50,7 +54,9 @@ data Configuration = Configuration
50 -- 'maintainers' for a given Haskell package.
54 -- 'maintainers' for a given Haskell package.
51 , packageMaintainers :: Map PackageName (Set Identifier)
55 , packageMaintainers :: Map PackageName (Set Identifier)
52 }
56 }
53− deriving (Show)
57+ deriving (Show, Generic)
58+
59+instance NFData Configuration where rnf = genericRnf
54
60
55allPlatforms :: Set Platform
61allPlatforms :: Set Platform
56allPlatforms = Set.fromList [ Platform I386 Linux, Platform X86_64 Linux
62allPlatforms = Set.fromList [ Platform I386 Linux, Platform X86_64 Linux
distribution-nixpkgs/src/Distribution/Nixpkgs/Haskell/OrphanInstances.hs+3
@@ -57,6 +57,9 @@ instance NFData TestType where rnf = genericRnf
57instance NFData VersionRange where rnf = genericRnf
57instance NFData VersionRange where rnf = genericRnf
58instance NFData a => NFData (Condition a) where rnf = genericRnf
58instance NFData a => NFData (Condition a) where rnf = genericRnf
59instance NFData Platform where rnf = genericRnf
59instance NFData Platform where rnf = genericRnf
60+instance NFData CompilerInfo where rnf = genericRnf
61+instance NFData CompilerId where rnf = genericRnf
62+instance NFData AbiTag where rnf = genericRnf
60
63
61instance IsString PackageName where
64instance IsString PackageName where
62 fromString = text2isString "PackageName"
65 fromString = text2isString "PackageName"