Commit dbe81b7
committed
Split excluded_pkgs into separate groups
Normally, each package in a given package set is used in two ways:
- It is written to generated.cabal's build-depends, hence built.
- Its exact version is written to cabal.project.local as a
constraint, for reproducibility of transitive dependencies.
We used excluded_pkgs.jsonc to opt out of one or both of these for a
given package e.g.
- Totally exclude cuda from the build.
- Exclude boot libs like text from having their exact versions
written, as these libs will be used transitively anyway, and exact
pins complicate building with multiple GHCs.
We since stumbled onto a third scenario: packages that we do not want
in build-depends yet benefit from being pinned. For example,
we do not want happy in build-depends (since it is an exe), yet we
would like to use stackage's pins, so that cabal does not choose a
version that might not work.
We therefore modify excluded_pkgs.jsonc to package_index.jsonc, which
separates these categories into different json keys:
- excluded: Same as before, these packages are filtered out from the
given package set.
- excluded_pinned: Packages that are filtered from the package set
yet we want their pins written anyway e.g. happy.
- unpinned: Packages to be built but should not be pinned e.g.
boot libs.1 parent 519a184 commit dbe81b7
9 files changed
Lines changed: 657 additions & 483 deletions
File tree
- src/CLC/Stackage
- Builder
- Runner
- test/unit/Unit
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
79 | | - | |
| 79 | + | |
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
| |||
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
98 | | - | |
| 98 | + | |
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
105 | 105 | | |
106 | | - | |
| 106 | + | |
107 | 107 | | |
108 | | - | |
| 108 | + | |
109 | 109 | | |
110 | 110 | | |
111 | 111 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
| 23 | + | |
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| |||
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
80 | | - | |
| 80 | + | |
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
| |||
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
0 commit comments