Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal On branch : master
http://hackage.haskell.org/trac/ghc/changeset/e9ec08c5d42a1b0054ded3778ba0dadb673729b5 >--------------------------------------------------------------- commit e9ec08c5d42a1b0054ded3778ba0dadb673729b5 Author: Duncan Coutts <[email protected]> Date: Thu Sep 6 23:22:55 2007 +0000 Fixups for recent cabal api changes >--------------------------------------------------------------- .../src/Network/Hackage/CabalInstall/BuildDep.hs | 10 ++++++++-- .../src/Network/Hackage/CabalInstall/Configure.hs | 1 + .../src/Network/Hackage/CabalInstall/Info.hs | 7 ++++++- .../src/Network/Hackage/CabalInstall/Install.hs | 7 ++++++- .../src/Network/Hackage/CabalInstall/Types.hs | 2 ++ 5 files changed, 23 insertions(+), 4 deletions(-) diff --git a/cabal-install/src/Network/Hackage/CabalInstall/BuildDep.hs b/cabal-install/src/Network/Hackage/CabalInstall/BuildDep.hs index 72d5485..7df4bf2 100644 --- a/cabal-install/src/Network/Hackage/CabalInstall/BuildDep.hs +++ b/cabal-install/src/Network/Hackage/CabalInstall/BuildDep.hs @@ -19,6 +19,7 @@ import Network.Hackage.CabalInstall.Types (ConfigFlags (..), UnresolvedDependenc import Distribution.PackageDescription (readPackageDescription, buildDepends, GenericPackageDescription(..)) import Distribution.Simple.Configure (getInstalledPackages) +import Distribution.Simple.Compiler (PackageDB(..)) {-| This function behaves exactly like 'Network.Hackage.CabalInstall.Install.install' except @@ -26,8 +27,13 @@ import Distribution.Simple.Configure (getInstalledPackages) -} buildDep :: ConfigFlags -> [String] -> [UnresolvedDependency] -> IO () buildDep cfg globalArgs deps - = do ipkgs <- getInstalledPackages (configCompiler cfg) (configUserIns cfg) (configVerbose cfg) - apkgs <- fmap getPackages (fmap (getBuildDeps ipkgs) (resolveDependenciesAux cfg ipkgs deps)) + = do Just ipkgs <- getInstalledPackages + (configVerbose cfg) (configCompiler cfg) + (if configUserIns cfg then UserPackageDB + else GlobalPackageDB) + (configPrograms cfg) + apkgs <- fmap getPackages (fmap (getBuildDeps ipkgs) + (resolveDependenciesAux cfg ipkgs deps)) mapM_ (installPkg cfg globalArgs) apkgs -- | Takes the path to a .cabal file, and installs the build-dependencies listed there. diff --git a/cabal-install/src/Network/Hackage/CabalInstall/Configure.hs b/cabal-install/src/Network/Hackage/CabalInstall/Configure.hs index cd3f79f..16cd7f6 100644 --- a/cabal-install/src/Network/Hackage/CabalInstall/Configure.hs +++ b/cabal-install/src/Network/Hackage/CabalInstall/Configure.hs @@ -132,6 +132,7 @@ mkConfigFlags cfg outputGen <- defaultOutputGen (tempVerbose cfg) let config = ConfigFlags { configCompiler = comp + , configPrograms = conf''' , configConfDir = confDir , configCacheDir = cacheDir , configPkgListDir = pkgListDir diff --git a/cabal-install/src/Network/Hackage/CabalInstall/Info.hs b/cabal-install/src/Network/Hackage/CabalInstall/Info.hs index 7fdf76d..6200ca7 100644 --- a/cabal-install/src/Network/Hackage/CabalInstall/Info.hs +++ b/cabal-install/src/Network/Hackage/CabalInstall/Info.hs @@ -19,12 +19,17 @@ import Network.Hackage.CabalInstall.Types (ConfigFlags(..), ResolvedPackage(..) import Distribution.Package (PackageIdentifier) import Distribution.Simple.Configure (getInstalledPackages) +import Distribution.Simple.Compiler (PackageDB(..)) import Data.Maybe (listToMaybe) info :: ConfigFlags -> [String] -> [UnresolvedDependency] -> IO () info cfg globalArgs deps - = do ipkgs <- getInstalledPackages (configCompiler cfg) (configUserIns cfg) (configVerbose cfg) + = do Just ipkgs <- getInstalledPackages + (configVerbose cfg) (configCompiler cfg) + (if configUserIns cfg then UserPackageDB + else GlobalPackageDB) + (configPrograms cfg) apkgs <- resolveDependencies cfg [] deps mapM_ (infoPkg cfg ipkgs globalArgs) apkgs diff --git a/cabal-install/src/Network/Hackage/CabalInstall/Install.hs b/cabal-install/src/Network/Hackage/CabalInstall/Install.hs index 191fc5b..26618ca 100644 --- a/cabal-install/src/Network/Hackage/CabalInstall/Install.hs +++ b/cabal-install/src/Network/Hackage/CabalInstall/Install.hs @@ -28,6 +28,7 @@ import Network.Hackage.CabalInstall.TarUtils import Distribution.Simple.SetupWrapper (setupWrapper) import Distribution.Simple.Configure (getInstalledPackages) +import Distribution.Simple.Compiler (PackageDB(..)) import Distribution.Package (showPackageId, PackageIdentifier) import Distribution.Verbosity import System.FilePath ((</>), splitFileName) @@ -44,7 +45,11 @@ import System.Posix.Signals -- |Installs the packages needed to satisfy a list of dependencies. install :: ConfigFlags -> [String] -> [UnresolvedDependency] -> IO () install cfg globalArgs deps - = do ipkgs <- getInstalledPackages (configCompiler cfg) (configUserIns cfg) (configVerbose cfg) + = do Just ipkgs <- getInstalledPackages + (configVerbose cfg) (configCompiler cfg) + (if configUserIns cfg then UserPackageDB + else GlobalPackageDB) + (configPrograms cfg) resolvedDeps <- resolveDependencies cfg ipkgs deps let apkgs = getPackages resolvedDeps if null apkgs diff --git a/cabal-install/src/Network/Hackage/CabalInstall/Types.hs b/cabal-install/src/Network/Hackage/CabalInstall/Types.hs index 6d42788..961e9d6 100644 --- a/cabal-install/src/Network/Hackage/CabalInstall/Types.hs +++ b/cabal-install/src/Network/Hackage/CabalInstall/Types.hs @@ -13,6 +13,7 @@ module Network.Hackage.CabalInstall.Types where import Distribution.Simple.Compiler (CompilerFlavor(..),Compiler) +import Distribution.Simple.Program (ProgramConfiguration) import Distribution.Package (PackageIdentifier) import Distribution.Version (Dependency) import Distribution.Verbosity @@ -57,6 +58,7 @@ data TempFlags = TempFlags { data ConfigFlags = ConfigFlags { configCompiler :: Compiler, + configPrograms :: ProgramConfiguration, configConfDir :: FilePath, configCacheDir :: FilePath, configPkgListDir :: FilePath, _______________________________________________ Cvs-libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-libraries
