From 896b22b3a3fd2b807d7e669e88e39a9efe0fd56f Mon Sep 17 00:00:00 2001
From: Gershom Bazerman <gershom@arista.com>
Date: Tue, 6 Dec 2022 13:41:59 -0500
Subject: [PATCH] don't create a cache directory when the compiler isn't
 configured

---
 cabal-install/src/Distribution/Client/ProjectPlanning.hs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/cabal-install/src/Distribution/Client/ProjectPlanning.hs b/cabal-install/src/Distribution/Client/ProjectPlanning.hs
index 594fec5b2d..7c727a7293 100644
--- a/cabal-install/src/Distribution/Client/ProjectPlanning.hs
+++ b/cabal-install/src/Distribution/Client/ProjectPlanning.hs
@@ -332,10 +332,10 @@ rebuildProjectConfig verbosity
                        fileMonitorProjectConfigKey -- todo check deps too?
       $ do
           liftIO $ info verbosity "Project settings changed, reconfiguring..."
-          liftIO $ createDirectoryIfMissingVerbose verbosity True distProjectCacheDirectory
           projectConfigSkeleton <- phaseReadProjectConfig
-          -- have to create the cache directory before configuring the compiler
           let fetchCompiler = do
+                 -- have to create the cache directory before configuring the compiler
+                 liftIO $ createDirectoryIfMissingVerbose verbosity True distProjectCacheDirectory
                  (compiler, Platform arch os, _) <- configureCompiler verbosity distDirLayout ((fst $ PD.ignoreConditions projectConfigSkeleton) <> cliConfig)
                  pure (os, arch, compilerInfo compiler)
 
-- 
GitLab