Skip to content

Commit b43fb62

Browse files
committed
cabal-install-solver: fix pkgconf 1.9 --modversion regression
Check that the numbers of *versions* output is equal to the number of pkgconf's fixes #8923 The pkgconf behavior was reverted upstream in 2.0 (this should cover the case too of checking that equal pkgList lines are output also)
1 parent 15b5b05 commit b43fb62

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

cabal-install-solver/src/Distribution/Solver/Types/PkgConfigDb.hs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,12 @@ readPkgConfigDb verbosity progdb = handle ioErrorHandler $ do
6767
-- The output of @pkg-config --list-all@ also includes a description
6868
-- for each package, which we do not need.
6969
let pkgNames = map (takeWhile (not . isSpace)) pkgList
70-
(pkgVersions, _errs, exitCode) <-
70+
(outs, _errs, exitCode) <-
7171
getProgramInvocationOutputAndErrors verbosity
7272
(programInvocation pkgConfig ("--modversion" : pkgNames))
73-
if exitCode == ExitSuccess && length pkgNames == length pkgList
74-
then (return . pkgConfigDbFromList . zip pkgNames) (lines pkgVersions)
73+
let pkgVersions = lines outs
74+
if exitCode == ExitSuccess && length pkgVersions == length pkgNames
75+
then (return . pkgConfigDbFromList . zip pkgNames) pkgVersions
7576
else
7677
-- if there's a single broken pc file the above fails, so we fall back
7778
-- into calling it individually

changelog.d/pr-9391

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
synopsis: fix pkgconfig-depends for pkgconf-1.9
2+
packages: cabal-install-solver
3+
prs: #9391
4+
issues: #8923

0 commit comments

Comments
 (0)