From 975fc46e0055a9f9b434d594569a18eaa0ef0320 Mon Sep 17 00:00:00 2001 From: Luite Stegeman <stegeman@gmail.com> Date: Thu, 26 Mar 2015 13:01:21 +0100 Subject: [PATCH] fix ghcjs-pkg version number handling --- Cabal/Distribution/Simple/GHCJS.hs | 18 +++++++++--------- Cabal/Distribution/Simple/Program/Builtin.hs | 3 ++- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/Cabal/Distribution/Simple/GHCJS.hs b/Cabal/Distribution/Simple/GHCJS.hs index b2cfae4439..82784c45de 100644 --- a/Cabal/Distribution/Simple/GHCJS.hs +++ b/Cabal/Distribution/Simple/GHCJS.hs @@ -100,20 +100,20 @@ configure verbosity hcPath hcPkgPath conf0 = do } anyVersion (userMaybeSpecifyPath "ghcjs-pkg" hcPkgPath conf1) - Just ghcjsPkgGhcVersion <- findGhcjsPkgGhcVersion - verbosity (programPath ghcjsPkgProg) + Just ghcjsPkgGhcjsVersion <- findGhcjsPkgGhcjsVersion + verbosity (programPath ghcjsPkgProg) - when (ghcjsVersion /= ghcjsPkgVersion) $ die $ + when (ghcjsVersion /= ghcjsPkgGhcjsVersion) $ die $ "Version mismatch between ghcjs and ghcjs-pkg: " ++ programPath ghcjsProg ++ " is version " ++ display ghcjsVersion ++ " " - ++ programPath ghcjsPkgProg ++ " is version " ++ display ghcjsPkgVersion + ++ programPath ghcjsPkgProg ++ " is version " ++ display ghcjsPkgGhcjsVersion - when (ghcjsGhcVersion /= ghcjsPkgGhcVersion) $ die $ + when (ghcjsGhcVersion /= ghcjsPkgVersion) $ die $ "Version mismatch between ghcjs and ghcjs-pkg: " ++ programPath ghcjsProg ++ " was built with GHC version " ++ display ghcjsGhcVersion ++ " " ++ programPath ghcjsPkgProg - ++ " was built with GHC version " ++ display ghcjsPkgGhcVersion + ++ " was built with GHC version " ++ display ghcjsPkgVersion -- be sure to use our versions of hsc2hs, c2hs, haddock and ghc let hsc2hsProgram' = @@ -869,9 +869,9 @@ findGhcjsGhcVersion :: Verbosity -> FilePath -> IO (Maybe Version) findGhcjsGhcVersion verbosity pgm = findProgramVersion "--numeric-ghc-version" id verbosity pgm -findGhcjsPkgGhcVersion :: Verbosity -> FilePath -> IO (Maybe Version) -findGhcjsPkgGhcVersion verbosity pgm = - findProgramVersion "--numeric-ghc-version" id verbosity pgm +findGhcjsPkgGhcjsVersion :: Verbosity -> FilePath -> IO (Maybe Version) +findGhcjsPkgGhcjsVersion verbosity pgm = + findProgramVersion "--numeric-ghcjs-version" id verbosity pgm -- ----------------------------------------------------------------------------- -- Registering diff --git a/Cabal/Distribution/Simple/Program/Builtin.hs b/Cabal/Distribution/Simple/Program/Builtin.hs index dc10b2b2be..a4e56190dd 100644 --- a/Cabal/Distribution/Simple/Program/Builtin.hs +++ b/Cabal/Distribution/Simple/Program/Builtin.hs @@ -144,9 +144,10 @@ ghcjsProgram = (simpleProgram "ghcjs") { programFindVersion = findProgramVersion "--numeric-ghcjs-version" id } +-- note: version is the version number of the GHC version that ghcjs-pkg was built with ghcjsPkgProgram :: Program ghcjsPkgProgram = (simpleProgram "ghcjs-pkg") { - programFindVersion = findProgramVersion "--ghcjs-version" $ \str -> + programFindVersion = findProgramVersion "--version" $ \str -> -- Invoking "ghcjs-pkg --version" gives a string like -- "GHCJS package manager version 6.4.1" case words str of -- GitLab