Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal On branch : master
http://hackage.haskell.org/trac/ghc/changeset/96e0a6f1fe4d2682d5f6af39ed8e8aea8688b2b9 >--------------------------------------------------------------- commit 96e0a6f1fe4d2682d5f6af39ed8e8aea8688b2b9 Author: Duncan Coutts <[email protected]> Date: Mon Mar 3 14:00:07 2008 +0000 Fix savedConfigToConfigFlags so the command line overrides the config "cabal configure --global" was incorrectly passing the user prefix to setup. >--------------------------------------------------------------- cabal-install/Hackage/Config.hs | 27 +++++---------------------- cabal-install/Main.hs | 15 +++++++-------- 2 files changed, 12 insertions(+), 30 deletions(-) diff --git a/cabal-install/Hackage/Config.hs b/cabal-install/Hackage/Config.hs index a9c624f..0017d4f 100644 --- a/cabal-install/Hackage/Config.hs +++ b/cabal-install/Hackage/Config.hs @@ -14,7 +14,6 @@ module Hackage.Config ( SavedConfig(..) , savedConfigToConfigFlags , configRepos - , configPackageDB , defaultConfigFile , loadConfig , showConfig @@ -33,7 +32,6 @@ import Distribution.Compat.ReadP (ReadP, char, munch1, readS_to_P) import Distribution.Compiler (CompilerFlavor(..), defaultCompilerFlavor) import Distribution.PackageDescription.Parse (ParseResult(..)) import Distribution.ParseUtils (FieldDescr(..), simpleField, listField, liftField, field) -import Distribution.Simple.Compiler (PackageDB(..)) import Distribution.Simple.InstallDirs (InstallDirs(..), PathTemplate, toPathTemplate) import Distribution.Simple.Setup (Flag(..), toFlag, fromFlag, fromFlagOrDefault) import qualified Distribution.Simple.Setup as Cabal @@ -71,14 +69,8 @@ configRepos config = in Repo remote cacheDir | remote <- configRemoteRepos config ] -configPackageDB :: SavedConfig -> Flag PackageDB -configPackageDB config = case configUserInstall config of - NoFlag -> NoFlag - Flag True -> Flag UserPackageDB - Flag False -> Flag GlobalPackageDB - -savedConfigToConfigFlags :: Flag PackageDB -> SavedConfig -> Cabal.ConfigFlags -savedConfigToConfigFlags packageDB config = mempty { +savedConfigToConfigFlags :: Flag Bool -> SavedConfig -> Cabal.ConfigFlags +savedConfigToConfigFlags userInstallFlag config = mempty { Cabal.configHcFlavor = configCompiler config, Cabal.configHcPath = configCompilerPath config, Cabal.configHcPkg = configHcPkgPath config, @@ -86,20 +78,11 @@ savedConfigToConfigFlags packageDB config = mempty { Cabal.configInstallDirs = if userInstall then configUserInstallDirs config else configGlobalInstallDirs config, - Cabal.configVerbose = configVerbose config, - - -- FIXME: Urk, all this complex stuff is a result of the mismatch between - -- userInstall :: Bool and packageDB :: PackageDB. We should use one or - -- the other consistently. - Cabal.configPackageDB = if userInstall - then toFlag UserPackageDB - else toFlag GlobalPackageDB + Cabal.configVerbose = configVerbose config } where userInstall :: Bool - userInstall = fromFlag $ fmap (\p -> case p of - UserPackageDB -> True - _ -> False) packageDB - `mappend` configUserInstall config + userInstall = fromFlag $ configUserInstall config + `mappend` userInstallFlag -- -- * Default config diff --git a/cabal-install/Main.hs b/cabal-install/Main.hs index a5656b9..b1c20c9 100644 --- a/cabal-install/Main.hs +++ b/cabal-install/Main.hs @@ -14,7 +14,7 @@ module Main where import Hackage.Setup -import Distribution.Simple.Setup (Flag, fromFlag, fromFlagOrDefault, +import Distribution.Simple.Setup (Flag(..), fromFlag, fromFlagOrDefault, flagToMaybe) import qualified Distribution.Simple.Setup as Cabal import Distribution.Simple.Program (defaultProgramConfiguration) @@ -23,8 +23,7 @@ import Distribution.Simple.SetupWrapper (setupWrapper) import Distribution.Simple.Configure (configCompilerAux) import Distribution.Simple.Utils (cabalVersion, die) import Hackage.Config (SavedConfig(..), savedConfigToConfigFlags, - defaultConfigFile, loadConfig, configRepos, - configPackageDB) + defaultConfigFile, loadConfig, configRepos) import Hackage.List (list) import Hackage.Install (install) import Hackage.Update (update) @@ -111,7 +110,7 @@ configureAction flags extraArgs = do configFile <- defaultConfigFile --FIXME let verbosity = fromFlagOrDefault normal (Cabal.configVerbose flags) config <- loadConfig verbosity configFile - let flags' = savedConfigToConfigFlags (Cabal.configPackageDB flags) config + let flags' = savedConfigToConfigFlags (Cabal.configUserInstall flags) config `mappend` flags args = commandName configureCommand : commandShowOptions configureCommand flags' ++ extraArgs @@ -123,7 +122,7 @@ installAction (cflags,iflags) extraArgs = do configFile <- defaultConfigFile --FIXME let verbosity = fromFlagOrDefault normal (Cabal.configVerbose cflags) config <- loadConfig verbosity configFile - let cflags' = savedConfigToConfigFlags (Cabal.configPackageDB cflags) config + let cflags' = savedConfigToConfigFlags (Cabal.configUserInstall cflags) config `mappend` cflags (comp, conf) <- configCompilerAux cflags' install verbosity @@ -135,7 +134,7 @@ listAction listFlags extraArgs = do configFile <- defaultConfigFile --FIXME let verbosity = fromFlag (listVerbosity listFlags) config <- loadConfig verbosity configFile - let flags = savedConfigToConfigFlags (configPackageDB config) config + let flags = savedConfigToConfigFlags NoFlag config (comp, conf) <- configCompilerAux flags list verbosity (fromFlag $ Cabal.configPackageDB flags) @@ -157,7 +156,7 @@ upgradeAction (cflags,iflags) _extraArgs = do configFile <- defaultConfigFile --FIXME let verbosity = fromFlagOrDefault normal (Cabal.configVerbose cflags) config <- loadConfig verbosity configFile - let cflags' = savedConfigToConfigFlags (Cabal.configPackageDB cflags) config + let cflags' = savedConfigToConfigFlags (Cabal.configUserInstall cflags) config `mappend` cflags (comp, conf) <- configCompilerAux cflags' upgrade verbosity @@ -170,7 +169,7 @@ fetchAction verbosityFlag extraArgs = do configFile <- defaultConfigFile --FIXME let verbosity = fromFlag verbosityFlag config <- loadConfig verbosity configFile - let flags = savedConfigToConfigFlags (configPackageDB config) config + let flags = savedConfigToConfigFlags NoFlag config (comp, conf) <- configCompilerAux flags fetch verbosity (fromFlag $ Cabal.configPackageDB flags) (configRepos config) _______________________________________________ Cvs-libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-libraries
