git.iko.soy/typeable/cabal2nix
on master help sign in
Hackage4Nix.hs: re-use normalize function
21fc793Peter Simons
src/Hackage4Nix.hs+6−8
@@ -17,6 +17,7 @@ import Distribution.PackageDescription ( GenericPackageDescription() )
17import Distribution.Text
17import Distribution.Text
18import System.Console.GetOpt ( OptDescr(..), ArgDescr(..), ArgOrder(..), usageInfo, getOpt )
18import System.Console.GetOpt ( OptDescr(..), ArgDescr(..), ArgOrder(..), usageInfo, getOpt )
19import Cabal2Nix.Package
19import Cabal2Nix.Package
20+import Cabal2Nix.Normalize
20import Distribution.NixOS.Derivation.Cabal
21import Distribution.NixOS.Derivation.Cabal
21import Distribution.NixOS.Derivation.Meta
22import Distribution.NixOS.Derivation.Meta
22
23
@@ -116,22 +117,19 @@ updateNixPkgs paths = do
116 let Pkg deriv path regenerate = nix
117 let Pkg deriv path regenerate = nix
117 maints = maintainers (metaSection deriv)
118 maints = maintainers (metaSection deriv)
118 plats = platforms (metaSection deriv)
119 plats = platforms (metaSection deriv)
119− when (null maints) (msgInfo ("no maintainers configured for " ++ path))
120 modify $ \cfg -> cfg { _pkgset = Set.insert nix (_pkgset cfg) }
120 modify $ \cfg -> cfg { _pkgset = Set.insert nix (_pkgset cfg) }
121 when regenerate $ do
121 when regenerate $ do
122 msgDebug ("re-generate " ++ path)
122 msgDebug ("re-generate " ++ path)
123− let maints' = nub (sort (maints ++ ["self.stdenv.lib.maintainers.andres","self.stdenv.lib.maintainers.simons"]))
124− plats'
125− | null plats && not (null maints) = ["self.ghc.meta.platforms"]
126− | otherwise = plats
127 pkg <- readCabalFile (pname deriv) (display (version deriv))
123 pkg <- readCabalFile (pname deriv) (display (version deriv))
128 let deriv' = (cabal2nix pkg) { sha256 = sha256 deriv, runHaddock = runHaddock deriv }
124 let deriv' = (cabal2nix pkg) { sha256 = sha256 deriv, runHaddock = runHaddock deriv }
125+ meta = metaSection deriv'
126+ plats' = if null plats then platforms meta else plats
129− deriv'' = deriv' { metaSection = (metaSection deriv')
127+ deriv'' = deriv' { metaSection = meta
130− { maintainers = maints'
128+ { maintainers = maints ++ ["simons","andres"]
131 , platforms = plats'
129 , platforms = plats'
132 }
130 }
133 }
131 }
134− io $ writeFile path (show (disp deriv''))
132+ io $ writeFile path (show (disp (normalize (deriv''))))
135 pkgset <- gets (selectLatestVersions . _pkgset)
133 pkgset <- gets (selectLatestVersions . _pkgset)
136 updates' <- flip mapM (Set.elems pkgset) $ \pkg -> do
134 updates' <- flip mapM (Set.elems pkgset) $ \pkg -> do
137 let Pkg deriv _ _ = pkg
135 let Pkg deriv _ _ = pkg