cabal-gild-1.0.2.1: source/library/CabalGild/Type/VersionRange.hs
module CabalGild.Type.VersionRange where
import qualified Distribution.Types.PkgconfigVersion as PkgconfigVersion
import qualified Distribution.Types.PkgconfigVersionRange as PkgconfigVersionRange
import qualified Distribution.Types.Version as Version
import qualified Distribution.Types.VersionRange as VersionRange
-- | This type exists to provide an 'Ord' instance for
-- 'VersionRange.VersionRange', which was added in @Cabal-syntax-3.10.1.0@.
data VersionRange a
= Any
| This a
| Later a
| Earlier a
| Union (VersionRange a) (VersionRange a)
| Intersect (VersionRange a) (VersionRange a)
deriving (Eq, Ord, Show)
fromPkgconfigVersionRange ::
PkgconfigVersionRange.PkgconfigVersionRange ->
VersionRange PkgconfigVersion.PkgconfigVersion
fromPkgconfigVersionRange x = case x of
PkgconfigVersionRange.PcAnyVersion -> Any
PkgconfigVersionRange.PcThisVersion v -> This v
PkgconfigVersionRange.PcLaterVersion v -> Later v
PkgconfigVersionRange.PcEarlierVersion v -> Earlier v
PkgconfigVersionRange.PcOrLaterVersion v -> Union (Later v) (This v)
PkgconfigVersionRange.PcOrEarlierVersion v -> Union (Earlier v) (This v)
PkgconfigVersionRange.PcUnionVersionRanges v w -> Union (fromPkgconfigVersionRange v) (fromPkgconfigVersionRange w)
PkgconfigVersionRange.PcIntersectVersionRanges v w -> Intersect (fromPkgconfigVersionRange v) (fromPkgconfigVersionRange w)
fromVersionRange :: VersionRange.VersionRange -> VersionRange Version.Version
fromVersionRange =
VersionRange.foldVersionRange
Any
This
Later
Earlier
Union
Intersect