git.iko.soy/typeable/stackage2nix
on master help sign in
Upd: Stack.PrettyPrinting cleanup
9e02554Dmitry Bushev
src/Distribution/Nixpkgs/Haskell/Stack/PrettyPrinting.hs+7−8
@@ -1,5 +1,5 @@
1{-# LANGUAGE OverloadedStrings #-}
1{-# LANGUAGE OverloadedStrings #-}
2−{-# LANGUAGE RankNTypes #-}
2+{-# LANGUAGE Rank2Types #-}
3{-# LANGUAGE TemplateHaskell #-}
3{-# LANGUAGE TemplateHaskell #-}
4
4
5module Distribution.Nixpkgs.Haskell.Stack.PrettyPrinting where
5module Distribution.Nixpkgs.Haskell.Stack.PrettyPrinting where
@@ -15,22 +15,21 @@ 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− }
22
21
23makeLenses ''OverrideConfig
22makeLenses ''OverrideConfig
24
23
25−hasField :: Lens' OverrideConfig (Maybe a) -> OverrideConfig -> Bool
24+hasField :: Lens' a (Maybe b) -> a -> Bool
26hasField p = views p isJust
25hasField p = views p isJust
27
26
28overridePackages :: [Derivation] -> Doc
27overridePackages :: [Derivation] -> Doc
29−overridePackages deps = PP.packageSetConfig . PP.cat $ callPackage <$> deps
28+overridePackages = PP.packageSetConfig . PP.cat . fmap callPackage
30 where
29 where
31− drvNameString = PP.doubleQuotes . disp . pkgName . view pkgid
30+ drvNameQuoted = PP.doubleQuotes . disp . pkgName . view pkgid
32 callPackage drv = hang
31 callPackage drv = hang
33− (drvNameString drv <> " = callPackage") 2
32+ (drvNameQuoted drv <> " = callPackage") 2
34 (PP.parens (PP.pPrint drv) <+> "{};")
33 (PP.parens (PP.pPrint drv) <+> "{};")
35
34
36importStackagePackages :: FilePath -> Doc
35importStackagePackages :: FilePath -> Doc