diff --git a/cabal-install/Distribution/Solver/Compat/Prelude.hs b/cabal-install/Distribution/Solver/Compat/Prelude.hs
new file mode 100644
index 0000000000000000000000000000000000000000..b2388700f27aee90991347cf4ea00773cc6c36ca
--- /dev/null
+++ b/cabal-install/Distribution/Solver/Compat/Prelude.hs
@@ -0,0 +1,19 @@
+-- to suppress WARNING in "Distribution.Compat.Prelude.Internal"
+{-# OPTIONS_GHC -fno-warn-deprecations #-}
+
+-- | This module does two things:
+--
+-- * Acts as a compatiblity layer, like @base-compat@.
+--
+-- * Provides commonly used imports.
+--
+-- This module is a superset of "Distribution.Compat.Prelude" (which
+-- this module re-exports)
+--
+module Distribution.Solver.Compat.Prelude
+  ( module Distribution.Compat.Prelude.Internal
+  , Prelude.IO
+  ) where
+
+import Prelude (IO)
+import Distribution.Compat.Prelude.Internal hiding (IO)
diff --git a/cabal-install/Distribution/Solver/Modular/Linking.hs b/cabal-install/Distribution/Solver/Modular/Linking.hs
index 5f63eac1cb2e091bdf9100fd0c2549547651552f..8d20b940ca8d28f9d7b1055202f2c16d78199f6c 100644
--- a/cabal-install/Distribution/Solver/Modular/Linking.hs
+++ b/cabal-install/Distribution/Solver/Modular/Linking.hs
@@ -5,7 +5,7 @@ module Distribution.Solver.Modular.Linking (
   ) where
 
 import Prelude ()
-import Distribution.Client.Compat.Prelude hiding (get,put)
+import Distribution.Solver.Compat.Prelude hiding (get,put)
 
 import Control.Exception (assert)
 import Control.Monad.Reader
diff --git a/cabal-install/Distribution/Solver/Modular/Log.hs b/cabal-install/Distribution/Solver/Modular/Log.hs
index 68abb7412dd9b2c97331bf2475aad350fa0bf2af..f80352e7406342a80fa4f02bbcf98b62b0806417 100644
--- a/cabal-install/Distribution/Solver/Modular/Log.hs
+++ b/cabal-install/Distribution/Solver/Modular/Log.hs
@@ -4,7 +4,7 @@ module Distribution.Solver.Modular.Log
     ) where
 
 import Prelude ()
-import Distribution.Client.Compat.Prelude
+import Distribution.Solver.Compat.Prelude
 
 import Data.List as L
 
diff --git a/cabal-install/Distribution/Solver/Modular/Preference.hs b/cabal-install/Distribution/Solver/Modular/Preference.hs
index 1c9e6db6c44c8cfe5b12afe0f418c920c660fe72..758d35aaee3cd4e4662ee97b5530382d50b24f6b 100644
--- a/cabal-install/Distribution/Solver/Modular/Preference.hs
+++ b/cabal-install/Distribution/Solver/Modular/Preference.hs
@@ -17,7 +17,7 @@ module Distribution.Solver.Modular.Preference
     ) where
 
 import Prelude ()
-import Distribution.Client.Compat.Prelude
+import Distribution.Solver.Compat.Prelude
 
 import Data.Function (on)
 import qualified Data.List as L
