packages feed

cabal-bounds 0.8.5 → 0.8.6

raw patch · 6 files changed

+34/−57 lines, 6 filesdep ~cabal-lensesPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: cabal-lenses

API changes (from Hackage documentation)

Files

CHANGELOG view
@@ -1,3 +1,8 @@+0.8.6+-----+* Build/tested with GHC 7.8.3+* Simplified implementation+ 0.8.5 ----- * Raise upper bounds of dependencies
cabal-bounds.cabal view
@@ -1,5 +1,5 @@ name: cabal-bounds-version: 0.8.5+version: 0.8.6 cabal-version: >=1.9.2 build-type: Simple license: BSD3@@ -46,6 +46,7 @@     > $ cabal-bounds drop --executable=blub myproject.cabal category: Utils, Development author: Daniel Trstenjak+tested-with: GHC ==7.6.2 GHC ==7.6.3 GHC ==7.8.3 extra-source-files:     README.md     CHANGELOG@@ -72,7 +73,7 @@         unordered-containers >=0.2.3.3 && <0.3,         transformers >=0.3.0.0 && <0.5,         either >=4.1.1 && <4.4,-        cabal-lenses ==0.3.*,+        cabal-lenses ==0.4.*,         Cabal >=1.18.0 && <1.21     exposed-modules:         CabalBounds.Args
lib/CabalBounds/Drop.hs view
@@ -12,7 +12,7 @@ import Data.List (foldl') import Distribution.PackageDescription (GenericPackageDescription) import Distribution.Package (Dependency(..))-import Distribution.Version (mkVersionIntervals, fromVersionIntervals, asVersionIntervals, UpperBound(..), anyVersion)+import Distribution.Version (UpperBound(..), anyVersion)   drop :: DropBound -> [CL.Section] -> Dependencies -> GenericPackageDescription -> GenericPackageDescription@@ -28,15 +28,5 @@   dropFromDependency :: DropBound -> Dependency -> Dependency-dropFromDependency DropUpper (Dependency pkgName versionRange) = Dependency pkgName versionRange'-   where-      versionRange'-         | Just vi <- mkVersionIntervals intervals'-         = fromVersionIntervals vi--         | otherwise-         = versionRange--      intervals' = map (& _2 .~ NoUpperBound) (asVersionIntervals versionRange)--dropFromDependency DropBoth (Dependency pkgName _) = Dependency pkgName anyVersion+dropFromDependency DropUpper dep = dep & CL.versionRange . CL.intervals . traversed . CL.upperBound .~ NoUpperBound+dropFromDependency DropBoth  dep = dep & CL.versionRange .~ anyVersion
lib/CabalBounds/Dump.hs view
@@ -4,7 +4,6 @@    ) where  import Distribution.PackageDescription (GenericPackageDescription)-import qualified Distribution.Version as V import qualified Data.HashMap.Strict as HM import Data.List (foldl') import Data.Maybe (fromMaybe)@@ -22,13 +21,12 @@       addLibsFromPkgDescrp libs pkgDescrp = foldl' addLibFromDep libs (pkgDescrp ^.. CL.allDependency)        addLibFromDep libs dep-         | depLowerBound /= CL.noLowerBound-         = HM.insertWith min depPkgName lowerVersionBranch libs+         | lowerBound_ /= CL.noLowerBound+         = HM.insertWith min pkgName_ versionBranch_ libs           | otherwise          = libs          where-            depPkgName = dep ^. CL.depPackageName . CL.pkgNameString--            depLowerBound@(V.LowerBound (V.Version { V.versionBranch = lowerVersionBranch }) _) =-               fromMaybe CL.noLowerBound (dep ^? CL.depVersionRange . CL.rangeToIntervals . _head . CL.lowerBound)+            pkgName_       = dep ^. CL.packageName . _Wrapped+            versionBranch_ = lowerBound_ ^. CL.version . CL.versionBranchL+            lowerBound_    = fromMaybe CL.noLowerBound (dep ^? CL.versionRange . CL.intervals . _head . CL.lowerBound)
lib/CabalBounds/Update.hs view
@@ -7,6 +7,7 @@ import qualified Distribution.Package as P import qualified Distribution.Version as V import Control.Lens+import Control.Applicative ((<$>)) import CabalBounds.Bound (UpdateBound(..)) import CabalBounds.Dependencies (Dependencies(..), filterDependency) import CabalBounds.VersionComp (VersionComp(..))@@ -15,7 +16,6 @@ import qualified Data.HashMap.Strict as HM import Data.Maybe (fromMaybe) -type PkgName    = String type LibName    = String type LibVersion = V.Version type Libraries  = HM.HashMap LibName LibVersion@@ -39,19 +39,16 @@       if ifMissing && lowerBound_ /= CL.noLowerBound          then Nothing          else do-            version <- HM.lookup pkgName_ libs-            let newLowerVersion = comp `compOf` version+            lowerVersion <- HM.lookup pkgName_ libs+            let newLowerVersion = comp `compOf` lowerVersion                 newLowerBound   = V.LowerBound newLowerVersion V.InclusiveBound-                vrange          = fromMaybe (V.orLaterVersion newLowerVersion)-                                            (modifyVersionIntervals (updateLower newLowerBound) versionRange_)-            return $ mkDependency pkgName_ vrange+                newIntervals    = (versionRange_ ^. CL.intervals) & _head . CL.lowerBound .~ newLowerBound+                vrange          = fromMaybe (V.orLaterVersion newLowerVersion) (mkVersionRange newIntervals)+            return $ dep & CL.versionRange .~ vrange    where-      updateLower newLowerBound []        = [(newLowerBound, V.NoUpperBound)]-      updateLower newLowerBound intervals = intervals & _head . CL.lowerBound .~ newLowerBound--      pkgName_      = pkgName dep-      versionRange_ = versionRange dep-      lowerBound_   = fromMaybe CL.noLowerBound $ V.asVersionIntervals versionRange_ ^? _head . CL.lowerBound+      pkgName_      = dep ^. CL.packageName . _Wrapped+      versionRange_ = dep ^. CL.versionRange+      lowerBound_   = fromMaybe CL.noLowerBound $ versionRange_ ^? CL.intervals . _head . CL.lowerBound  updateDependency (UpdateUpper comp ifMissing) libs dep =    fromMaybe dep $@@ -61,25 +58,19 @@             upperVersion <- HM.lookup pkgName_ libs             let newUpperVersion = comp `compOf` upperVersion                 newUpperBound   = V.UpperBound (nextVersion newUpperVersion) V.ExclusiveBound-            vrange <- modifyVersionIntervals (updateUpper newUpperBound) versionRange_-            return $ mkDependency pkgName_ vrange+                newIntervals    = (versionRange_ ^. CL.intervals) & _last . CL.upperBound .~ newUpperBound+                vrange          = fromMaybe (V.earlierVersion newUpperVersion) (mkVersionRange newIntervals)+            return $ dep & CL.versionRange .~ vrange    where-      versionRange_ = versionRange dep-      pkgName_      = pkgName dep-      upperBound_   = fromMaybe V.NoUpperBound $ V.asVersionIntervals versionRange_ ^? _head . CL.upperBound--      updateUpper newUpperBound []        = [(CL.noLowerBound, newUpperBound)]-      updateUpper newUpperBound intervals = intervals & _last . CL.upperBound .~ newUpperBound+      versionRange_ = dep ^. CL.versionRange+      pkgName_      = dep ^. CL.packageName . _Wrapped+      upperBound_   = fromMaybe V.NoUpperBound $ versionRange_ ^? CL.intervals . _last . CL.upperBound  updateDependency (UpdateBoth lowerComp upperComp ifMissing) libs dep =     updateDependency (UpdateLower lowerComp ifMissing) libs $     updateDependency (UpdateUpper upperComp ifMissing) libs dep  -modifyVersionIntervals :: ([V.VersionInterval] -> [V.VersionInterval]) -> V.VersionRange -> Maybe V.VersionRange-modifyVersionIntervals f = fmap V.fromVersionIntervals . V.mkVersionIntervals . f . V.asVersionIntervals-- compOf :: VersionComp -> V.Version -> V.Version Major1 `compOf` version =    version & CL.versionBranchL %~ (take 1 . ensureMinimalVersionBranch Major1)@@ -111,13 +102,5 @@ nextVersion version = version & CL.versionBranchL . _last %~ (+ 1)  -pkgName :: P.Dependency -> PkgName-pkgName (P.Dependency (P.PackageName name) _) = name---versionRange :: P.Dependency -> V.VersionRange-versionRange (P.Dependency _ vrange) = vrange---mkDependency :: PkgName -> V.VersionRange -> P.Dependency-mkDependency name = P.Dependency (P.PackageName name)+mkVersionRange :: [V.VersionInterval] -> Maybe V.VersionRange+mkVersionRange vis = V.fromVersionIntervals <$> V.mkVersionIntervals vis
lib/CabalBounds/VersionComp.hs view
@@ -6,7 +6,7 @@    , defaultUpperComp    ) where -import Data.Data (Data(..), Typeable(..))+import Data.Data (Data(..), Typeable)  -- | The component of a version number A.B.C -> Major1.Major2.Minor data VersionComp = Major1