git.iko.soy/typeable/cabal2nix
on master help sign in
Add OrphanInstances module for Cabal related types.
commit7de81de5ebb67fe925147162db8e420d5e96c92c authorPeter Simons <simons@cryp.to> dateWed 12 Aug 2015, 14:25 (11 years ago) parentce03fdf
2 files changed+61−7
src/Distribution/Nixpkgs/Haskell.hs+6−7 src/Distribution/Nixpkgs/Haskell/OrphanInstances.hs+55
src/Distribution/Nixpkgs/Haskell.hs+6−7
@@ -1,6 +1,6 @@
1+{-# LANGUAGE DeriveGeneric #-}
2+{-# LANGUAGE RecordWildCards #-}
13{-# LANGUAGE TemplateHaskell #-}
2−{-# LANGUAGE RecordWildCards, DeriveGeneric #-}
3−{-# OPTIONS_GHC -fno-warn-orphans #-} -- for FlagName below
44
55module Distribution.Nixpkgs.Haskell
66 ( Derivation, nullDerivation, pkgid, revision, src, isLibrary, isExecutable
@@ -14,17 +14,18 @@ module Distribution.Nixpkgs.Haskell
1414
1515import Control.DeepSeq.Generics
1616import Control.Lens
17+import Data.List
1718import Data.Set ( Set )
1819import qualified Data.Set as Set
1920import Data.Set.Lens
20−import Data.List
21−import Language.Nix.Identifier
22−import Distribution.Nixpkgs.Meta
2321import Distribution.Nixpkgs.Fetch
22+import Distribution.Nixpkgs.Haskell.OrphanInstances ( )
23+import Distribution.Nixpkgs.Meta
2424import Distribution.Nixpkgs.Util.PrettyPrinting
2525import Distribution.Package
2626import Distribution.PackageDescription ( FlagAssignment, FlagName(..) )
2727import GHC.Generics ( Generic )
28+import Language.Nix.Identifier
2829
2930data BuildInfo = BuildInfo
3031 { _haskell :: Set Identifier
@@ -107,8 +108,6 @@ instance NFData BuildInfo where rnf = genericRnf
107108
108109instance NFData Derivation where rnf = genericRnf
109110
110−instance NFData FlagName where rnf = genericRnf
111−
112111instance Pretty Derivation where
113112 pPrint drv@(MkDerivation {..}) = funargs (map text ("mkDerivation" : toAscList inputs)) $$ vcat
114113 [ text "mkDerivation" <+> lbrace
src/Distribution/Nixpkgs/Haskell/OrphanInstances.hsnew file+55
@@ -0,0 +1,55 @@
1+{-# LANGUAGE DeriveGeneric #-}
2+{-# LANGUAGE StandaloneDeriving #-}
3+{-# OPTIONS_GHC -fno-warn-orphans #-}
4+
5+module Distribution.Nixpkgs.Haskell.OrphanInstances ( ) where
6+
7+import Control.DeepSeq.Generics
8+import Distribution.Compiler
9+import Distribution.License
10+import Distribution.ModuleName hiding ( main )
11+import Distribution.Package
12+import Distribution.PackageDescription
13+import Distribution.System
14+import Distribution.Version
15+import GHC.Generics ( Generic )
16+import Language.Haskell.Extension
17+
18+deriving instance Generic (CondTree v c a)
19+deriving instance Generic (Condition a)
20+deriving instance Generic ConfVar
21+deriving instance Generic Flag
22+deriving instance Generic GenericPackageDescription
23+
24+instance (NFData v, NFData c, NFData a) => NFData (CondTree v c a) where rnf = genericRnf
25+instance NFData Arch where rnf = genericRnf
26+instance NFData Benchmark where rnf = genericRnf
27+instance NFData BenchmarkInterface where rnf = genericRnf
28+instance NFData BenchmarkType where rnf = genericRnf
29+instance NFData BuildInfo where rnf = genericRnf
30+instance NFData BuildType where rnf = genericRnf
31+instance NFData CompilerFlavor where rnf = genericRnf
32+instance NFData ConfVar where rnf = genericRnf
33+instance NFData Dependency where rnf = genericRnf
34+instance NFData Executable where rnf = genericRnf
35+instance NFData Extension where rnf = genericRnf
36+instance NFData Flag where rnf = genericRnf
37+instance NFData FlagName where rnf = genericRnf
38+instance NFData GenericPackageDescription where rnf = genericRnf
39+instance NFData KnownExtension where rnf = genericRnf
40+instance NFData Language where rnf = genericRnf
41+instance NFData Library where rnf = genericRnf
42+instance NFData License where rnf = genericRnf
43+instance NFData ModuleName where rnf = genericRnf
44+instance NFData ModuleReexport where rnf = genericRnf
45+instance NFData ModuleRenaming where rnf = genericRnf
46+instance NFData OS where rnf = genericRnf
47+instance NFData PackageDescription where rnf = genericRnf
48+instance NFData RepoKind where rnf = genericRnf
49+instance NFData RepoType where rnf = genericRnf
50+instance NFData SourceRepo where rnf = genericRnf
51+instance NFData TestSuite where rnf = genericRnf
52+instance NFData TestSuiteInterface where rnf = genericRnf
53+instance NFData TestType where rnf = genericRnf
54+instance NFData VersionRange where rnf = genericRnf
55+instance NFData a => NFData (Condition a) where rnf = genericRnf