packages feed

cabal-plan-0.7.4.0: cabal-plan.cabal

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
tested-with:
  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
  example/cabal-plan.html
  example/cabal-plan.md

----------------------------------------------------------------------------

flag exe
  -- this automatic flag allows the cabal solver to disable the exe:cabal-plan component (& its build-deps);
  -- IOW, emulate https://github.com/haskell/cabal/issues/4660
  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

flag _
  description: Enable underlining of primary unit-ids
  manual:      True
  default:     False

library
  default-language: Haskell2010
  other-extensions:
    GeneralizedNewtypeDeriving
    OverloadedStrings
    RecordWildCards

  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

  hs-source-dirs:   src
  ghc-options:      -Wall

executable cabal-plan
  default-language: Haskell2010
  other-extensions: RecordWildCards
  hs-source-dirs:   src-exe
  main-is:          cabal-plan.hs
  other-modules:
    Flag
    LicenseReport
    Paths_cabal_plan
    ProcessLazyByteString

  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:
      , base
      , bytestring
      , cabal-plan
      , containers
      , directory
      , text

    -- dependencies which require version bounds
    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-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

source-repository head
  type:     git
  location: https://github.com/hvr/cabal-plan