@@ -395,24 +395,31 @@ dontUpgradeNonUpgradeablePackages params =
395
395
(PackageConstraint (ScopeAnyQualifier pkgname) PackagePropertyInstalled )
396
396
ConstraintSourceNonUpgradeablePackage
397
397
| Set. notMember (mkPackageName " base" ) (depResolverTargets params)
398
- -- If you change this enumeration, make sure to update the list in
399
- -- "Distribution.Solver.Modular.Solver" as well
400
- , pkgname <- [ mkPackageName " base"
401
- , mkPackageName " ghc-bignum"
402
- , mkPackageName " ghc-prim"
403
- , mkPackageName " ghc-boot"
404
- , mkPackageName " ghc"
405
- , mkPackageName " ghci"
406
- , mkPackageName " integer-gmp"
407
- , mkPackageName " integer-simple"
408
- , mkPackageName " template-haskell"
409
- ]
398
+ , pkgname <- nonUpgradeablePackages
410
399
, isInstalled pkgname ]
411
400
412
401
isInstalled = not . null
413
402
. InstalledPackageIndex. lookupPackageName
414
403
(depResolverInstalledPkgIndex params)
415
404
405
+ -- NOTE: the lists of non-upgradable and non-installable packages used to be
406
+ -- respectively in this module and in `Distribution.Solver.Modular.Solver`.
407
+ -- Since they were kept synced, they are now combined in the following list.
408
+ --
409
+ -- See: https://github.com/haskell/cabal/issues/8581
410
+ nonUpgradeablePackages :: [PackageName ]
411
+ nonUpgradeablePackages =
412
+ [ mkPackageName " base"
413
+ , mkPackageName " ghc-bignum"
414
+ , mkPackageName " ghc-prim"
415
+ , mkPackageName " ghc-boot"
416
+ , mkPackageName " ghc"
417
+ , mkPackageName " ghci"
418
+ , mkPackageName " integer-gmp"
419
+ , mkPackageName " integer-simple"
420
+ , mkPackageName " template-haskell"
421
+ ]
422
+
416
423
addSourcePackages :: [UnresolvedSourcePackage ]
417
424
-> DepResolverParams -> DepResolverParams
418
425
addSourcePackages pkgs params =
@@ -469,7 +476,7 @@ removeBounds relKind relDeps params =
469
476
}
470
477
where
471
478
sourcePkgIndex' :: PackageIndex. PackageIndex UnresolvedSourcePackage
472
- sourcePkgIndex' = fmap relaxDeps $ depResolverSourcePkgIndex params
479
+ sourcePkgIndex' = relaxDeps <$> depResolverSourcePkgIndex params
473
480
474
481
relaxDeps :: UnresolvedSourcePackage -> UnresolvedSourcePackage
475
482
relaxDeps srcPkg = srcPkg
@@ -710,7 +717,11 @@ resolveDependencies platform comp pkgConfigDB solver params =
710
717
$ fmap (validateSolverResult platform comp indGoals)
711
718
$ runSolver solver (SolverConfig reordGoals cntConflicts fineGrained minimize
712
719
indGoals noReinstalls
713
- shadowing strFlags allowBootLibs onlyConstrained_ maxBkjumps enableBj
720
+ shadowing strFlags allowBootLibs
721
+ -- See comment of nonUpgradeablePackages about
722
+ -- non-installable and non-upgradable packages.
723
+ nonUpgradeablePackages
724
+ onlyConstrained_ maxBkjumps enableBj
714
725
solveExes order verbosity (PruneAfterFirstSuccess False ))
715
726
platform comp installedPkgIndex sourcePkgIndex
716
727
pkgConfigDB preferences constraints targets
0 commit comments