git.iko.soy/typeable/cabal2nix
on master help sign in
hackage2nix: add auto-jailbreaking and stop hard-coding configureFlags
2a1a10fPeter Simons
src/hackage2nix.hs+3−2
@@ -104,9 +104,10 @@ generatePackageSet hackage nixpkgs = do
104
104
105 -- TODO: Include list of broken dependencies in the generated output.
105 -- TODO: Include list of broken dependencies in the generated output.
106 descr = hackage Map.! name Map.! version
106 descr = hackage Map.! name Map.! version
107− (_, _, drv') = cabal2nix resolver descr
107+ (missingDeps, _, drv') = cabal2nix resolver descr
108 drv = drv' { src = srcSpec, editedCabalFile = if revision drv == 0 then "" else cabalFileHash
108 drv = drv' { src = srcSpec, editedCabalFile = if revision drv == 0 then "" else cabalFileHash
109 , metaSection = (metaSection drv') { broken = not (Set.null missing) } -- Missing Haskell dependencies!
109 , metaSection = (metaSection drv') { broken = not (Set.null missing) } -- Missing Haskell dependencies!
110+ , jailbreak = not (null missingDeps) -- Dependency constraints aren't fulfilled
110 }
111 }
111
112
112 missing :: Set String
113 missing :: Set String
@@ -178,7 +179,7 @@ extraPackages =
178cabal2nix :: (Dependency -> Bool) -> GenericPackageDescription -> ([Dependency], FlagAssignment, Derivation)
179cabal2nix :: (Dependency -> Bool) -> GenericPackageDescription -> ([Dependency], FlagAssignment, Derivation)
179cabal2nix resolver cabal = (missingDeps, flags, drv)
180cabal2nix resolver cabal = (missingDeps, flags, drv)
180 where
181 where
181− drv = (cabal2nix' descr) { configureFlags = [ "-f" ++ (if b then "" else "-") ++ n | (FlagName n, b) <- flags ] }
182+ drv = (cabal2nix' descr) -- { configureFlags = [ "-f" ++ (if b then "" else "-") ++ n | (FlagName n, b) <- flags ] }
182
183
183 Right (descr, flags) = finalize (if null missingDeps then resolver else const True) cabal
184 Right (descr, flags) = finalize (if null missingDeps then resolver else const True) cabal
184
185