diff --git a/cabal-install/src/Distribution/Client/ProjectPlanning.hs b/cabal-install/src/Distribution/Client/ProjectPlanning.hs index 685e46dfa77..313be91485a 100644 --- a/cabal-install/src/Distribution/Client/ProjectPlanning.hs +++ b/cabal-install/src/Distribution/Client/ProjectPlanning.hs @@ -2379,6 +2379,17 @@ elaborateInstallPlan ] ) (perPkgOptionMapMappend pkgid packageConfigProgramArgs) + elabNormalisedProgramArgs = + Map.unionWith + (++) + ( Map.fromList + [ (programId prog, args) + | prog <- configuredPrograms compilerprogdb + , let args = programOverrideArgs $ addHaddockIfDocumentationEnabled prog + , not (null args) + ] + ) + (perPkgOptionMapMappend pkgid packageConfigProgramArgs) elabProgramPathExtra = perPkgOptionNubList pkgid packageConfigProgramPathExtra elabConfiguredPrograms = configuredPrograms compilerprogdb elabConfigureScriptArgs = perPkgOptionList pkgid packageConfigConfigureArgs @@ -4513,7 +4524,7 @@ packageHashConfigInputs shared@ElaboratedSharedConfig{..} pkg = , pkgHashStripLibs = stripLibs , pkgHashStripExes = stripExes , pkgHashDebugInfo = withDebugInfo - , pkgHashProgramArgs = elabProgramArgs + , pkgHashProgramArgs = elabNormalisedProgramArgs , pkgHashExtraLibDirs = elabExtraLibDirs , pkgHashExtraLibDirsStatic = elabExtraLibDirsStatic , pkgHashExtraFrameworkDirs = elabExtraFrameworkDirs diff --git a/cabal-install/src/Distribution/Client/ProjectPlanning/Types.hs b/cabal-install/src/Distribution/Client/ProjectPlanning/Types.hs index 6aa1065d20e..51db820e3a7 100644 --- a/cabal-install/src/Distribution/Client/ProjectPlanning/Types.hs +++ b/cabal-install/src/Distribution/Client/ProjectPlanning/Types.hs @@ -274,6 +274,7 @@ data ElaboratedConfiguredPackage = ElaboratedConfiguredPackage , elabDumpBuildInfo :: DumpBuildInfo , elabProgramPaths :: Map String FilePath , elabProgramArgs :: Map String [String] + , elabNormalisedProgramArgs :: Map String [String] , elabProgramPathExtra :: [FilePath] , elabConfiguredPrograms :: [ConfiguredProgram] , elabConfigureScriptArgs :: [String] @@ -345,7 +346,7 @@ normaliseConfiguredPackage -> ElaboratedConfiguredPackage -> ElaboratedConfiguredPackage normaliseConfiguredPackage ElaboratedSharedConfig{pkgConfigCompilerProgs} pkg = - pkg{elabProgramArgs = Map.mapMaybeWithKey lookupFilter (elabProgramArgs pkg)} + pkg{elabNormalisedProgramArgs = Map.mapMaybeWithKey lookupFilter (elabProgramArgs pkg)} where knownProgramDb = addKnownPrograms builtinPrograms pkgConfigCompilerProgs diff --git a/changelog.d/pr-11259.md b/changelog.d/pr-11259.md new file mode 100644 index 00000000000..2c7f90012bd --- /dev/null +++ b/changelog.d/pr-11259.md @@ -0,0 +1,5 @@ +--- +synopsis: Do not filter program arguments (e.g. for ghc, etc) +packages: [Cabal] +prs: 11259 +---