From b463558792bc1529d3740c024a0e1bf2ec4b62ad Mon Sep 17 00:00:00 2001 From: Mikhail Glushenkov <mikhail.glushenkov@gmail.com> Date: Mon, 13 May 2013 11:29:13 +0200 Subject: [PATCH] Don't die if some deps weren't reinstalled. --- cabal-install/Distribution/Client/Sandbox.hs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/cabal-install/Distribution/Client/Sandbox.hs b/cabal-install/Distribution/Client/Sandbox.hs index 8ce48b0abb..ae73b78b70 100644 --- a/cabal-install/Distribution/Client/Sandbox.hs +++ b/cabal-install/Distribution/Client/Sandbox.hs @@ -76,9 +76,9 @@ import Distribution.Simple.Program ( ProgramConfiguration ) import Distribution.Simple.Setup ( Flag(..) , fromFlag, fromFlagOrDefault ) import Distribution.Simple.SrcDist ( prepareTree ) -import Distribution.Simple.Utils ( die, debug, notice, info +import Distribution.Simple.Utils ( die, debug, notice, info, warn , debugNoWrap, defaultPackageDesc - , intercalate + , intercalate, topHandlerWith , createDirectoryIfMissingVerbose ) import Distribution.Package ( Package(..) ) import Distribution.System ( Platform ) @@ -476,7 +476,7 @@ reinstallAddSourceDeps :: Verbosity -> FilePath -> IO WereDepsReinstalled reinstallAddSourceDeps verbosity config configFlags' configExFlags - installFlags globalFlags sandboxDir = do + installFlags globalFlags sandboxDir = topHandler' $ do let configFlags = configFlags' { configDistPref = Flag (sandboxBuildDir sandboxDir) } indexFile <- tryGetIndexFilePath config @@ -531,6 +531,13 @@ reinstallAddSourceDeps verbosity config configFlags' configExFlags readIORef retVal + where + topHandler' = topHandlerWith $ \_ -> do + warn verbosity "Couldn't reinstall some add-source dependencies." + -- Here we can't know whether any deps have been reinstalled, so we have + -- to be conservative. + return ReinstalledSomeDeps + -- | Check if a sandbox is present and call @reinstallAddSourceDeps@ in that -- case. maybeReinstallAddSourceDeps :: Verbosity -- GitLab