[commit: Cabal] master: Add a symlink-bindir field to the config file (665cfbb)
Ian Lynagh
igloo at earth.li
Fri Jun 24 01:56:55 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/665cfbb18c1c414e27ed15ed23588950f037b2f3
>---------------------------------------------------------------
commit 665cfbb18c1c414e27ed15ed23588950f037b2f3
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Aug 2 02:57:30 2008 +0000
Add a symlink-bindir field to the config file
and link it up with the symlink feature code.
>---------------------------------------------------------------
cabal-install/Distribution/Client/Config.hs | 8 +++++++-
cabal-install/Distribution/Client/Setup.hs | 9 ++++++---
cabal-install/Main.hs | 8 ++++++--
3 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/cabal-install/Distribution/Client/Config.hs b/cabal-install/Distribution/Client/Config.hs
index e35facd..c649eb7 100644
--- a/cabal-install/Distribution/Client/Config.hs
+++ b/cabal-install/Distribution/Client/Config.hs
@@ -77,7 +77,8 @@ data SavedConfig = SavedConfig {
configUploadPassword :: Flag Password,
configUserInstallDirs :: InstallDirs (Flag PathTemplate),
configGlobalInstallDirs :: InstallDirs (Flag PathTemplate),
- configFlags :: ConfigFlags
+ configFlags :: ConfigFlags,
+ configSymlinkBinDir :: Flag FilePath
}
configUserInstall :: SavedConfig -> Flag Bool
@@ -155,6 +156,7 @@ defaultSavedConfig =
, configRemoteRepos = [defaultRemoteRepo]
, configUploadUsername = mempty
, configUploadPassword = mempty
+ , configSymlinkBinDir = mempty
}
defaultRemoteRepo :: RemoteRepo
@@ -220,6 +222,10 @@ configCabalInstallFieldDescrs =
(text . show . fromFlagOrDefault "" . fmap unPassword)
(fmap (fmap Password . emptyToNothing) parseTokenQ)
configUploadPassword (\d cfg -> cfg { configUploadPassword = d })
+ , simpleField "symlink-bindir"
+ (text . show . fromFlagOrDefault "")
+ (fmap emptyToNothing parseFilePathQ)
+ configSymlinkBinDir (\d cfg -> cfg { configSymlinkBinDir = d })
]
where emptyToNothing "" = mempty
emptyToNothing f = toFlag f
diff --git a/cabal-install/Distribution/Client/Setup.hs b/cabal-install/Distribution/Client/Setup.hs
index 6b0ffb6..1b94075 100644
--- a/cabal-install/Distribution/Client/Setup.hs
+++ b/cabal-install/Distribution/Client/Setup.hs
@@ -205,7 +205,8 @@ data InstallFlags = InstallFlags {
installOnly :: Flag Bool,
installRootCmd :: Flag String,
installCabalVersion :: Flag Version,
- installLogFile :: Flag FilePath
+ installLogFile :: Flag FilePath,
+ installSymlinkBinDir:: Flag FilePath
}
defaultInstallFlags :: InstallFlags
@@ -214,7 +215,8 @@ defaultInstallFlags = InstallFlags {
installOnly = Flag False,
installRootCmd = mempty,
installCabalVersion = mempty,
- installLogFile = mempty
+ installLogFile = mempty,
+ installSymlinkBinDir= mempty
}
installCommand :: CommandUI (Cabal.ConfigFlags, InstallFlags)
@@ -266,7 +268,8 @@ instance Monoid InstallFlags where
installOnly = combine installOnly,
installRootCmd = combine installRootCmd,
installCabalVersion = combine installCabalVersion,
- installLogFile = combine installLogFile
+ installLogFile = combine installLogFile,
+ installSymlinkBinDir= combine installSymlinkBinDir
}
where combine field = field a `mappend` field b
diff --git a/cabal-install/Main.hs b/cabal-install/Main.hs
index 0051e8b..741226e 100644
--- a/cabal-install/Main.hs
+++ b/cabal-install/Main.hs
@@ -163,7 +163,9 @@ installAction (cflags,iflags) extraArgs = do
(comp, conf) <- configCompilerAux cflags'
install verbosity
(configPackageDB cflags') (configRepos config)
- comp conf cflags' iflags
+ comp conf cflags' iflags {
+ installSymlinkBinDir = configSymlinkBinDir config
+ }
[ UnresolvedDependency pkg (Cabal.configConfigurationsFlags cflags')
| pkg <- pkgs ]
@@ -202,7 +204,9 @@ upgradeAction (cflags,iflags) extraArgs = do
(comp, conf) <- configCompilerAux cflags'
upgrade verbosity
(configPackageDB cflags') (configRepos config)
- comp conf cflags' iflags
+ comp conf cflags' iflags {
+ installSymlinkBinDir = configSymlinkBinDir config
+ }
[ UnresolvedDependency pkg (Cabal.configConfigurationsFlags cflags')
| pkg <- pkgs ]
More information about the Cvs-libraries
mailing list