@@ -79,6 +79,7 @@ import Distribution.Simple.BuildTarget
79
79
import Distribution.Simple.LocalBuildInfo
80
80
import Distribution.Types.ExeDependency
81
81
import Distribution.Types.LegacyExeDependency
82
+ import Distribution.Types.PkgconfigVersion
82
83
import Distribution.Types.PkgconfigDependency
83
84
import Distribution.Types.PkgconfigVersionRange
84
85
import Distribution.Types.LocalBuildInfo
@@ -119,7 +120,7 @@ import Data.ByteString.Lazy ( ByteString )
119
120
import qualified Data.ByteString as BS
120
121
import qualified Data.ByteString.Lazy.Char8 as BLC8
121
122
import Data.List
122
- ( (\\) , partition , inits , stripPrefix , intersect )
123
+ ( (\\) , partition , inits , stripPrefix , intersect , dropWhileEnd )
123
124
import Data.Either
124
125
( partitionEithers )
125
126
import qualified Data.Map as Map
@@ -1616,13 +1617,11 @@ configurePkgconfigPackages verbosity pkg_descr progdb enabled
1616
1617
version <- pkgconfig [" --modversion" , pkg]
1617
1618
`catchIO` (\ _ -> die' verbosity notFound)
1618
1619
`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)
1626
1625
where
1627
1626
notFound = " The pkg-config package '" ++ pkg ++ " '"
1628
1627
++ versionRequirement
0 commit comments