@@ -26,6 +26,10 @@ import Distribution.Client.NixStyleOptions
2626 , defaultNixStyleFlags
2727 , nixStyleOptions
2828 )
29+ import Distribution.Client.ProjectConfig.Types
30+ ( ProjectConfig (projectConfigShared )
31+ , ProjectConfigShared (projectConfigProgPathExtra )
32+ )
2933import Distribution.Client.ProjectFlags
3034 ( removeIgnoreProjectOption
3135 )
@@ -66,12 +70,9 @@ import Distribution.Simple.GHC
6670 )
6771import Distribution.Simple.Program.Db
6872 ( configuredPrograms
69- , modifyProgramSearchPath
73+ , appendProgramSearchPath
7074 , requireProgram
7175 )
72- import Distribution.Simple.Program.Find
73- ( ProgramSearchPathEntry (.. )
74- )
7576import Distribution.Simple.Program.Run
7677 ( programInvocation
7778 , runProgramInvocation
@@ -86,11 +87,13 @@ import Distribution.Simple.Program.Types
8687import Distribution.Simple.Utils
8788 ( createDirectoryIfMissingVerbose
8889 , dieWithException
89- , info
9090 , notice
9191 , withTempDirectory
9292 , wrapText
9393 )
94+ import Distribution.Utils.NubList
95+ ( fromNubList
96+ )
9497import Distribution.Verbosity
9598 ( normal
9699 )
@@ -162,10 +165,11 @@ execAction flags@NixStyleFlags{..} extraArgs globalFlags = do
162165 mempty
163166
164167 -- Some dependencies may have executables. Let's put those on the PATH.
165- extraPaths <- pathAdditions verbosity baseCtx buildCtx
166- let programDb =
167- modifyProgramSearchPath
168- (map ProgramSearchPathDir extraPaths ++ )
168+ let extraPaths = pathAdditions baseCtx buildCtx
169+
170+ programDb <-
171+ appendProgramSearchPath verbosity
172+ extraPaths
169173 . pkgConfigCompilerProgs
170174 . elaboratedShared
171175 $ buildCtx
@@ -263,13 +267,14 @@ withTempEnvFile verbosity baseCtx buildCtx buildStatus action = do
263267 action envOverrides
264268 )
265269
266- pathAdditions :: Verbosity -> ProjectBaseContext -> ProjectBuildContext -> IO [FilePath ]
267- pathAdditions verbosity ProjectBaseContext {.. } ProjectBuildContext {.. } = do
268- info verbosity . unlines $
269- " Including the following directories in PATH:"
270- : paths
271- return paths
270+ pathAdditions :: ProjectBaseContext -> ProjectBuildContext -> [FilePath ]
271+ pathAdditions ProjectBaseContext {.. } ProjectBuildContext {.. } =
272+ paths ++ cabalConfigPaths
272273 where
274+ cabalConfigPaths = fromNubList
275+ . projectConfigProgPathExtra
276+ . projectConfigShared
277+ $ projectConfig
273278 paths =
274279 S. toList $
275280 binDirectories distDirLayout elaboratedShared elaboratedPlanToExecute
0 commit comments