@@ -18,6 +18,8 @@ import qualified Distribution.Text as DT
1818import Distribution.Version as X (Version (..), VersionRange)
1919import System.Exit (ExitCode (ExitSuccess))
2020import Data.Aeson (ToJSON, FromJSON)
21+import qualified Distribution.Version as C
22+import Distribution.Version as X (withinRange)
2123
2224unPackageName :: PackageName -> Text
2325unPackageName (PackageName str) = pack str
@@ -82,3 +84,6 @@ newtype Maintainer = Maintainer { unMaintainer :: Text }
8284-- | Name of an executable.
8385newtype ExeName = ExeName { unExeName :: Text }
8486 deriving (Show, Eq, Ord, Hashable, ToJSON, FromJSON, IsString)
87+
88+intersectVersionRanges :: VersionRange -> VersionRange -> VersionRange
89+intersectVersionRanges x y = C.simplifyVersionRange $ C.intersectVersionRanges x y