Nicer intersect

This commit is contained in:
Michael Snoyman 2014-12-07 12:57:12 +02:00
parent a073ec04ff
commit fe1df2935d
3 changed files with 5 additions and 2 deletions

View File

@ -12,7 +12,6 @@ import Stackage2.Prelude
import Stackage2.BuildPlan import Stackage2.BuildPlan
import Stackage2.PackageDescription import Stackage2.PackageDescription
import Control.Monad.Writer.Strict (execWriter, Writer, tell) import Control.Monad.Writer.Strict (execWriter, Writer, tell)
import Distribution.Version (intersectVersionRanges, withinRange)
checkBuildPlan :: MonadThrow m => BuildPlan FlatComponent -> m () checkBuildPlan :: MonadThrow m => BuildPlan FlatComponent -> m ()
checkBuildPlan BuildPlan {..} checkBuildPlan BuildPlan {..}

View File

@ -17,7 +17,6 @@ module Stackage2.PackageDescription
import Distribution.Package (Dependency (..)) import Distribution.Package (Dependency (..))
import Distribution.PackageDescription import Distribution.PackageDescription
import Distribution.Version (withinRange, intersectVersionRanges)
import Stackage2.CorePackages import Stackage2.CorePackages
import Stackage2.PackageConstraints import Stackage2.PackageConstraints
import Stackage2.PackageIndex import Stackage2.PackageIndex

View File

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