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 <[email protected]> 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 ] _______________________________________________ Cvs-libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-libraries
