git.iko.soy/typeable/stackage2nix
on master help sign in
Upd: strict fields
f4e8eecDmitry Bushev
src/Distribution/Nixpkgs/Haskell/Stack.hs+5−5
@@ -28,11 +28,11 @@ unHackageDb :: HackageDb -> String
28unHackageDb = T.unpack . fromHackageDB
28unHackageDb = T.unpack . fromHackageDB
29
29
30data PackageConfig = PackageConfig
30data PackageConfig = PackageConfig
31− { _pcHaskellResolver :: HaskellResolver
31+ { _pcHaskellResolver :: !HaskellResolver
32− , _pcNixpkgsResolver :: NixpkgsResolver
32+ , _pcNixpkgsResolver :: !NixpkgsResolver
33− , _pcTargetPlatform :: Platform
33+ , _pcTargetPlatform :: !Platform
34− , _pcTargetCompiler :: CompilerInfo
34+ , _pcTargetCompiler :: !CompilerInfo
35− , _pcFlagAssignment :: FlagAssignment
35+ , _pcFlagAssignment :: !FlagAssignment
36 }
36 }
37
37
38makeLenses ''PackageConfig
38makeLenses ''PackageConfig
src/Distribution/Nixpkgs/Haskell/Stack/PrettyPrinting.hs+3−3
@@ -15,9 +15,9 @@ import qualified Language.Nix.FilePath as Nix
15import Language.Nix.PrettyPrinting as PP
15import Language.Nix.PrettyPrinting as PP
16
16
17data OverrideConfig = OverrideConfig
17data OverrideConfig = OverrideConfig
18− { _ocGhc :: String
18+ { _ocGhc :: !String
19− , _ocStackagePackages :: Maybe FilePath
19+ , _ocStackagePackages :: !(Maybe FilePath)
20− , _ocStackageConfig :: Maybe FilePath }
20+ , _ocStackageConfig :: !(Maybe FilePath) }
21
21
22makeLenses ''OverrideConfig
22makeLenses ''OverrideConfig
23
23
src/Runner/Cli.hs+6−6
@@ -26,12 +26,12 @@ newtype StackageConfig = StackageConfig { unStackageConfig :: FilePath }
26makePrisms ''StackageConfig
26makePrisms ''StackageConfig
27
27
28data Options = Options
28data Options = Options
29− { _optHackageDb :: Maybe HackageDb
29+ { _optHackageDb :: !(Maybe HackageDb)
30− , _optStackagePackages :: Maybe StackagePackages
30+ , _optStackagePackages :: !(Maybe StackagePackages)
31− , _optStackageConfig :: Maybe StackageConfig
31+ , _optStackageConfig :: !(Maybe StackageConfig)
32− , _optCompilerId :: CompilerId
32+ , _optCompilerId :: !CompilerId
33− , _optPlatform :: Platform
33+ , _optPlatform :: !Platform
34− , _optStackYaml :: FilePath
34+ , _optStackYaml :: !FilePath
35 } deriving (Show)
35 } deriving (Show)
36
36
37makeLenses ''Options
37makeLenses ''Options
src/Stack/Config.hs+6−6
@@ -24,8 +24,8 @@ unStackResolver :: StackResolver -> String
24unStackResolver = T.unpack . fromStackResolver
24unStackResolver = T.unpack . fromStackResolver
25
25
26data RepoGit = RepoGit
26data RepoGit = RepoGit
27− { _rgUri :: Text
27+ { _rgUri :: !Text
28− , _rgCommit :: Text
28+ , _rgCommit :: !Text
29 } deriving (Eq, Ord, Show)
29 } deriving (Eq, Ord, Show)
30
30
31makeLenses ''RepoGit
31makeLenses ''RepoGit
@@ -40,15 +40,15 @@ data PackageLocation
40makePrisms ''PackageLocation
40makePrisms ''PackageLocation
41
41
42data StackPackage = StackPackage
42data StackPackage = StackPackage
43− { _spLocation :: PackageLocation
43+ { _spLocation :: !PackageLocation
44− , _spExtraDep :: Bool
44+ , _spExtraDep :: !Bool
45 } deriving (Eq, Ord, Show)
45 } deriving (Eq, Ord, Show)
46
46
47makeLenses ''StackPackage
47makeLenses ''StackPackage
48
48
49data StackConfig = StackConfig
49data StackConfig = StackConfig
50− { _scResolver :: StackResolver
50+ { _scResolver :: !StackResolver
51− , _scPackages :: [StackPackage]
51+ , _scPackages :: ![StackPackage]
52 } deriving (Eq, Ord, Show)
52 } deriving (Eq, Ord, Show)
53
53
54makeLenses ''StackConfig
54makeLenses ''StackConfig
src/Stack/Config/Yaml.hs+7−7
@@ -12,8 +12,8 @@ import Data.Text as T
12import Stack.Config.TH
12import Stack.Config.TH
13
13
14data Location a = Location
14data Location a = Location
15− { _lLocation :: a
15+ { _lLocation :: !a
16− , _lExtraDep :: Maybe Bool
16+ , _lExtraDep :: !(Maybe Bool)
17 } deriving (Eq, Show)
17 } deriving (Eq, Show)
18
18
19makeLenses ''Location
19makeLenses ''Location
@@ -21,8 +21,8 @@ makeLenses ''Location
21deriveJSON jsonOpts ''Location
21deriveJSON jsonOpts ''Location
22
22
23data Git = Git
23data Git = Git
24− { _gGit :: Text
24+ { _gGit :: !Text
25− , _gCommit :: Text
25+ , _gCommit :: !Text
26 } deriving (Eq, Show)
26 } deriving (Eq, Show)
27
27
28makeLenses ''Git
28makeLenses ''Git
@@ -50,9 +50,9 @@ instance ToJSON Package where
50 LocationGit t -> toJSON t
50 LocationGit t -> toJSON t
51
51
52data Config = Config
52data Config = Config
53− { _cResolver :: Text
53+ { _cResolver :: !Text
54− , _cPackages :: Maybe [Package]
54+ , _cPackages :: !(Maybe [Package])
55− , _cExtraDeps :: Maybe [Text]
55+ , _cExtraDeps :: !(Maybe [Text])
56 } deriving (Eq, Show)
56 } deriving (Eq, Show)
57
57
58makeLenses ''Config
58makeLenses ''Config
stack2nix.cabal+1−1
@@ -41,7 +41,7 @@ library
41 , text
41 , text
42 , yaml
42 , yaml
43 default-language: Haskell2010
43 default-language: Haskell2010
44− ghc-options: -Wall
44+ ghc-options: -Wall -funbox-strict-fields
45
45
46executable stack2nix
46executable stack2nix
47 hs-source-dirs: app
47 hs-source-dirs: app