-
barmston authored
Inside a cabal exec environment cabal should be configured to always use the correct environment. When there is a sandbox this is addressed by setting the CABAL_SANDBOX_CONFIG environment variable. However GHC is configured to use the correct package database through setting the GHC_PACKAGE_PATH environment variable to include the sandbox database. The Cabal library previously refused to operate when GHC_PACKAGE_PATH is set in order to avoid having a different view of the package databases to GHC. In the case of a cabal exec environment being loaded for a cabal sandbox, it is safe to allow the use of GHC_PACKAGE_PATH as it is being used to ensure that GHC uses the same package database as cabal does. A check is made that GHC_PACKAGE_PATH matches the value that cabal exec set it to. If it does use of GHC through cabal is permitted. Fixes #1800
0a4aed40