diff --git a/Distribution/Simple/Configure.hs b/Distribution/Simple/Configure.hs index a38b264a5fd..3c53b038ea0 100644 --- a/Distribution/Simple/Configure.hs +++ b/Distribution/Simple/Configure.hs @@ -356,7 +356,9 @@ configure (pkg_descr0, pbi) cfg InstalledPackageInfo.package = packageId pkg_descr, InstalledPackageInfo.depends = dep_pkgs } - case PackageIndex.dependencyInconsistencies packageDependsIndex pseudoTopPkg of + case PackageIndex.dependencyInconsistencies + . PackageIndex.insert pseudoTopPkg + $ packageDependsIndex of [] -> return () inconsistencies -> warn verbosity $ diff --git a/Distribution/Simple/PackageIndex.hs b/Distribution/Simple/PackageIndex.hs index b3a4d2a16ae..16cc159787c 100644 --- a/Distribution/Simple/PackageIndex.hs +++ b/Distribution/Simple/PackageIndex.hs @@ -281,9 +281,8 @@ dependencyClosure index pkgids0 = case closure [] [] pkgids0 of -- dependencyInconsistencies :: PackageFixedDeps pkg => PackageIndex pkg - -> pkg -> [(String, [(PackageIdentifier, Version)])] -dependencyInconsistencies index topPkg = +dependencyInconsistencies index = [ (name, inconsistencies) | (name, uses) <- Map.toList inverseIndex , let inconsistencies = duplicatesBy uses @@ -291,7 +290,7 @@ dependencyInconsistencies index topPkg = where inverseIndex = Map.fromListWith (++) [ (packageName dep, [(packageId pkg, packageVersion dep)]) - | pkg <- topPkg : allPackages index + | pkg <- allPackages index , dep <- depends pkg ] duplicatesBy = (\groups -> if length groups == 1