git.iko.soy/typeable/cabal2nix
on master help sign in
Re-enabled normalization of the maintainer list when generate the update-calls to cabal2nix.
1130f5dPeter Simons
src/Cabal2Nix.hs+2−2
@@ -62,8 +62,8 @@ main = bracket (return ()) (\() -> hFlush stdout >> hFlush stderr) $ \() -> do
62 let uri = args
62 let uri = args
63 hash = [ h | SHA256 h <- opts ]
63 hash = [ h | SHA256 h <- opts ]
64 noHaddock = NoHaddock `elem` opts
64 noHaddock = NoHaddock `elem` opts
65− maints = [ m | Maintainer m <- opts ]
65+ maints = [ if '.' `elem` m then m else "self.stdenv.lib.maintainers." ++ m | Maintainer m <- opts ]
66− plats' = [ p | Platform p <- opts ]
66+ plats' = [ if '.' `elem` p then p else "self.stdenv.lib.platforms." ++ p | Platform p <- opts ]
67 plats
67 plats
68 | null plats' = if not (null maints) then ["self.ghc.meta.plats"] else []
68 | null plats' = if not (null maints) then ["self.ghc.meta.plats"] else []
69 | otherwise = plats'
69 | otherwise = plats'
src/Hackage4Nix.hs+6−1
@@ -163,7 +163,7 @@ genCabal2NixCmdline (Pkg deriv path _) = unwords $ ["cabal2nix"] ++ opts ++ [">"
163 meta = metaSection deriv
163 meta = metaSection deriv
164 opts = [cabal] ++ maints' ++ plats' ++ if runHaddock deriv then [] else ["--no-haddock"]
164 opts = [cabal] ++ maints' ++ plats' ++ if runHaddock deriv then [] else ["--no-haddock"]
165 cabal = "cabal://" ++ display (pname deriv) ++ "-" ++ display (version deriv)
165 cabal = "cabal://" ++ display (pname deriv) ++ "-" ++ display (version deriv)
166− maints' = [ "--maintainer=" ++ m | m <- maintainers meta ]
166+ maints' = [ "--maintainer=" ++ normalizeMaintainer m | m <- maintainers meta ]
167 plats'
167 plats'
168 | ["self.ghc.meta.platforms"] == platforms meta = []
168 | ["self.ghc.meta.platforms"] == platforms meta = []
169 | otherwise = [ "--platform=" ++ p | p <- platforms meta ]
169 | otherwise = [ "--platform=" ++ p | p <- platforms meta ]
@@ -171,6 +171,11 @@ genCabal2NixCmdline (Pkg deriv path _) = unwords $ ["cabal2nix"] ++ opts ++ [">"
171 | path =~ "/[0-9\\.]+\\.nix$" = replaceFileName path (display (version deriv) <.> "nix")
171 | path =~ "/[0-9\\.]+\\.nix$" = replaceFileName path (display (version deriv) <.> "nix")
172 | otherwise = path
172 | otherwise = path
173
173
174+normalizeMaintainer :: String -> String
175+normalizeMaintainer x
176+ | "self.stdenv.lib.maintainers." `isPrefixOf` x = drop 28 x
177+ | otherwise = x
178+
174data CliOption = PrintHelp | Verbose | HackageDB FilePath
179data CliOption = PrintHelp | Verbose | HackageDB FilePath
175 deriving (Eq)
180 deriving (Eq)
176
181