cabal-dev 0.7.2.1 → 0.7.3.1
raw patch · 5 files changed
+68/−4 lines, 5 filesdep ~Cabal
Dependency ranges changed: Cabal
Files
- cabal-dev.cabal +5/−4
- src/Distribution/Dev/Ghci.hs +59/−0
- src/Distribution/Dev/InitPkgDb.hs +1/−0
- src/Distribution/Dev/InvokeCabal.hs +1/−0
- src/Main.hs +2/−0
cabal-dev.cabal view
@@ -1,5 +1,5 @@ Name: cabal-dev-Version: 0.7.2.1+Version: 0.7.3.1 Synopsis: Manage sandboxed Haskell build environments Description: cabal-dev is a tool for managing development builds of@@ -25,7 +25,7 @@ @cabal-dev add-source@ also supports importing tarballs into a local cabal repository. .- This tool has been tested with GHC 6.8-6.12.+ This tool has been tested with GHC 6.8-7.0.1. License: BSD3 License-file: LICENSE@@ -117,7 +117,7 @@ bytestring >= 0.9 && < 0.10, directory >= 1.0 && < 1.3, filepath >= 1.1 && < 1.3,- Cabal >= 1.8.0.6 && < 1.11,+ Cabal >= 1.10.0.0 && < 1.11, HTTP >= 4000.0.9 && < 4000.2, mtl >= 1.1 && < 2.1, network >= 2.2 && < 2.4,@@ -137,8 +137,9 @@ Distribution.Dev.Sandbox, Distribution.Dev.Command, Distribution.Dev.Flags,+ Distribution.Dev.Ghci, Distribution.Dev.InvokeCabal, Distribution.Dev.InstallDependencies, Distribution.Dev.RewriteCabalConfig,- Distribution.Dev.InitPkgDb+ Distribution.Dev.InitPkgDb, Distribution.Dev.Utilities
+ src/Distribution/Dev/Ghci.hs view
@@ -0,0 +1,59 @@+module Distribution.Dev.Ghci+ ( actions )+where++import Distribution.Dev.Command ( CommandActions(..), CommandResult(..) )+import Distribution.Dev.Flags ( Config, getVerbosity, getSandbox )+import Distribution.Dev.InitPkgDb ( initPkgDb )+import Distribution.Dev.Sandbox ( pkgConf, Sandbox, KnownVersion, resolveSandbox )+import Distribution.Simple.Program ( Program( programFindVersion+ )+ , ConfiguredProgram( programDefaultArgs )+ , emptyProgramConfiguration+ , findProgramVersion+ , runProgram+ , requireProgram+ , simpleProgram+ , programVersion+ , programLocation+ , locationPath+ )+import Distribution.Simple.Utils ( debug )+import Distribution.Text ( display )+import System.Console.GetOpt ( OptDescr )+import System.FilePath ((</>))++actions :: CommandActions+actions = CommandActions+ { cmdDesc = "Run ghci with the proper package database."+ , cmdRun = \cfg _ args -> invokeGhci cfg args+ , cmdOpts = [] :: [OptDescr ()]+ , cmdPassFlags = True+ }++ghciArgs :: Sandbox KnownVersion -> [String]+ghciArgs sandbox = [ "-package-conf", pkgConf sandbox+ , "-no-user-package-conf"+ ]++configureGhci :: Config -> IO ConfiguredProgram+configureGhci cfg = do (ghci, _) <- requireProgram (getVerbosity cfg) ghciProgram emptyProgramConfiguration+ sandbox <- initPkgDb (getVerbosity cfg) =<< (resolveSandbox cfg)+ return ghci { programDefaultArgs = ghciArgs sandbox }++-- XXX This invocation pattern is repeated in at least two places (see InvokeCabal)+invokeGhci :: Config -> [String] -> IO CommandResult+invokeGhci cfg args = do let v = getVerbosity cfg+ ghci <- configureGhci cfg+ debug v $ concat [ "Using ghci "+ , maybe "(unknown version)" display $ programVersion ghci+ , " at "+ , show (locationPath $ programLocation ghci)+ ]+ runProgram v ghci args+ return CommandOk++ghciProgram :: Program+ghciProgram = (simpleProgram "ghci") {+ programFindVersion = findProgramVersion "--numeric-version" id+ }
src/Distribution/Dev/InitPkgDb.hs view
@@ -65,6 +65,7 @@ where res = do v <- programVersion p+ -- XXX Needs updated for ghc 7 let typ | v < Version [6, 10] [] = GHC_6_8_Db $ locationPath $ programLocation p | v < Version [6, 12] [] = GHC_6_10_Db
src/Distribution/Dev/InvokeCabal.hs view
@@ -128,6 +128,7 @@ where p = simpleProgram "ghc-pkg-6_8-compat" +-- XXX This is duplicated in Setup.hs cabalProgram :: Program cabalProgram = (simpleProgram "cabal") { programFindVersion =
src/Main.hs view
@@ -18,6 +18,7 @@ , getVerbosity, Config ) import qualified Distribution.Dev.AddSource as AddSource+import qualified Distribution.Dev.Ghci as Ghci import qualified Distribution.Dev.InvokeCabal as InvokeCabal import qualified Distribution.Dev.InstallDependencies as InstallDeps import Paths_cabal_dev ( version )@@ -25,6 +26,7 @@ allCommands :: [(String, CommandActions)] allCommands = [ ("add-source", AddSource.actions) , ("install-deps", InstallDeps.actions)+ , ("ghci", Ghci.actions) , cabal "build" , cabal "clean" , cabal "configure"