git.iko.soy/typeable/cabal2nix
on master help sign in
cabal2nix: normalize the package description string
ca942e5Peter Simons
src/Cabal2Nix/Package.hs+10−1
@@ -117,7 +117,7 @@ cabal2nix cabal sha256 platforms maintainers =
117 pkgver = showVersion (pkgVersion (package pkg))
117 pkgver = showVersion (pkgVersion (package pkg))
118 lic = license pkg
118 lic = license pkg
119 url = homepage pkg
119 url = homepage pkg
120− desc = synopsis pkg
120+ desc = normalizeDescription (synopsis pkg)
121 -- globalDeps = buildDepends pkg
121 -- globalDeps = buildDepends pkg
122 -- Potentially dangerous: determine a default flattening of the
122 -- Potentially dangerous: determine a default flattening of the
123 -- package description. Better approach: export the conditional
123 -- package description. Better approach: export the conditional
@@ -136,3 +136,12 @@ cabal2nix cabal sha256 platforms maintainers =
136
136
137unDep :: Dependency -> String
137unDep :: Dependency -> String
138unDep (Dependency (PackageName x) _) = x
138unDep (Dependency (PackageName x) _) = x
139+
140+normalizeDescription :: String -> String
141+normalizeDescription desc
142+ | last desc == '.' && length (filter ('.'==) desc) == 1 = reverse (tail (reverse desc))
143+ | otherwise = unwords (words desc) >>= quote
144+
145+quote :: Char -> [Char]
146+quote '"' = "\\\""
147+quote c = [c]