From b8819818f31e29d9b1d64851acf9914a3cfd2843 Mon Sep 17 00:00:00 2001
From: Mikhail Glushenkov <mikhail.glushenkov@gmail.com>
Date: Sat, 27 Jul 2013 17:26:40 +0200
Subject: [PATCH] Don't completely override 'local-repo' in
 'cabal.sandbox.config'.

Instead, just append '/path/to/.cabal-sandbox/packages' at the end.

See the discussion in #1402.
---
 cabal-install/Distribution/Client/Sandbox.hs                | 5 +----
 .../Distribution/Client/Sandbox/PackageEnvironment.hs       | 6 +-----
 2 files changed, 2 insertions(+), 9 deletions(-)

diff --git a/cabal-install/Distribution/Client/Sandbox.hs b/cabal-install/Distribution/Client/Sandbox.hs
index c99592d7b5..5c21fe5116 100644
--- a/cabal-install/Distribution/Client/Sandbox.hs
+++ b/cabal-install/Distribution/Client/Sandbox.hs
@@ -196,10 +196,7 @@ tryGetIndexFilePath' globalFlags = do
   case paths of
     []  -> die $ "Distribution.Client.Sandbox.tryGetIndexFilePath: " ++
            "no local repos found. " ++ checkConfiguration
-    [p] -> return $ p </> Index.defaultIndexFileName
-    _   -> die $ "Distribution.Client.Sandbox.tryGetIndexFilePath: " ++
-           "too many local repos found. " ++ checkConfiguration
-
+    _   -> return $ (last paths) </> Index.defaultIndexFileName
   where
     checkConfiguration = "Please check your configuration ('"
                          ++ userPackageEnvironmentFile ++ "')."
diff --git a/cabal-install/Distribution/Client/Sandbox/PackageEnvironment.hs b/cabal-install/Distribution/Client/Sandbox/PackageEnvironment.hs
index c9d6eb1c3e..db0a6145da 100644
--- a/cabal-install/Distribution/Client/Sandbox/PackageEnvironment.hs
+++ b/cabal-install/Distribution/Client/Sandbox/PackageEnvironment.hs
@@ -214,10 +214,7 @@ overrideSandboxSettings :: PackageEnvironment -> PackageEnvironment ->
 overrideSandboxSettings pkgEnv0 pkgEnv =
   pkgEnv {
     pkgEnvSavedConfig = mappendedConf {
-       savedGlobalFlags = (savedGlobalFlags mappendedConf) {
-          globalLocalRepos = globalLocalRepos pkgEnvGlobalFlags
-          }
-       , savedConfigureFlags = (savedConfigureFlags mappendedConf) {
+         savedConfigureFlags = (savedConfigureFlags mappendedConf) {
           configPackageDBs = configPackageDBs pkgEnvConfigureFlags
           }
        , savedInstallFlags = (savedInstallFlags mappendedConf) {
@@ -229,7 +226,6 @@ overrideSandboxSettings pkgEnv0 pkgEnv =
   where
     pkgEnvConf           = pkgEnvSavedConfig pkgEnv
     mappendedConf        = (pkgEnvSavedConfig pkgEnv0) `mappend` pkgEnvConf
-    pkgEnvGlobalFlags    = savedGlobalFlags pkgEnvConf
     pkgEnvConfigureFlags = savedConfigureFlags pkgEnvConf
     pkgEnvInstallFlags   = savedInstallFlags pkgEnvConf
 
-- 
GitLab