Skip to content

Commit

Permalink
cabal-install-solver: fix pkgconf 1.9 --modversion regression
Browse files Browse the repository at this point in the history
Check that the numbers of *versions* output is equal to the number of pkgconf's

fixes haskell#8923

The pkgconf behavior was reverted upstream in 2.0

(checking that equal pkgnames are output also doesn't hurt, this should
cover that case too anyway)
  • Loading branch information
juhp committed Nov 3, 2023
1 parent 1157461 commit bf8e6ff
Showing 1 changed file with 4 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,12 @@ readPkgConfigDb verbosity progdb = handle ioErrorHandler $ do
-- The output of @pkg-config --list-all@ also includes a description
-- for each package, which we do not need.
let pkgNames = map (takeWhile (not . isSpace)) pkgList
(pkgVersions, _errs, exitCode) <-
(pkgVersions_, _errs, exitCode) <-
getProgramInvocationOutputAndErrors verbosity
(programInvocation pkgConfig ("--modversion" : pkgNames))
if exitCode == ExitSuccess && length pkgNames == length pkgList
then (return . pkgConfigDbFromList . zip pkgNames) (lines pkgVersions)
let pkgVersions = lines pkgVersions_
if exitCode == ExitSuccess && length pkgVersions == length pkgList
then (return . pkgConfigDbFromList . zip pkgNames) pkgVersions
else
-- if there's a single broken pc file the above fails, so we fall back
-- into calling it individually
Expand Down

0 comments on commit bf8e6ff

Please sign in to comment.