File tree Expand file tree Collapse file tree 2 files changed +7
-4
lines changed
cabal-install/Distribution Expand file tree Collapse file tree 2 files changed +7
-4
lines changed Original file line number Diff line number Diff line change @@ -492,16 +492,14 @@ addDefaultSetupDependencies defaultSetupDeps params =
492492 pkgdesc = PD. packageDescription gpkgdesc
493493
494494-- | If a package has a custom setup then we need to add a setup-depends
495- -- on Cabal. For now it's easier to add this unconditionally. Once
496- -- qualified constraints land we can turn this into a custom setup
497- -- only constraint.
495+ -- on Cabal.
498496--
499497addSetupCabalMinVersionConstraint :: Version
500498 -> DepResolverParams -> DepResolverParams
501499addSetupCabalMinVersionConstraint minVersion =
502500 addConstraints
503501 [ LabeledPackageConstraint
504- (PackageConstraint (scopeToplevel cabalPkgname)
502+ (PackageConstraint (ScopeAnySetupQualifier cabalPkgname)
505503 (PackagePropertyVersion $ orLaterVersion minVersion))
506504 ConstraintSetupCabalMinVersion
507505 ]
Original file line number Diff line number Diff line change @@ -38,6 +38,9 @@ import qualified Text.PrettyPrint as Disp
3838data ConstraintScope
3939 -- | The package with the specified name and qualifier.
4040 = ScopeQualified Qualifier PackageName
41+ -- | The package with the specified name when it has a
42+ -- setup qualifier.
43+ | ScopeAnySetupQualifier PackageName
4144 -- | The package with the specified name regardless of
4245 -- qualifier.
4346 | ScopeAnyQualifier PackageName
@@ -52,11 +55,13 @@ scopeToplevel = ScopeQualified QualToplevel
5255-- | Returns the package name associated with a constraint scope.
5356scopeToPackageName :: ConstraintScope -> PackageName
5457scopeToPackageName (ScopeQualified _ pn) = pn
58+ scopeToPackageName (ScopeAnySetupQualifier pn) = pn
5559scopeToPackageName (ScopeAnyQualifier pn) = pn
5660
5761-- | Pretty-prints a constraint scope.
5862dispConstraintScope :: ConstraintScope -> Disp. Doc
5963dispConstraintScope (ScopeQualified q pn) = dispQualifier q <<>> disp pn
64+ dispConstraintScope (ScopeAnySetupQualifier pn) = Disp. text " setup." <<>> disp pn
6065dispConstraintScope (ScopeAnyQualifier pn) = Disp. text " any." <<>> disp pn
6166
6267-- | A package property is a logical predicate on packages.
You can’t perform that action at this time.
0 commit comments