cabal-lenses 0.5.0 → 0.6.0
raw patch · 10 files changed
+54/−36 lines, 10 filesdep ~CabalPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: Cabal
API changes (from Hackage documentation)
- CabalLenses.Package: instance Control.Lens.Wrapped.Wrapped Distribution.Package.PackageName
- CabalLenses.Package: instance t ~ Distribution.Package.PackageName => Control.Lens.Wrapped.Rewrapped Distribution.Package.PackageName t
- CabalLenses.PackageDescription: benchmarkEnabledL :: Lens' Benchmark Bool
- CabalLenses.PackageDescription: testEnabledL :: Lens' TestSuite Bool
- CabalLenses.Version: versionTagsL :: Lens' Version [String]
+ CabalLenses.Package: instance Control.Lens.Wrapped.Wrapped Distribution.Types.PackageName.PackageName
+ CabalLenses.Package: instance t ~ Distribution.Types.PackageName.PackageName => Control.Lens.Wrapped.Rewrapped Distribution.Types.PackageName.PackageName t
- CabalLenses.PackageDescription: benchmarkNameL :: Lens' Benchmark String
+ CabalLenses.PackageDescription: benchmarkNameL :: Lens' Benchmark UnqualComponentName
- CabalLenses.PackageDescription: condBenchmarksL :: Lens' GenericPackageDescription [(String, CondTree ConfVar [Dependency] Benchmark)]
+ CabalLenses.PackageDescription: condBenchmarksL :: Lens' GenericPackageDescription [(UnqualComponentName, CondTree ConfVar [Dependency] Benchmark)]
- CabalLenses.PackageDescription: condExecutablesL :: Lens' GenericPackageDescription [(String, CondTree ConfVar [Dependency] Executable)]
+ CabalLenses.PackageDescription: condExecutablesL :: Lens' GenericPackageDescription [(UnqualComponentName, CondTree ConfVar [Dependency] Executable)]
- CabalLenses.PackageDescription: condTestSuitesL :: Lens' GenericPackageDescription [(String, CondTree ConfVar [Dependency] TestSuite)]
+ CabalLenses.PackageDescription: condTestSuitesL :: Lens' GenericPackageDescription [(UnqualComponentName, CondTree ConfVar [Dependency] TestSuite)]
- CabalLenses.PackageDescription: condTreeComponentsL :: forall v_aeUv c_aeUw a_aeUx v_am5v. Lens (CondTree v_aeUv c_aeUw a_aeUx) (CondTree v_am5v c_aeUw a_aeUx) [(Condition v_aeUv, CondTree v_aeUv c_aeUw a_aeUx, Maybe (CondTree v_aeUv c_aeUw a_aeUx))] [(Condition v_am5v, CondTree v_am5v c_aeUw a_aeUx, Maybe (CondTree v_am5v c_aeUw a_aeUx))]
+ CabalLenses.PackageDescription: condTreeComponentsL :: forall v_ahRq c_ahRr a_ahRs v_ariW. Lens (CondTree v_ahRq c_ahRr a_ahRs) (CondTree v_ariW c_ahRr a_ahRs) [CondBranch v_ahRq c_ahRr a_ahRs] [CondBranch v_ariW c_ahRr a_ahRs]
- CabalLenses.PackageDescription: condTreeConstraintsL :: forall v_aeUv c_aeUw a_aeUx. Lens' (CondTree v_aeUv c_aeUw a_aeUx) c_aeUw
+ CabalLenses.PackageDescription: condTreeConstraintsL :: forall v_ahRq c_ahRr a_ahRs. Lens' (CondTree v_ahRq c_ahRr a_ahRs) c_ahRr
- CabalLenses.PackageDescription: condTreeDataL :: forall v_aeUv c_aeUw a_aeUx. Lens' (CondTree v_aeUv c_aeUw a_aeUx) a_aeUx
+ CabalLenses.PackageDescription: condTreeDataL :: forall v_ahRq c_ahRr a_ahRs. Lens' (CondTree v_ahRq c_ahRr a_ahRs) a_ahRs
- CabalLenses.PackageDescription: exeNameL :: Lens' Executable String
+ CabalLenses.PackageDescription: exeNameL :: Lens' Executable UnqualComponentName
- CabalLenses.PackageDescription: testNameL :: Lens' TestSuite String
+ CabalLenses.PackageDescription: testNameL :: Lens' TestSuite UnqualComponentName
- CabalLenses.Version: versionBranchL :: Lens' Version [Int]
+ CabalLenses.Version: versionBranchL :: Iso' Version [Int]
Files
- CHANGELOG +4/−0
- cabal-lenses.cabal +2/−2
- lib/CabalLenses/CondVars.hs +5/−5
- lib/CabalLenses/Package.hs +4/−3
- lib/CabalLenses/Section.hs +4/−3
- lib/CabalLenses/Traversals/BuildInfo.hs +5/−2
- lib/CabalLenses/Traversals/Dependency.hs +8/−3
- lib/CabalLenses/Traversals/Internal.hs +18/−13
- lib/CabalLenses/Utils.hs +1/−1
- lib/CabalLenses/Version.hs +3/−4
CHANGELOG view
@@ -1,3 +1,7 @@+0.6.0+-----+* Support cabal 2.0+ 0.5.0 ----- * Add 'findNewDistDir', 'findDistDir' and 'findPackageDB' now return absolute paths
cabal-lenses.cabal view
@@ -1,5 +1,5 @@ name: cabal-lenses-version: 0.5.0+version: 0.6.0 cabal-version: >=1.9.2 build-type: Simple license: BSD3@@ -36,7 +36,7 @@ base >=3 && <5, lens >=4.0.1 && <4.16, unordered-containers >=0.2.3.3 && <0.3,- Cabal >=1.16.0 && <1.25,+ Cabal >=2.0.0.2 && <2.1, either >=4.1.1 && <4.5, system-filepath >=0.4.9 && <0.5, system-fileio >=0.3.12 && <0.4,
lib/CabalLenses/CondVars.hs view
@@ -13,7 +13,7 @@ import qualified Distribution.System as S import Distribution.System (OS(..), Arch(..)) import Distribution.Compiler (CompilerFlavor(..), buildCompilerFlavor)-import Distribution.Version (Version(..), withinRange)+import Distribution.Version (Version, withinRange) import qualified Data.HashMap.Strict as HM import Control.Lens @@ -49,8 +49,8 @@ where flags = HM.fromList $ map nameWithDflt (PD.genPackageFlags pkgDescrp) - nameWithDflt PD.MkFlag { PD.flagName = PD.FlagName name, PD.flagDefault = dflt } =- (name, dflt)+ nameWithDflt PD.MkFlag { PD.flagName = name, PD.flagDefault = dflt } =+ (PD.unFlagName name, dflt) -- | Enable the given flag in 'CondVars'.@@ -84,8 +84,8 @@ | otherwise = cflavor == compilerFlavor condVars - hasVar (PD.Flag (PD.FlagName name))- | Just v <- HM.lookup name (flags condVars)+ hasVar (PD.Flag name)+ | Just v <- HM.lookup (PD.unFlagName name) (flags condVars) = v | otherwise
lib/CabalLenses/Package.hs view
@@ -6,7 +6,8 @@ module CabalLenses.Package where -import Distribution.Package (PackageName(..) , PackageIdentifier(..) , Dependency(..))+import Distribution.Package (PackageIdentifier(..) , Dependency(..))+import Distribution.Types.PackageName import Distribution.Version (VersionRange) import Control.Lens @@ -19,9 +20,9 @@ instance (t ~ PackageName) => Rewrapped PackageName t instance Wrapped PackageName where type Unwrapped PackageName = String- _Wrapped' = iso getPackageName PackageName+ _Wrapped' = iso getPackageName mkPackageName where- getPackageName (PackageName n) = n+ getPackageName pkg = unPackageName pkg {-# INLINE _Wrapped' #-}
lib/CabalLenses/Section.hs view
@@ -5,6 +5,7 @@ ) where import Distribution.PackageDescription (GenericPackageDescription(..))+import Distribution.Types.UnqualComponentName (unUnqualComponentName) type Name = String @@ -20,7 +21,7 @@ allSections :: GenericPackageDescription -> [Section] allSections pkgDescr = concat [ maybe [] (const [Library]) (condLibrary pkgDescr)- , map (Executable . fst) (condExecutables pkgDescr)- , map (TestSuite . fst) (condTestSuites pkgDescr)- , map (Benchmark . fst) (condBenchmarks pkgDescr)+ , map (Executable . unUnqualComponentName . fst) (condExecutables pkgDescr)+ , map (TestSuite . unUnqualComponentName . fst) (condTestSuites pkgDescr)+ , map (Benchmark . unUnqualComponentName . fst) (condBenchmarks pkgDescr) ]
lib/CabalLenses/Traversals/BuildInfo.hs view
@@ -13,13 +13,16 @@ import Control.Lens import Control.Applicative ((<$>), (<*>), pure) import Distribution.PackageDescription (GenericPackageDescription(GenericPackageDescription), BuildInfo)+import Distribution.Types.UnqualComponentName (unUnqualComponentName) -- | A traversal for all 'BuildInfo' of all 'Section' allBuildInfo :: Traversal' GenericPackageDescription BuildInfo-allBuildInfo f (GenericPackageDescription descrp flags lib exes tests benchs) =+allBuildInfo f (GenericPackageDescription descrp flags lib subLibs foreignLibs exes tests benchs) = GenericPackageDescription <$> pure descrp <*> pure flags <*> (_Just . traverseData . libBuildInfoL) f lib+ <*> pure subLibs+ <*> pure foreignLibs <*> (traverse . _2 . traverseData . buildInfoL) f exes <*> (traverse . _2 . traverseData . testBuildInfoL) f tests <*> (traverse . _2 . traverseData . benchmarkBuildInfoL) f benchs@@ -40,4 +43,4 @@ buildInfoIf condVars (Benchmark name) = condBenchmarksL . traverse . having name . _2 . traverseDataIf condVars . benchmarkBuildInfoL -having name = filtered ((== name) . fst)+having name = filtered ((== name) . unUnqualComponentName . fst)
lib/CabalLenses/Traversals/Dependency.hs view
@@ -15,14 +15,17 @@ import Control.Applicative ((<$>), (<*>), pure) import Distribution.PackageDescription (GenericPackageDescription(GenericPackageDescription)) import Distribution.Package (Dependency)+import Distribution.Types.UnqualComponentName (unUnqualComponentName) -- | A traversal for all 'Dependency' of all 'Section'. allDependency :: Traversal' GenericPackageDescription Dependency-allDependency f (GenericPackageDescription descrp flags lib exes tests benchs) =+allDependency f (GenericPackageDescription descrp flags lib subLibs foreignLibs exes tests benchs) = GenericPackageDescription <$> pure descrp <*> pure flags <*> (_Just . traverseDependency) f lib+ <*> pure subLibs+ <*> pure foreignLibs <*> (traverse . _2 . traverseDependency) f exes <*> (traverse . _2 . traverseDependency) f tests <*> (traverse . _2 . traverseDependency) f benchs@@ -30,10 +33,12 @@ -- | A traversal for all 'Dependency' of all 'Section' that match 'CondVars'. allDependencyIf :: CondVars -> Traversal' GenericPackageDescription Dependency-allDependencyIf condVars f (GenericPackageDescription descrp flags lib exes tests benchs) =+allDependencyIf condVars f (GenericPackageDescription descrp flags lib subLibs foreignLibs exes tests benchs) = GenericPackageDescription <$> pure descrp <*> pure flags <*> (_Just . traverseDependencyIf condVars) f lib+ <*> pure subLibs+ <*> pure foreignLibs <*> (traverse . _2 . traverseDependencyIf condVars) f exes <*> (traverse . _2 . traverseDependencyIf condVars) f tests <*> (traverse . _2 . traverseDependencyIf condVars) f benchs@@ -55,4 +60,4 @@ dependencyIf condVars (Benchmark name) = condBenchmarksL . traverse . having name . _2 . traverseDependencyIf condVars -having name = filtered ((== name) . fst)+having name = filtered ((== name) . unUnqualComponentName . fst)
lib/CabalLenses/Traversals/Internal.hs view
@@ -9,10 +9,11 @@ import CabalLenses.CondVars (CondVars) import qualified CabalLenses.CondVars as CV-import Distribution.PackageDescription (CondTree(..), ConfVar)+import Distribution.Types.CondTree (CondTree(..), CondBranch(..))+import Distribution.PackageDescription (ConfVar) import Distribution.Package (Dependency(..))-import Data.Traversable (traverse)-import Control.Applicative (pure, (<$>), (<*>))+import Data.Traversable+import Control.Applicative import Control.Lens (Traversal') type CondTree' a = CondTree ConfVar [Dependency] a@@ -23,10 +24,10 @@ traverseDataIf condVars f (CondNode dat constr comps) = CondNode <$> f dat <*> pure constr- <*> (traverse . traverseCompIf condVars) f comps + <*> (traverse . traverseCompIf condVars) f comps where- traverseCompIf condVars f (cond, ifComp, elseComp) =- (,,) <$> pure cond <*> ifComp' <*> elseComp'+ traverseCompIf condVars f (CondBranch cond ifComp elseComp) =+ CondBranch <$> pure cond <*> ifComp' <*> elseComp' where ifComp' | condMatches = traverseDataIf condVars f ifComp | otherwise = pure ifComp@@ -44,8 +45,10 @@ <*> pure constr <*> (traverse . traverseComp) f comps where- traverseComp f (cond, ifComp, elseComp) =- (,,) <$> pure cond <*> traverseData f ifComp <*> (traverse . traverseData) f elseComp+ traverseComp f (CondBranch cond ifComp elseComp) =+ CondBranch <$> pure cond+ <*> traverseData f ifComp+ <*> (traverse . traverseData) f elseComp -- | A traversal for all 'condTreeConstraints' of 'CondTree' that match 'CondVars'.@@ -53,10 +56,10 @@ traverseDependencyIf condVars f (CondNode dat constr comps) = CondNode <$> pure dat <*> traverse f constr- <*> (traverse . traverseCompIf condVars) f comps + <*> (traverse . traverseCompIf condVars) f comps where- traverseCompIf condVars f (cond, ifComp, elseComp) =- (,,) <$> pure cond <*> ifComp' <*> elseComp'+ traverseCompIf condVars f (CondBranch cond ifComp elseComp) =+ CondBranch <$> pure cond <*> ifComp' <*> elseComp' where ifComp' | condMatches = traverseDependencyIf condVars f ifComp | otherwise = pure ifComp@@ -74,5 +77,7 @@ <*> traverse f constr <*> (traverse . traverseComp) f comps where- traverseComp f (cond, ifComp, elseComp) =- (,,) <$> pure cond <*> traverseDependency f ifComp <*> (traverse . traverseDependency) f elseComp+ traverseComp f (CondBranch cond ifComp elseComp) =+ CondBranch <$> pure cond+ <*> traverseDependency f ifComp+ <*> (traverse . traverseDependency) f elseComp
lib/CabalLenses/Utils.hs view
@@ -1,4 +1,4 @@-{-# Language CPP #-}+{-# Language CPP, PatternGuards #-} module CabalLenses.Utils ( findCabalFile
lib/CabalLenses/Version.hs view
@@ -12,9 +12,8 @@ import Control.Applicative ((<$>)) -makeLensesFor [ ("versionBranch", "versionBranchL")- , ("versionTags" , "versionTagsL")- ] ''Version+versionBranchL :: Iso' Version [Int]+versionBranchL = iso versionNumbers mkVersion intervals :: Iso' VersionRange [VersionInterval]@@ -47,4 +46,4 @@ noLowerBound :: LowerBound-noLowerBound = LowerBound (Version [0] []) InclusiveBound+noLowerBound = LowerBound (mkVersion [0]) InclusiveBound