From 72cd184e768f617dc069304b346c295b9ca25151 Mon Sep 17 00:00:00 2001 From: Gershom Bazerman Date: Mon, 27 Feb 2023 14:13:49 -0500 Subject: [PATCH 1/2] use with compiler flags in key of cached project config --- .../Distribution/Client/ProjectPlanning.hs | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/cabal-install/src/Distribution/Client/ProjectPlanning.hs b/cabal-install/src/Distribution/Client/ProjectPlanning.hs index 8d8947ae8a8..f4e1264c893 100644 --- a/cabal-install/src/Distribution/Client/ProjectPlanning.hs +++ b/cabal-install/src/Distribution/Client/ProjectPlanning.hs @@ -321,9 +321,17 @@ rebuildProjectConfig verbosity } cliConfig = do + progsearchpath <- liftIO $ getSystemSearchPath + + let fileMonitorProjectConfig = newFileMonitor (distProjectCacheFile "config") + fileMonitorProjectConfigKey <- do configPath <- getConfigFilePath projectConfigConfigFile - return (configPath, distProjectFile "") + return (configPath, distProjectFile "", + (projectConfigHcFlavor, projectConfigHcPath, projectConfigHcPkg), + progsearchpath, + packageConfigProgramPaths, + packageConfigProgramPathExtra) (projectConfig, localPackages) <- runRebuild distProjectRootDirectory @@ -354,18 +362,11 @@ rebuildProjectConfig verbosity where - ProjectConfigShared { projectConfigConfigFile } = - projectConfigShared cliConfig - - ProjectConfigShared { projectConfigIgnoreProject } = + ProjectConfigShared { projectConfigHcFlavor, projectConfigHcPath, projectConfigHcPkg, projectConfigIgnoreProject, projectConfigConfigFile } = projectConfigShared cliConfig - fileMonitorProjectConfig :: - FileMonitor - (FilePath, FilePath) - (ProjectConfig, [PackageSpecifier UnresolvedSourcePackage]) - fileMonitorProjectConfig = - newFileMonitor (distProjectCacheFile "config") + PackageConfig { packageConfigProgramPaths, packageConfigProgramPathExtra } = + projectConfigLocalPackages cliConfig -- Read the cabal.project (or implicit config) and combine it with -- arguments from the command line From 954a7ad3be2e09e7dee32b5ff355cd516c3dc43d Mon Sep 17 00:00:00 2001 From: Gershom Bazerman Date: Fri, 12 May 2023 19:50:16 -0400 Subject: [PATCH 2/2] changelog --- changelog.d/pr-8819 | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 changelog.d/pr-8819 diff --git a/changelog.d/pr-8819 b/changelog.d/pr-8819 new file mode 100644 index 00000000000..1398a2ca648 --- /dev/null +++ b/changelog.d/pr-8819 @@ -0,0 +1,9 @@ +synopsis: Use compiler flags for caching project config +packages: cabal-install +prs: #8819 + +description: { + +This ensures that cached project configs with conditionals re-execute the conditional logic when the compiler changes. + +}