-
Notifications
You must be signed in to change notification settings - Fork 25
/
cabal-plan.cabal
156 lines (136 loc) · 5.16 KB
/
cabal-plan.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
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