Skip to content
  • barmston's avatar
    cabal install can be used inside a cabal exec environment · 0a4aed40
    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