Skip to content

Commit 3e05a15

Browse files
authored
Merge pull request #6541 from phadej/accept-any-modversion
Accept any pkg-config --modversion output
2 parents b744cde + cf67129 commit 3e05a15

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

Cabal/Distribution/Simple/Configure.hs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ import Distribution.Simple.BuildTarget
7979
import Distribution.Simple.LocalBuildInfo
8080
import Distribution.Types.ExeDependency
8181
import Distribution.Types.LegacyExeDependency
82+
import Distribution.Types.PkgconfigVersion
8283
import Distribution.Types.PkgconfigDependency
8384
import Distribution.Types.PkgconfigVersionRange
8485
import Distribution.Types.LocalBuildInfo
@@ -119,7 +120,7 @@ import Data.ByteString.Lazy ( ByteString )
119120
import qualified Data.ByteString as BS
120121
import qualified Data.ByteString.Lazy.Char8 as BLC8
121122
import Data.List
122-
( (\\), partition, inits, stripPrefix, intersect )
123+
( (\\), partition, inits, stripPrefix, intersect, dropWhileEnd )
123124
import Data.Either
124125
( partitionEithers )
125126
import qualified Data.Map as Map
@@ -1616,13 +1617,11 @@ configurePkgconfigPackages verbosity pkg_descr progdb enabled
16161617
version <- pkgconfig ["--modversion", pkg]
16171618
`catchIO` (\_ -> die' verbosity notFound)
16181619
`catchExit` (\_ -> die' verbosity notFound)
1619-
case simpleParsec version of
1620-
Nothing -> die' verbosity
1621-
"parsing output of pkg-config --modversion failed"
1622-
Just v | not (withinPkgconfigVersionRange v range) ->
1623-
die' verbosity (badVersion v)
1624-
| otherwise ->
1625-
info verbosity (depSatisfied v)
1620+
let trim = dropWhile isSpace . dropWhileEnd isSpace
1621+
let v = PkgconfigVersion (toUTF8BS $ trim version)
1622+
if not (withinPkgconfigVersionRange v range)
1623+
then die' verbosity (badVersion v)
1624+
else info verbosity (depSatisfied v)
16261625
where
16271626
notFound = "The pkg-config package '" ++ pkg ++ "'"
16281627
++ versionRequirement

0 commit comments

Comments
 (0)