From 6605fed064becc6a1b7ba73c9ec05cb72862127d Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 29 May 2013 17:45:09 +0300 Subject: [PATCH] no-user-package-conf vs no-user-package-db --- Stackage/GhcPkg.hs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Stackage/GhcPkg.hs b/Stackage/GhcPkg.hs index 29335158..a36458f3 100644 --- a/Stackage/GhcPkg.hs +++ b/Stackage/GhcPkg.hs @@ -5,10 +5,20 @@ import System.Process import Distribution.Text (simpleParse) import Data.Char (isSpace) import qualified Data.Set as Set +import Data.Maybe (fromMaybe) +import Control.Monad (guard) getGlobalPackages :: IO (Set PackageIdentifier) getGlobalPackages = do - output <- readProcess "ghc-pkg" ["--no-user-package-db", "list"] "" + -- Account for a change in command line option name + versionOutput <- readProcess "ghc-pkg" ["--version"] "" + let arg = fromMaybe "--no-user-package-db" $ do + verS:_ <- Just $ reverse $ words versionOutput + v76 <- simpleParse "7.6" + ver <- simpleParse verS + guard $ ver < (v76 :: Version) + return "--no-user-package-conf" + output <- readProcess "ghc-pkg" [arg, "list"] "" fmap Set.unions $ mapM parse $ drop 1 $ lines output where parse s =