git.iko.soy/typeable/cabal2nix
on master help sign in
lib: clean up the cabal2nix function
8810b21Peter Simons
src/Cabal2nix.hs+2−6
@@ -38,7 +38,7 @@ import Paths_cabal2nix ( version )
38import System.Environment ( getArgs )
38import System.Environment ( getArgs )
39import System.IO ( hFlush, hPutStrLn, stdout, stderr )
39import System.IO ( hFlush, hPutStrLn, stdout, stderr )
40import qualified Text.PrettyPrint.ANSI.Leijen as P2
40import qualified Text.PrettyPrint.ANSI.Leijen as P2
41−import Text.PrettyPrint.HughesPJClass ( Doc, Pretty(..), text, vcat, hcat, semi )
41+import Text.PrettyPrint.HughesPJClass ( Doc, Pretty(..), text, vcat, hcat, semi, render, prettyShow )
42
42
43data Options = Options
43data Options = Options
44 { optSha256 :: Maybe String
44 { optSha256 :: Maybe String
@@ -253,11 +253,7 @@ processPackage Options{..} pkg = do
253 pure $ if optNixShellOutput then Left shell else Right deriv
253 pure $ if optNixShellOutput then Left shell else Right deriv
254
254
255cabal2nix :: [String] -> IO ()
255cabal2nix :: [String] -> IO ()
256−cabal2nix args = do
256+cabal2nix = cabal2nix' >=> putStrLn . either render prettyShow
257− v <- cabal2nix' args
258− print $ case v of
259− Left shell -> shell
260− Right d -> pPrint d
261
257
262readFlagList :: [String] -> FlagAssignment
258readFlagList :: [String] -> FlagAssignment
263readFlagList = mkFlagAssignment . map tagWithValue
259readFlagList = mkFlagAssignment . map tagWithValue