cabal-plan 0.7.3.0 → 0.7.4.0
raw patch · 6 files changed
+124/−113 lines, 6 filesdep −base-compatdep ~Cabal-syntaxdep ~aesondep ~ansi-terminalPVP ok
version bump matches the API change (PVP)
Dependencies removed: base-compat
Dependency ranges changed: Cabal-syntax, aeson, ansi-terminal, base, base16-bytestring, bytestring, cabal-install-parsers, containers, filepath, optparse-applicative, singleton-bool, tar, text, these, transformers, vector, zlib
API changes (from Hackage documentation)
Files
- ChangeLog.md +9/−0
- cabal-plan.cabal +112/−102
- src-exe/CText.hs +1/−1
- src-exe/Flag.hs +0/−3
- src-exe/LicenseReport.hs +1/−3
- src-exe/cabal-plan.hs +1/−4
ChangeLog.md view
@@ -1,5 +1,14 @@ # Revision history for `cabal-plan` +## 0.7.4.0++* Use Cabal-syntax-3.12+* Support GHC-8.6.5...9.10.1++## 0.7.3.0++* Use Cabal-syntax-3.10+ ## 0.7.2.3 * Fix issue in previous release (license generation didn't work at all)
cabal-plan.cabal view
@@ -1,52 +1,52 @@-cabal-version: 2.2-name: cabal-plan-version: 0.7.3.0--synopsis: Library and utility for processing cabal's plan.json file-description: {-This package provides a library (see "Cabal.Plan") for decoding @plan.json@ files as-well as the simple tool @cabal-plan@ for extracting and pretty printing-the information contained in the @plan.json@ file.-.-@plan.json@ files are generated by [cabal](https://hackage.haskell.org/package/cabal-install)'s [Nix-style local builds](http://cabal.readthedocs.io/en/latest/nix-local-build.html) and contain detailed information about the build/install plan computed by the cabal solver.-.-== @cabal-plan@ utility-.-The @cabal-plan@ executable (enabled via the @exe@ cabal flag) provides various operations:-.-[info] Show basic report of dependency tree-[show] Dump 'PlanJson' data-structure via 'Show' instance-[tred] Show dependency tree as a graph-[diff] Diff two install plans-[list-bins] List all binaries-[list-bin] List single binary (useful for scripting, e.g. @cabal list-bin exe:cabal-plan@)-[fingerprint] Print SHA256 sums of dependencies' source tarballs and cabal files-[dot] Generate graph of dependencies in @.dot@ format-[topo] Print plan topologically sorted-[license-report] Generate license report for a component (only available when built with @license-report@ flag enabled); see <src/example/cabal-plan.md report example for cabal-plan> (<src/example/cabal-plan.html Pandoc rendered HTML>)-.-See also ["New things in Haskell package QA" Blogpost](https://oleg.fi/gists/posts/2018-01-08-haskell-package-qa.html) for a description of the @topo@ and @dot@ operations as well as how to enable tab-completion.-}+cabal-version: 2.2+name: cabal-plan+version: 0.7.4.0+synopsis: Library and utility for processing cabal's plan.json file+description:+ This package provides a library (see "Cabal.Plan") for decoding @plan.json@ files as+ well as the simple tool @cabal-plan@ for extracting and pretty printing+ the information contained in the @plan.json@ file.+ .+ @plan.json@ files are generated by [cabal](https://hackage.haskell.org/package/cabal-install)'s [Nix-style local builds](http://cabal.readthedocs.io/en/latest/nix-local-build.html) and contain detailed information about the build/install plan computed by the cabal solver.+ .+ == @cabal-plan@ utility+ .+ The @cabal-plan@ executable (enabled via the @exe@ cabal flag) provides various operations:+ .+ [info] Show basic report of dependency tree+ [show] Dump 'PlanJson' data-structure via 'Show' instance+ [tred] Show dependency tree as a graph+ [diff] Diff two install plans+ [list-bins] List all binaries+ [list-bin] List single binary (useful for scripting, e.g. @cabal list-bin exe:cabal-plan@)+ [fingerprint] Print SHA256 sums of dependencies' source tarballs and cabal files+ [dot] Generate graph of dependencies in @.dot@ format+ [topo] Print plan topologically sorted+ [license-report] Generate license report for a component (only available when built with @license-report@ flag enabled); see <src/example/cabal-plan.md report example for cabal-plan> (<src/example/cabal-plan.html Pandoc rendered HTML>)+ .+ See also ["New things in Haskell package QA" Blogpost](https://oleg.fi/gists/posts/2018-01-08-haskell-package-qa.html) for a description of the @topo@ and @dot@ operations as well as how to enable tab-completion. -bug-reports: https://github.com/hvr/cabal-plan/issues-license: GPL-2.0-or-later-license-files: LICENSE.GPLv2 LICENSE.GPLv3-author: Herbert Valerio Riedel-maintainer: hvr@gnu.org-copyright: 2016 Herbert Valerio Riedel-category: Development-build-type: Simple+bug-reports: https://github.com/hvr/cabal-plan/issues+license: GPL-2.0-or-later+license-files:+ LICENSE.GPLv2+ LICENSE.GPLv3 +author: Herbert Valerio Riedel+maintainer: hvr@gnu.org+copyright: 2016 Herbert Valerio Riedel+category: Development+build-type: Simple tested-with:- GHC==9.6.1,- GHC==9.4.4,- GHC==9.2.7,- GHC==9.0.2,- GHC==8.10.7,- GHC==8.8.4,- GHC==8.6.5,- GHC==8.4.4,- GHC==8.2.2+ GHC ==8.6.5+ || ==8.8.4+ || ==8.10.7+ || ==9.0.2+ || ==9.2.8+ || ==9.4.8+ || ==9.6.5+ || ==9.8.2+ || ==9.10.1 extra-source-files: ChangeLog.md@@ -61,86 +61,96 @@ description: Enable @exe:cabal-plan@ component flag license-report- description: Enable @license-report@ sub-command (only relevant when the @exe@ flag is active)- manual: True- default: False+ description:+ Enable @license-report@ sub-command (only relevant when the @exe@ flag is active) + manual: True+ default: False+ flag _ description: Enable underlining of primary unit-ids- manual: True- default: False+ manual: True+ default: False library- default-language: Haskell2010- other-extensions: OverloadedStrings- GeneralizedNewtypeDeriving- RecordWildCards- exposed-modules: Cabal.Plan-- build-depends: base ^>= 4.10.0.0 || ^>=4.11.0.0 || ^>=4.12.0.0 || ^>=4.13.0.0 || ^>=4.14.0.0 || ^>=4.15.0.0 || ^>=4.16.0.0 || ^>=4.17.0.0 || ^>=4.18.0.0- , aeson ^>= 2.0.0.0 || ^>=2.1.0.0- , bytestring ^>= 0.10.8.0 || ^>=0.11.1.0- , containers ^>= 0.5.10 || ^>= 0.6.0.1- , text ^>= 1.2.3 || ^>=2.0.1- , directory ^>= 1.3.0.2- , filepath ^>= 1.4.1.2- , base16-bytestring ^>= 1.0.0.0+ default-language: Haskell2010+ other-extensions:+ GeneralizedNewtypeDeriving+ OverloadedStrings+ RecordWildCards - hs-source-dirs: src+ exposed-modules: Cabal.Plan+ build-depends:+ , aeson ^>=2.2.0.0+ , base ^>=4.12.0.0 || ^>=4.13.0.0 || ^>=4.14.0.0 || ^>=4.15.0.0 || ^>=4.16.0.0 || ^>=4.17.0.0 || ^>=4.18.0.0 || ^>=4.19.0.0 || ^>=4.20.0.0+ , base16-bytestring ^>=1.0.2.0+ , bytestring ^>=0.10.8.2 || ^>=0.11.1.0 || ^>=0.12.0.0+ , containers ^>=0.6.0.1 || ^>=0.7+ , directory ^>=1.3.0.2+ , filepath ^>=1.4.1.2 || ^>=1.5.2.0+ , text ^>=1.2.3.0 || ^>=2.0.1 || ^>=2.1 - ghc-options: -Wall+ hs-source-dirs: src+ ghc-options: -Wall executable cabal-plan- default-language: Haskell2010- other-extensions: RecordWildCards+ default-language: Haskell2010+ other-extensions: RecordWildCards+ hs-source-dirs: src-exe+ main-is: cabal-plan.hs+ other-modules:+ Flag+ LicenseReport+ Paths_cabal_plan+ ProcessLazyByteString - hs-source-dirs: src-exe- main-is: cabal-plan.hs- other-modules: Paths_cabal_plan LicenseReport Flag ProcessLazyByteString- other-modules: CText- autogen-modules: Paths_cabal_plan- ghc-options: -Wall+ other-modules: CText+ autogen-modules: Paths_cabal_plan+ ghc-options: -Wall if flag(exe) -- dependencies w/ inherited version ranges via 'cabal-plan' library -- Note: exe is installable only with GHC-8.0+- build-depends: cabal-plan- , base- , text- , containers- , bytestring- , directory+ build-depends:+ , base+ , bytestring+ , cabal-plan+ , containers+ , directory+ , text -- dependencies which require version bounds- build-depends: mtl ^>= 2.2.2 || ^>=2.3.1- , async ^>= 2.2.2- , ansi-terminal ^>= 0.11- , base-compat ^>= 0.13.0- , optics-core ^>= 0.4- , optparse-applicative ^>=0.17.0.0- , parsec ^>= 3.1.13- , process ^>= 1.6.1.0- , semialign ^>= 1.3- , singleton-bool ^>= 0.1.5- , these ^>= 1.2- , topograph ^>= 1.0.0.2- , transformers ^>= 0.5.2.0 || ^>=0.6.1.0- , vector ^>= 0.12.0.1 || ^>=0.13.0.0+ build-depends:+ , ansi-terminal ^>=1.1+ , async ^>=2.2.2+ , mtl ^>=2.2.2 || ^>=2.3.1+ , optics-core ^>=0.4+ , optparse-applicative ^>=0.18.1.0+ , parsec ^>=3.1.13+ , process ^>=1.6.1.0+ , semialign ^>=1.3+ , singleton-bool ^>=0.1.8+ , these ^>=1.2.1+ , topograph ^>=1.0.0.2+ , transformers ^>=0.5.6.2 || ^>=0.6.1.0+ , vector ^>=0.13.0.0 if flag(license-report)- build-depends: Cabal-syntax ^>=3.10.1.0- , cabal-install-parsers ^>=0.6- , tar ^>= 0.5.1.0- , zlib ^>= 0.6.2- , filepath ^>= 1.4.1.1+ build-depends:+ , cabal-install-parsers ^>=0.6.2+ , Cabal-syntax ^>=3.12.0.0+ , filepath ^>=1.4.1.2 || ^>=1.5.2.0+ , tar ^>=0.6.1.0+ , zlib ^>=0.7.1.0 if flag(_) cpp-options: -DUNDERLINE_SUPPORT+ else buildable: False - ghc-options: -Wall+ ghc-options: -Wall source-repository head- type: git+ type: git location: https://github.com/hvr/cabal-plan
src-exe/CText.hs view
@@ -21,7 +21,7 @@ module System.Console.ANSI, ) where -import Control.Monad.Compat (ap, unless)+import Control.Monad (ap, unless) import Control.Monad.State.Strict (StateT) import Control.Monad.Trans.Class (lift) import Data.Foldable (for_)
src-exe/Flag.hs view
@@ -14,9 +14,6 @@ switchM, ) where -import Prelude ()-import Prelude.Compat- import Control.Applicative ((<|>)) import Data.Semigroup (Semigroup (..)) import Data.Singletons.Bool
src-exe/LicenseReport.hs view
@@ -14,7 +14,7 @@ import qualified Codec.Archive.Tar as Tar import qualified Codec.Archive.Tar.Entry as Tar import qualified Codec.Compression.GZip as GZip-import Control.Monad.Compat (forM, forM_, guard, unless, when)+import Control.Monad (forM, forM_, guard, unless, when) import qualified Data.ByteString.Lazy as BSL import qualified Data.ByteString as BS import Data.Functor.Identity (Identity (..))@@ -35,8 +35,6 @@ import System.FilePath import System.IO (stderr) import Text.ParserCombinators.ReadP-import Prelude ()-import Prelude.Compat import Cabal.Config (readConfig, Config (..), cfgRepoIndex, hackageHaskellOrg)
src-exe/cabal-plan.hs view
@@ -7,10 +7,7 @@ -- | SPDX-License-Identifier: GPL-2.0-or-later module Main where -import Prelude ()-import Prelude.Compat--import Control.Monad.Compat (guard, unless, when)+import Control.Monad (guard, unless, when) import Control.Monad.ST (runST) import Control.Monad.State.Strict (StateT, evalStateT, gets, modify') import Data.Align (align)