diff --git a/cabal-install/Distribution/Solver/Types/ComponentDeps.hs b/cabal-install/Distribution/Solver/Types/ComponentDeps.hs
index 312e40b5c68e051c29f0a75f86a3ca1078dcd3f3..63df935b08a3f4507eba1ce3f07c4330bdc8b93b 100644
--- a/cabal-install/Distribution/Solver/Types/ComponentDeps.hs
+++ b/cabal-install/Distribution/Solver/Types/ComponentDeps.hs
@@ -38,7 +38,7 @@ module Distribution.Solver.Types.ComponentDeps (
 
 import Prelude ()
 import Distribution.Types.UnqualComponentName
-import Distribution.Client.Compat.Prelude hiding (empty,zip)
+import Distribution.Solver.Compat.Prelude hiding (empty,zip)
 
 import qualified Data.Map as Map
 import Data.Foldable (fold)
diff --git a/cabal-install/Distribution/Solver/Types/PackageConstraint.hs b/cabal-install/Distribution/Solver/Types/PackageConstraint.hs
index a54aa4d812ab76ac5136c69b868f01cecf80c15b..46eb29ee92a7dff5673b528bf04e4399e9ab5be6 100644
--- a/cabal-install/Distribution/Solver/Types/PackageConstraint.hs
+++ b/cabal-install/Distribution/Solver/Types/PackageConstraint.hs
@@ -24,7 +24,7 @@ import Distribution.PackageDescription (FlagAssignment, dispFlagAssignment)
 import Distribution.Types.Dependency   (Dependency(..))
 import Distribution.Version            (VersionRange, simplifyVersionRange)
 
-import Distribution.Client.Compat.Prelude ((<<>>))
+import Distribution.Solver.Compat.Prelude ((<<>>))
 import Distribution.Solver.Types.OptionalStanza
 import Distribution.Solver.Types.PackagePath
 
diff --git a/cabal-install/Distribution/Solver/Types/PackageIndex.hs b/cabal-install/Distribution/Solver/Types/PackageIndex.hs
index 262edccbfa929e4d7f1acd9e481d1a212ce30399..a9272307179a9b503b0362c70f2a865594a19eca 100644
--- a/cabal-install/Distribution/Solver/Types/PackageIndex.hs
+++ b/cabal-install/Distribution/Solver/Types/PackageIndex.hs
@@ -46,7 +46,7 @@ module Distribution.Solver.Types.PackageIndex (
   ) where
 
 import Prelude ()
-import Distribution.Client.Compat.Prelude hiding (lookup)
+import Distribution.Solver.Compat.Prelude hiding (lookup)
 
 import Control.Exception (assert)
 import qualified Data.Map as Map
diff --git a/cabal-install/Distribution/Solver/Types/PackagePath.hs b/cabal-install/Distribution/Solver/Types/PackagePath.hs
index 3e7615a2b9b3a788804ba071bd3865df13422c6c..94f9150b03201924e415c86d7ba28080ef08905a 100644
--- a/cabal-install/Distribution/Solver/Types/PackagePath.hs
+++ b/cabal-install/Distribution/Solver/Types/PackagePath.hs
@@ -12,7 +12,7 @@ module Distribution.Solver.Types.PackagePath
 import Distribution.Package
 import Distribution.Text
 import qualified Text.PrettyPrint as Disp
-import Distribution.Client.Compat.Prelude ((<<>>))
+import Distribution.Solver.Compat.Prelude ((<<>>))
 
 -- | A package path consists of a namespace and a package path inside that
 -- namespace.
diff --git a/cabal-install/Distribution/Solver/Types/PkgConfigDb.hs b/cabal-install/Distribution/Solver/Types/PkgConfigDb.hs
index c1a5e9a115daa89b3ab9ff4e5afb2c7f3a450f68..1c2638fb1b21baeaf334d329c5e07ccef10e1a3d 100644
--- a/cabal-install/Distribution/Solver/Types/PkgConfigDb.hs
+++ b/cabal-install/Distribution/Solver/Types/PkgConfigDb.hs
@@ -21,7 +21,7 @@ module Distribution.Solver.Types.PkgConfigDb
     ) where
 
 import Prelude ()
-import Distribution.Client.Compat.Prelude
+import Distribution.Solver.Compat.Prelude
 
 import Control.Exception (IOException, handle)
 import qualified Data.Map as M
