diff --git a/cabal-install/Distribution/Client/Dependency.hs b/cabal-install/Distribution/Client/Dependency.hs index b5c6184ed89ce2d9ce186dbb5dfe199fbe5d0565..f7a2249f4d9cea7fa7a70a6626cc51d4494bd662 100644 --- a/cabal-install/Distribution/Client/Dependency.hs +++ b/cabal-install/Distribution/Client/Dependency.hs @@ -228,7 +228,8 @@ dontUpgradeBasePackage params = extraConstraints = [ PackageConstraintInstalled pkgname | all (/=PackageName "base") (depResolverTargets params) - , pkgname <- [ PackageName "base", PackageName "ghc-prim" ] + , pkgname <- map PackageName [ "base", "ghc-prim", "integer-gmp" + , "integer-simple", "template-haskell" ] , isInstalled pkgname ] -- TODO: the top down resolver chokes on the base constraints -- below when there are no targets and thus no dep on base. diff --git a/cabal-install/Distribution/Client/Dependency/Modular/Solver.hs b/cabal-install/Distribution/Client/Dependency/Modular/Solver.hs index b1cb0e9bf2beffbcd7265dded0497a6156149c6d..0d9308c61f85cf9acded367b5ef7aefccdf6aa75 100644 --- a/cabal-install/Distribution/Client/Dependency/Modular/Solver.hs +++ b/cabal-install/Distribution/Client/Dependency/Modular/Solver.hs @@ -49,6 +49,10 @@ solve sc idx userPrefs userConstraints userGoals = validateTree idx prunePhase = (if avoidReinstalls sc then P.avoidReinstalls (const True) else id) . -- packages that can never be "upgraded": - P.requireInstalled (`elem` [PackageName "base", - PackageName "ghc-prim"]) + P.requireInstalled (`elem` [ PackageName "base" + , PackageName "ghc-prim" + , PackageName "integer-gmp" + , PackageName "integer-simple" + , PackageName "template-haskell" + ]) buildPhase = buildTree idx (independentGoals sc) userGoals