Skip to content

Commit 409e01f

Browse files
committed
Prevent NonReinstallable Packages from Setup dependencies.
1 parent 7c321e3 commit 409e01f

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

cabal-install/src/Distribution/Client/Dependency.hs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -452,7 +452,16 @@ dontInstallNonReinstallablePackages params =
452452
ConstraintSourceNonReinstallablePackage
453453
| pkgname <- nonReinstallablePackages
454454
]
455-
455+
dontInstallNonReinstallablePackagesSetupOnly :: DepResolverParams -> DepResolverParams
456+
dontInstallNonReinstallablePackagesSetupOnly params =
457+
addConstraints extraConstraints params
458+
where
459+
extraConstraints =
460+
[ LabeledPackageConstraint
461+
(PackageConstraint (ScopeAnySetupQualifier pkgname) PackagePropertyInstalled)
462+
ConstraintSourceNonReinstallablePackage
463+
| pkgname <- nonReinstallablePackages
464+
]
456465
-- | The set of non-reinstallable packages includes those which cannot be
457466
-- rebuilt using a GHC installation and Hackage-published source distribution.
458467
-- There are a few reasons why this might be true:
@@ -851,7 +860,7 @@ resolveDependencies toolchains pkgConfigDB params =
851860
verbosity
852861
) =
853862
if asBool (depResolverAllowBootLibInstalls params)
854-
then params
863+
then dontInstallNonReinstallablePackagesSetupOnly params
855864
else dontInstallNonReinstallablePackages params
856865

857866
preferences :: PackageName -> PackagePreferences

0 commit comments

Comments
 (0)