git.iko.soy/typeable/cabal2nix
on master help sign in
hackage2nix: show missing dependencies in the overrides list
commit04ad5f44a4b4e5aa2b177aefde32e163c894a0bc authorPeter Simons <simons@cryp.to> dateSun 4 Jan 2015, 19:14 (12 years ago) parent34b38ce
1 file changed+8−2
src/hackage2nix.hs+8−2
src/hackage2nix.hs+8−2
@@ -91,6 +91,9 @@ generatePackage hackage resolver nixpkgs name version descr = do
9191 let Just cabalFileHash = lookup "x-cabal-file-hash" (customFieldsPD (packageDescription descr))
9292
9393 -- TODO: Include list of broken dependencies in the generated output.
94+ -- Currently, we add overrides that set "pkgname = null", but this is
95+ -- unsatisfactory because these dependencies may very well work when building
96+ -- the same package set with a different GHC version.
9497 (missingDeps,drv') <- case cabal2nix resolver descr of
9598 Left ds -> do let Right x = cabal2nix (const True) descr
9699 return (ds,x)
@@ -114,8 +117,11 @@ generatePackage hackage resolver nixpkgs name version descr = do
114117 | otherwise = text " inherit (pkgs) " <> hsep (map text (Set.toAscList conflicts)) <> text "; "
115118
116119 missing :: Set String
117− missing = Set.union (Set.fromList (filter (not . isKnownNixpkgAttribute nixpkgs hackage) (extraLibs drv ++ pkgConfDeps drv ++ buildTools drv)))
118− (selectMissingHackageNames (Set.fromList (buildDepends drv ++ testDepends drv)))
120+ missing = Set.unions
121+ [ Set.fromList (filter (not . isKnownNixpkgAttribute nixpkgs hackage) (extraLibs drv ++ pkgConfDeps drv ++ buildTools drv))
122+ , selectMissingHackageNames (Set.fromList (buildDepends drv ++ testDepends drv))
123+ , Set.fromList [ n | Dependency (PackageName n) _ <- missingDeps ]
124+ ]
119125
120126 missingOverrides :: Doc
121127 missingOverrides | Set.null missing = empty