module Distribution.Nixpkgs.Haskell.Constraint ( Constraint, satisfiesConstraint, satisfiesConstraints ) where import Distribution.Package import Distribution.Version import Distribution.Nixpkgs.Haskell.OrphanInstances ( ) type Constraint = Dependency satisfiesConstraint :: PackageIdentifier -> Constraint -> Bool satisfiesConstraint (PackageIdentifier pn v) (Dependency cn vr _) = (pn /= cn) || (v `withinRange` vr) satisfiesConstraints :: PackageIdentifier -> [Constraint] -> Bool satisfiesConstraints p = all (satisfiesConstraint p)