Skip to content

Commit 2d94783

Browse files
hvr23Skidoo
authored andcommitted
Make configPrograms a bit more backward compatible
This implements the suggestion from #3196 (comment) (cherry picked from commit 0077e2c)
1 parent 482e886 commit 2d94783

File tree

4 files changed

+12
-12
lines changed

4 files changed

+12
-12
lines changed

Cabal/Distribution/Simple.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -453,9 +453,9 @@ getBuildConfig hooks verbosity distPref = do
453453
-- Since the list of unconfigured programs is not serialized,
454454
-- restore it to the same value as normally used at the beginning
455455
-- of a configure run:
456-
configPrograms = restoreProgramConfiguration
456+
configPrograms_ = restoreProgramConfiguration
457457
(builtinPrograms ++ hookedPrograms hooks)
458-
`fmap` configPrograms cFlags,
458+
`fmap` configPrograms_ cFlags,
459459

460460
-- Use the current, not saved verbosity level:
461461
configVerbosity = Flag verbosity

Cabal/Distribution/Simple/Configure.hs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,6 @@ import Text.PrettyPrint
125125
, quotes, punctuate, nest, sep, hsep )
126126
import Distribution.Compat.Environment ( lookupEnv )
127127
import Distribution.Compat.Exception ( catchExit, catchIO )
128-
import Distribution.Compat.Semigroup ( Last'(..) )
129128

130129
-- | The errors that can be thrown when reading the @setup-config@ file.
131130
data ConfigStateFileError
@@ -347,7 +346,7 @@ configure (pkg_descr0', pbi) cfg = do
347346
(flagToMaybe (configHcFlavor cfg))
348347
(flagToMaybe (configHcPath cfg))
349348
(flagToMaybe (configHcPkg cfg))
350-
(mkProgramsConfig cfg (configPrograms' cfg))
349+
(mkProgramsConfig cfg (configPrograms cfg))
351350
(lessVerbose verbosity)
352351

353352
-- The InstalledPackageIndex of all installed packages
@@ -687,11 +686,6 @@ configure (pkg_descr0', pbi) cfg = do
687686
return (Flag ProfDetailDefault)
688687
checkProfDetail other = return other
689688

690-
-- | More convenient version of 'configPrograms'. Results in an
691-
-- 'error' if internal invariant is violated.
692-
configPrograms' :: ConfigFlags -> ProgramConfiguration
693-
configPrograms' = maybe (error "FIXME: remove configPrograms") id . getLast' . configPrograms
694-
695689
mkProgramsConfig :: ConfigFlags -> ProgramConfiguration -> ProgramConfiguration
696690
mkProgramsConfig cfg initialProgramsConfig = programsConfig
697691
where

Cabal/Distribution/Simple/Setup.hs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ module Distribution.Simple.Setup (
3434

3535
GlobalFlags(..), emptyGlobalFlags, defaultGlobalFlags, globalCommand,
3636
ConfigFlags(..), emptyConfigFlags, defaultConfigFlags, configureCommand,
37+
configPrograms,
3738
AllowNewer(..), AllowNewerDep(..), isAllowNewer,
3839
configAbsolutePaths, readPackageDbList, showPackageDbList,
3940
CopyFlags(..), emptyCopyFlags, defaultCopyFlags, copyCommand,
@@ -327,7 +328,7 @@ data ConfigFlags = ConfigFlags {
327328
-- because the type of configure is constrained by the UserHooks.
328329
-- when we change UserHooks next we should pass the initial
329330
-- ProgramConfiguration directly and not via ConfigFlags
330-
configPrograms :: Last' ProgramConfiguration, -- ^All programs that
331+
configPrograms_ :: Last' ProgramConfiguration, -- ^All programs that
331332
-- @cabal@ may run
332333

333334
configProgramPaths :: [(String, FilePath)], -- ^user specified programs paths
@@ -396,6 +397,11 @@ data ConfigFlags = ConfigFlags {
396397

397398
instance Binary ConfigFlags
398399

400+
-- | More convenient version of 'configPrograms'. Results in an
401+
-- 'error' if internal invariant is violated.
402+
configPrograms :: ConfigFlags -> ProgramConfiguration
403+
configPrograms = maybe (error "FIXME: remove configPrograms") id . getLast' . configPrograms_
404+
399405
configAbsolutePaths :: ConfigFlags -> IO ConfigFlags
400406
configAbsolutePaths f =
401407
(\v -> f { configPackageDBs = v })
@@ -404,7 +410,7 @@ configAbsolutePaths f =
404410

405411
defaultConfigFlags :: ProgramConfiguration -> ConfigFlags
406412
defaultConfigFlags progConf = emptyConfigFlags {
407-
configPrograms = pure progConf,
413+
configPrograms_ = pure progConf,
408414
configHcFlavor = maybe NoFlag Flag defaultCompilerFlavor,
409415
configVanillaLib = Flag True,
410416
configProfLib = NoFlag,

cabal-install/Distribution/Client/Config.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ instance Semigroup SavedConfig where
276276
lastNonEmptyNL = lastNonEmptyNL' savedInstallFlags
277277

278278
combinedSavedConfigureFlags = ConfigFlags {
279-
configPrograms = configPrograms . savedConfigureFlags $ b,
279+
configPrograms_ = configPrograms_ . savedConfigureFlags $ b,
280280
-- TODO: NubListify
281281
configProgramPaths = lastNonEmpty configProgramPaths,
282282
-- TODO: NubListify

0 commit comments

Comments
 (0)