Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/53fc7ec42c2218452678bad015365e4a30b5f35d

>---------------------------------------------------------------

commit 53fc7ec42c2218452678bad015365e4a30b5f35d
Author: bjorn <[email protected]>
Date:   Sun Oct 7 12:13:50 2007 +0000

    Set prefix to .cabal by default.

>---------------------------------------------------------------

 .../src/Network/Hackage/CabalInstall/Clean.hs      |    5 +--
 .../src/Network/Hackage/CabalInstall/Config.hs     |   25 ++++++++-----------
 .../src/Network/Hackage/CabalInstall/Fetch.hs      |    2 +-
 .../src/Network/Hackage/CabalInstall/Setup.hs      |    4 +-
 4 files changed, 16 insertions(+), 20 deletions(-)

diff --git a/cabal-install/src/Network/Hackage/CabalInstall/Clean.hs 
b/cabal-install/src/Network/Hackage/CabalInstall/Clean.hs
index d017544..58cd960 100644
--- a/cabal-install/src/Network/Hackage/CabalInstall/Clean.hs
+++ b/cabal-install/src/Network/Hackage/CabalInstall/Clean.hs
@@ -14,13 +14,12 @@ module Network.Hackage.CabalInstall.Clean
     ( clean
     ) where
 
-import Network.Hackage.CabalInstall.Types (ConfigFlags)
-import Network.Hackage.CabalInstall.Config (packagesDirectory)
+import Network.Hackage.CabalInstall.Types (ConfigFlags(..))
 
 import System.Directory (removeDirectoryRecursive)
 
 -- | 'clean' removes all downloaded packages from the {config-dir}\/packages\/ 
directory.
 clean :: ConfigFlags -> IO ()
 clean cfg
-    = removeDirectoryRecursive (packagesDirectory cfg)
+    = removeDirectoryRecursive (configCacheDir cfg)
 
diff --git a/cabal-install/src/Network/Hackage/CabalInstall/Config.hs 
b/cabal-install/src/Network/Hackage/CabalInstall/Config.hs
index 6cb25d7..b7dc943 100644
--- a/cabal-install/src/Network/Hackage/CabalInstall/Config.hs
+++ b/cabal-install/src/Network/Hackage/CabalInstall/Config.hs
@@ -11,8 +11,7 @@
 -- Utilities for handling saved state such as known packages, known servers 
and downloaded packages.
 -----------------------------------------------------------------------------
 module Network.Hackage.CabalInstall.Config
