git.iko.soy/typeable/cabal2nix
on master help sign in
hackage2nix (resolveConstraint'): fix logic bug

The resolveConstraint' function was undefined for constraints that resulted in an empty version set.

commitd6a1ca2af2609127b463215646f1c55275b5955a authorPeter Simons <simons@cryp.to> dateWed 9 Sep 2015, 14:54 (11 years ago) parent2dbdd4d
1 file changed+5−2
hackage2nix/src/Main.hs+5−2
hackage2nix/src/Main.hs+5−2
@@ -46,8 +46,11 @@ resolveConstraint c = fromMaybe (error msg) . resolveConstraint' c
4646 where msg = "constraint " ++ display c ++ " cannot be resolved in Hackage"
4747
4848resolveConstraint' :: Constraint -> Hackage -> Maybe Version
49−resolveConstraint' (Dependency (PackageName name) vrange) hackage =
50− Set.findMax . Set.filter (`withinRange` vrange) . Map.keysSet <$> Map.lookup name hackage
49+resolveConstraint' (Dependency (PackageName name) vrange) hackage
50+ | Just vset' <- Map.lookup name hackage
51+ , vset <- Set.filter (`withinRange` vrange) (Map.keysSet vset')
52+ , not (Set.null vset) = Just (Set.findMax vset)
53+ | otherwise = Nothing
5154
5255data Options = Options
5356 { hackageRepository :: FilePath