Fix extra-prog-path propagation in the codebase.
Extra prog paths were being handled in many different ways all thorugh the codebase. This PR introduces a unified way to look at them. Aiming for traceability, the addition of extra paths is now traced via `logExtraProgramSearchPath`. All appearances of `modifyProgramSearchPath` are replaced with `appendProgramSearchPath` which traces the added paths. `progInvokePathEnv` was only being set by GHC for some paths to executables in components and only under certain circumstances. Now every `ghcInvocation` sets the extra paths directly into `pkgInvokeEnv`. In particular this fixes PATH issues when running MinGW cabal in PowerShell, as usually for other OSes the system path contains most of the expected directories. (cherry picked from commit 46df8ba7) # Conflicts: # Cabal/src/Distribution/Simple/Configure.hs # Cabal/src/Distribution/Simple/ConfigureScript.hs # Cabal/src/Distribution/Simple/GHC.hs # Cabal/src/Distribution/Simple/GHCJS.hs # Cabal/src/Distribution/Simple/Program/Db.hs # Cabal/src/Distribution/Simple/Program/Find.hs # Cabal/src/Distribution/Simple/Program/GHC.hs # Cabal/src/Distribution/Simple/Program/Run.hs # Cabal/src/Distribution/Simple/Program/Types.hs # cabal-install/src/Distribution/Client/CmdExec.hs # cabal-install/src/Distribution/Client/CmdInstall.hs # cabal-install/src/Distribution/Client/CmdRun.hs # cabal-install/src/Distribution/Client/Config.hs # cabal-install/src/Distribution/Client/Get.hs # cabal-install/src/Distribution/Client/HttpUtils.hs # cabal-install/src/Distribution/Client/ProjectConfig.hs # cabal-install/src/Distribution/Client/ProjectOrchestration.hs # cabal-install/src/Distribution/Client/ProjectPlanning.hs # cabal-install/src/Distribution/Client/SetupWrapper.hs # cabal-install/src/Distribution/Client/VCS.hs # cabal-install/tests/UnitTests/Distribution/Client/Get.hs # cabal-install/tests/UnitTests/Distribution/Client/VCS.hs
Showing
- Cabal/src/Distribution/Simple/Configure.hs 61 additions, 2 deletionsCabal/src/Distribution/Simple/Configure.hs
- Cabal/src/Distribution/Simple/ConfigureScript.hs 7 additions, 0 deletionsCabal/src/Distribution/Simple/ConfigureScript.hs
- Cabal/src/Distribution/Simple/GHC.hs 9 additions, 0 deletionsCabal/src/Distribution/Simple/GHC.hs
- Cabal/src/Distribution/Simple/GHCJS.hs 7 additions, 0 deletionsCabal/src/Distribution/Simple/GHCJS.hs
- Cabal/src/Distribution/Simple/Program/Db.hs 49 additions, 0 deletionsCabal/src/Distribution/Simple/Program/Db.hs
- Cabal/src/Distribution/Simple/Program/Find.hs 50 additions, 0 deletionsCabal/src/Distribution/Simple/Program/Find.hs
- Cabal/src/Distribution/Simple/Program/GHC.hs 36 additions, 1 deletionCabal/src/Distribution/Simple/Program/GHC.hs
- Cabal/src/Distribution/Simple/Program/Run.hs 93 additions, 2 deletionsCabal/src/Distribution/Simple/Program/Run.hs
- Cabal/src/Distribution/Simple/Program/Types.hs 33 additions, 0 deletionsCabal/src/Distribution/Simple/Program/Types.hs
- cabal-install/src/Distribution/Client/CmdExec.hs 48 additions, 0 deletionscabal-install/src/Distribution/Client/CmdExec.hs
- cabal-install/src/Distribution/Client/CmdInstall.hs 112 additions, 0 deletionscabal-install/src/Distribution/Client/CmdInstall.hs
- cabal-install/src/Distribution/Client/CmdRun.hs 131 additions, 0 deletionscabal-install/src/Distribution/Client/CmdRun.hs
- cabal-install/src/Distribution/Client/Config.hs 37 additions, 0 deletionscabal-install/src/Distribution/Client/Config.hs
- cabal-install/src/Distribution/Client/Get.hs 48 additions, 0 deletionscabal-install/src/Distribution/Client/Get.hs
- cabal-install/src/Distribution/Client/HttpUtils.hs 82 additions, 0 deletionscabal-install/src/Distribution/Client/HttpUtils.hs
- cabal-install/src/Distribution/Client/ProjectConfig.hs 7 additions, 0 deletionscabal-install/src/Distribution/Client/ProjectConfig.hs
- cabal-install/src/Distribution/Client/ProjectOrchestration.hs 13 additions, 0 deletions...l-install/src/Distribution/Client/ProjectOrchestration.hs
- cabal-install/src/Distribution/Client/ProjectPlanning.hs 36 additions, 0 deletionscabal-install/src/Distribution/Client/ProjectPlanning.hs
- cabal-install/src/Distribution/Client/SetupWrapper.hs 60 additions, 0 deletionscabal-install/src/Distribution/Client/SetupWrapper.hs
- cabal-install/src/Distribution/Client/VCS.hs 48 additions, 0 deletionscabal-install/src/Distribution/Client/VCS.hs
Loading
Please register or sign in to comment