Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal On branch : master
http://hackage.haskell.org/trac/ghc/changeset/e7532b64cbb1aadacb0abac636188dbc2dc3c75e >--------------------------------------------------------------- commit e7532b64cbb1aadacb0abac636188dbc2dc3c75e Author: Duncan Coutts <[email protected]> Date: Tue Jun 10 23:50:24 2008 +0000 Put the configurations flags into each UnresolvedDependency We don't actually have per-package flags yet. All -f flags on the install/upgrade command line apply to every paclage. >--------------------------------------------------------------- cabal-install/Hackage/Setup.hs | 13 ++++++------- cabal-install/Main.hs | 14 +++++++++++--- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/cabal-install/Hackage/Setup.hs b/cabal-install/Hackage/Setup.hs index 09b4f5f..1add8ea 100644 --- a/cabal-install/Hackage/Setup.hs +++ b/cabal-install/Hackage/Setup.hs @@ -45,6 +45,8 @@ import Distribution.Simple.Setup ( Flag(..), toFlag, flagToList, trueArg, optionVerbosity ) import Distribution.Version ( Version(Version) ) +import Distribution.Package + ( Dependency ) import Distribution.Text ( Text(parse), display ) import Distribution.ReadE @@ -52,7 +54,7 @@ import Distribution.ReadE import Distribution.Verbosity (Verbosity, normal) import Hackage.Types - ( UnresolvedDependency(..), Username(..), Password(..) ) + ( Username(..), Password(..) ) import Hackage.ParseUtils (readPToMaybe, parseDependencyOrPackageId) import Data.Monoid (Monoid(..)) @@ -357,15 +359,12 @@ usagePackages name pname = ++ " or: " ++ pname ++ " " ++ name ++ " [PACKAGES]\n\n" ++ "Flags for " ++ name ++ ":" -parsePackageArgs :: [String] -> Either String [UnresolvedDependency] +--TODO: do we want to allow per-package flags? +parsePackageArgs :: [String] -> Either String [Dependency] parsePackageArgs = parsePkgArgs [] where parsePkgArgs ds [] = Right (reverse ds) parsePkgArgs ds (arg:args) = case readPToMaybe parseDependencyOrPackageId arg of - Just dep -> let d = UnresolvedDependency { - dependency = dep, - depFlags = [] - } - in parsePkgArgs (d:ds) args + Just dep -> parsePkgArgs (dep:ds) args Nothing -> Left ("Failed to parse package dependency: " ++ show arg) diff --git a/cabal-install/Main.hs b/cabal-install/Main.hs index 07c95c2..34764b4 100644 --- a/cabal-install/Main.hs +++ b/cabal-install/Main.hs @@ -14,6 +14,8 @@ module Main where import Hackage.Setup +import Hackage.Types + ( UnresolvedDependency(UnresolvedDependency) ) import Distribution.Simple.Setup (Flag(..), fromFlag, fromFlagOrDefault, flagToMaybe,SDistFlags,sdistCommand) import qualified Distribution.Simple.Setup as Cabal @@ -159,7 +161,9 @@ installAction (cflags,iflags) extraArgs = do (comp, conf) <- configCompilerAux cflags' install verbosity (configPackageDB cflags') (configRepos config) - comp conf cflags' iflags pkgs + comp conf cflags' iflags + [ UnresolvedDependency pkg (Cabal.configConfigurationsFlags cflags') + | pkg <- pkgs ] listAction :: ListFlags -> [String] -> IO () listAction listFlags extraArgs = do @@ -194,7 +198,9 @@ upgradeAction (cflags,iflags) extraArgs = do (comp, conf) <- configCompilerAux cflags' upgrade verbosity (configPackageDB cflags') (configRepos config) - comp conf cflags' iflags pkgs + comp conf cflags' iflags + [ UnresolvedDependency pkg (Cabal.configConfigurationsFlags cflags') + | pkg <- pkgs ] fetchAction :: Flag Verbosity -> [String] -> IO () fetchAction verbosityFlag extraArgs = do @@ -206,7 +212,9 @@ fetchAction verbosityFlag extraArgs = do (comp, conf) <- configCompilerAux flags fetch verbosity (configPackageDB flags) (configRepos config) - comp conf pkgs + comp conf + [ UnresolvedDependency pkg [] --TODO: flags? + | pkg <- pkgs ] uploadAction :: UploadFlags -> [String] -> IO () uploadAction flags extraArgs = do _______________________________________________ Cvs-libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-libraries
