|
1 | 1 | final: prev:
|
2 | 2 | {
|
3 |
| - # This is a wrapper for `cabal configure` use only. It returns |
4 |
| - # package names and versions based on lib/pkgconf-nixpkgs-map.nix. |
5 |
| - # It works because cabal calls `--list-all` then passes all the |
6 |
| - # packages returned by that to `--modversion`. |
7 |
| - # If that ever changes we will need to update this wrapper! |
| 3 | + # This is a wrapper for `cabal configure` use only. |
| 4 | + # |
| 5 | + # When creating a plan for building a project cabal first |
| 6 | + # runs `pkg-config --list-all` for a list of all the available |
| 7 | + # packages installed on the system. |
| 8 | + # |
| 9 | + # It then gets the corresponding versions by passing that list |
| 10 | + # on the command line to `pkg-config --modversion`. |
| 11 | + # |
| 12 | + # This gives cabal a full picture of what versions are available |
| 13 | + # when building the plan. |
| 14 | + # |
| 15 | + # When we run `cabal configure` in `lib/call-cabal-project-to-nix.nix` |
| 16 | + # we do not want to depend on every pkg-config package in `nixpkgs` |
| 17 | + # that could be used. We also do not want the user to have to specify |
| 18 | + # every pkg-config package that their project requires. |
| 19 | + # |
| 20 | + # Instead this wrapper provides a list based on the contents |
| 21 | + # of `lib/pkgconf-nixpkgs-map.nix`. To avoid depending |
| 22 | + # on the packages it gets the versions for `--modversions` from |
| 23 | + # the `.version` attribute of the derivation. |
| 24 | + # |
| 25 | + # In most cases this `.version` will be suitable, however there |
| 26 | + # are some packages where that is not the case. If these cause |
| 27 | + # issues we should first try to fix `lib/pkgconf-nixpkgs-map.nix` |
| 28 | + # or the package. If that does not work we may need a way to include |
| 29 | + # overrides here. |
8 | 30 | allPkgConfigWrapper =
|
9 | 31 | let
|
10 | 32 | pkgconfigPkgs =
|
|
0 commit comments