diff --git a/cabal-install/Distribution/Solver/Types/Progress.hs b/cabal-install/Distribution/Solver/Types/Progress.hs
index b49ec79ac4af917c856db51281d31b15db617e89..742e45ccae206849cd0c86001ee0d09432a9936a 100644
--- a/cabal-install/Distribution/Solver/Types/Progress.hs
+++ b/cabal-install/Distribution/Solver/Types/Progress.hs
@@ -4,7 +4,7 @@ module Distribution.Solver.Types.Progress
     ) where
 
 import Prelude ()
-import Distribution.Client.Compat.Prelude hiding (fail)
+import Distribution.Solver.Compat.Prelude hiding (fail)
 
 -- | A type to represent the unfolding of an expensive long running
 -- calculation that may fail. We may get intermediate steps before the final
diff --git a/cabal-install/cabal-install.cabal b/cabal-install/cabal-install.cabal
index d4b49b49e846065cabefee6cee2f3d2821396ef9..722fbf1450aed0c89f6d005d0fc99b4fe2ae2c63 100644
--- a/cabal-install/cabal-install.cabal
+++ b/cabal-install/cabal-install.cabal
@@ -242,6 +242,7 @@ library
         Distribution.Client.Compat.Prelude
         Distribution.Client.Compat.Process
         Distribution.Client.Compat.Semaphore
+        Distribution.Solver.Compat.Prelude
         Distribution.Solver.Types.ComponentDeps
         Distribution.Solver.Types.ConstraintSource
         Distribution.Solver.Types.DependencyResolver
diff --git a/cabal-install/main/Main.hs b/cabal-install/main/Main.hs
index 7ff975a914369a539cae2a8a00b5e718d0529ed8..07eb1dee61f588aa8d82f08b6aebb6795c06023d 100644
--- a/cabal-install/main/Main.hs
+++ b/cabal-install/main/Main.hs
@@ -63,7 +63,7 @@ import Distribution.Simple.Setup
          )
 
 import Prelude ()
-import Distribution.Client.Compat.Prelude hiding (get)
+import Distribution.Solver.Compat.Prelude hiding (get)
 
 import Distribution.Client.SetupWrapper
          ( setupWrapper, SetupScriptOptions(..), defaultSetupScriptOptions )
diff --git a/cabal-install/tests/UnitTests/Distribution/Solver/Modular/DSL.hs b/cabal-install/tests/UnitTests/Distribution/Solver/Modular/DSL.hs
index 2640dd84b18e67818f6f58a13585e3e848b7a72f..aaf10e1d8d106c9608a2976d3281412e657a1878 100644
--- a/cabal-install/tests/UnitTests/Distribution/Solver/Modular/DSL.hs
+++ b/cabal-install/tests/UnitTests/Distribution/Solver/Modular/DSL.hs
@@ -37,7 +37,7 @@ module UnitTests.Distribution.Solver.Modular.DSL (
   ) where
 
 import Prelude ()
-import Distribution.Client.Compat.Prelude
+import Distribution.Solver.Compat.Prelude
 
 -- base
 import Data.Either (partitionEithers)
diff --git a/cabal-install/tests/UnitTests/Distribution/Solver/Modular/DSL/TestCaseUtils.hs b/cabal-install/tests/UnitTests/Distribution/Solver/Modular/DSL/TestCaseUtils.hs
index 43ca5823dd5915125a5fbde068cf8636a8304283..33fdbce40dc264056623a8a67b4e63c8df6be91b 100644
--- a/cabal-install/tests/UnitTests/Distribution/Solver/Modular/DSL/TestCaseUtils.hs
+++ b/cabal-install/tests/UnitTests/Distribution/Solver/Modular/DSL/TestCaseUtils.hs
@@ -22,7 +22,7 @@ module UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils (
   ) where
 
 import Prelude ()
-import Distribution.Client.Compat.Prelude
+import Distribution.Solver.Compat.Prelude
 
 import Data.List (elemIndex)
 import Data.Ord (comparing)