git.iko.soy/typeable/cabal2nix
on master help sign in
Improve output: don't include empty fields.
commit76ba70d9cf00bc644b368fa5b395f8c092879924 authorAndres Loeh <mail@andres-loeh.de> dateSat 6 Aug 2011, 22:05 (15 years ago) parente1ce619
1 file changed+9−7
src/Cabal2Nix/Package.hs+9−7
src/Cabal2Nix/Package.hs+9−7
@@ -41,16 +41,17 @@ toNix (Pkg name ver sha256 url desc lic deps libs) = render doc
4141 attr "pname" $ doubleQuotes (text name),
4242 attr "version" $ showVer,
4343 attr "sha256" $ doubleQuotes (text sha256),
44− sep [
45− text "propagatedBuildInputs" <+> equals <+> lbrack,
46− nest 2 $ fsep $ map text pkgDeps,
47− rbrack <> semi
48− ],
44+ onlyIf pkgDeps $
45+ sep [
46+ text "propagatedBuildInputs" <+> equals <+> lbrack,
47+ nest 2 $ fsep $ map text pkgDeps,
48+ rbrack <> semi
49+ ],
4950 vcat [
5051 text "meta" <+> equals <+> lbrace,
5152 nest 2 $ vcat [
52− attr "homepage" $ doubleQuotes (text url),
53− attr "description" $ doubleQuotes (text desc),
53+ onlyIf url $ attr "homepage" $ doubleQuotes (text url),
54+ onlyIf desc $ attr "description" $ doubleQuotes (text desc),
5455 attr "license" $ text (showLic lic)
5556 ],
5657 rbrace <> semi
@@ -59,6 +60,7 @@ toNix (Pkg name ver sha256 url desc lic deps libs) = render doc
5960 rbrace <> rparen
6061 ]
6162 attr n v = text n <+> equals <+> v <> semi
63+ onlyIf p d = if not (null p) then d else empty
6264 showVer = hcat (punctuate (text ".") (map int ver))
6365 pkgDeps :: [String]
6466 pkgDeps = nub $ sort $ map toNixName $