@@ -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 $