-    ( packagesDirectory
-    , repoCacheDir
+    ( repoCacheDir
     , packageFile
     , packageDir
     , getKnownPackages
@@ -46,7 +45,7 @@ import Distribution.PackageDescription 
(GenericPackageDescription(..)
 import Distribution.ParseUtils (FieldDescr, simpleField, listField, liftField, 
field)
 import Distribution.Simple.Compiler (Compiler)
 import qualified Distribution.Simple.Configure as Configure (configCompiler)
-import Distribution.Simple.InstallDirs (InstallDirTemplates(..), PathTemplate, 
defaultInstallDirs)
+import Distribution.Simple.InstallDirs (InstallDirTemplates(..), PathTemplate, 
toPathTemplate, defaultInstallDirs)
 import Distribution.Simple.Program (ProgramConfiguration, 
defaultProgramConfiguration)
 import Distribution.Version (Dependency, showVersion)
 import Distribution.Verbosity (Verbosity, normal)
@@ -56,13 +55,9 @@ import Network.Hackage.CabalInstall.Types (ConfigFlags (..), 
PkgInfo (..), Repo(
 import Network.Hackage.CabalInstall.Utils
 
 
--- | Full path to the packages directory.
-packagesDirectory :: ConfigFlags -> FilePath
-packagesDirectory cfg = configCacheDir cfg </> "packages"
-
 -- | Full path to the local cache directory for a repository.
 repoCacheDir :: ConfigFlags -> Repo -> FilePath
-repoCacheDir cfg repo = packagesDirectory cfg </> repoName repo
+repoCacheDir cfg repo = configCacheDir cfg </> repoName repo
 
 -- |Generate the full path to the locally cached copy of
 -- the tarball for a given @PackageIdentifer@.
@@ -130,26 +125,28 @@ findCompiler cfg = Configure.configCompiler
 -- * Default config
 --
 
-defaultConfigDir :: IO FilePath
-defaultConfigDir = getAppUserDataDirectory "cabal"
+defaultCabalDir :: IO FilePath
+defaultCabalDir = getAppUserDataDirectory "cabal"
 
 defaultConfigFile :: IO FilePath
-defaultConfigFile = do dir <- defaultConfigDir
+defaultConfigFile = do dir <- defaultCabalDir
                        return $ dir </> "config"
 
 defaultCacheDir :: IO FilePath
-defaultCacheDir = defaultConfigDir
+defaultCacheDir = do dir <- defaultCabalDir
+                     return $ dir </> "packages"
 
 defaultCompiler :: CompilerFlavor
 defaultCompiler = fromMaybe GHC defaultCompilerFlavor
 
 defaultConfigFlags :: IO ConfigFlags
 defaultConfigFlags = 
-    do installDirs <- defaultInstallDirs defaultCompiler True
+    do defaultPrefix <- defaultCabalDir
+       installDirs <- defaultInstallDirs defaultCompiler True
        cacheDir    <- defaultCacheDir
        return $ ConfigFlags 
                { configCompiler    = defaultCompiler
-               , configInstallDirs = installDirs
+               , configInstallDirs = installDirs { prefixDirTemplate = 
toPathTemplate defaultPrefix }
                , configCacheDir    = cacheDir
                , configRepos       = [Repo "hackage.haskell.org" 
"http://hackage.haskell.org/packages/archive";]
                , configVerbose     = normal
diff --git a/cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs 
b/cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs
index bf511d5..27ae78d 100644
--- a/cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs
+++ b/cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs
@@ -32,7 +32,7 @@ import Text.Printf (printf)
 import System.Directory (doesFileExist, createDirectoryIfMissing)
 
 import Network.Hackage.CabalInstall.Types (ConfigFlags (..), 
UnresolvedDependency (..), Repo(..))
-import Network.Hackage.CabalInstall.Config (packagesDirectory, repoCacheDir, 
packageFile, packageDir, pkgURL, message, findCompiler)
+import Network.Hackage.CabalInstall.Config (repoCacheDir, packageFile, 
packageDir, pkgURL, message, findCompiler)
 import Network.Hackage.CabalInstall.Dependency (filterFetchables, 
resolveDependencies)
 
 import Distribution.Package (PackageIdentifier(..), showPackageId)
diff --git a/cabal-install/src/Network/Hackage/CabalInstall/Setup.hs 
b/cabal-install/src/Network/Hackage/CabalInstall/Setup.hs
index aa92156..0872dde 100644
--- a/cabal-install/src/Network/Hackage/CabalInstall/Setup.hs
+++ b/cabal-install/src/Network/Hackage/CabalInstall/Setup.hs
@@ -19,7 +19,7 @@ module Network.Hackage.CabalInstall.Setup
 import Control.Monad (when)
 import Distribution.ParseUtils (parseDependency)
 import Distribution.Compiler (CompilerFlavor(..))
-import Distribution.Simple.InstallDirs (InstallDirTemplates(..))
+import Distribution.Simple.InstallDirs (InstallDirTemplates(..), 
toPathTemplate)
 import Distribution.Verbosity
 import Data.List (find)
 import System.Console.GetOpt (ArgDescr (..), ArgOrder (..), OptDescr (..), 
usageInfo, getOpt')
@@ -97,7 +97,7 @@ configFromOptions = foldr f
                     OptUserInstall u    -> cfg { configUserInstall = u }
                     OptHelp             -> error "Got to setFlagsFromOptions 
OptHelp"
                     OptVerbose v        -> cfg { configVerbose = v }
-         where lib g d = cfg { configInstallDirs = g (configInstallDirs cfg) 
(read $ show d) } -- FIXME: Read PathTemplate seems to require quotes
+         where lib g d = cfg { configInstallDirs = g (configInstallDirs cfg) 
(toPathTemplate d) }
 
 data Cmd = Cmd {
         cmdName         :: String,



_______________________________________________
Cvs-libraries mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-libraries

Reply via email to