Skip to content

Commit f82bbc1

Browse files
committed
Expand comment
1 parent e27eb42 commit f82bbc1

File tree

1 file changed

+27
-5
lines changed

1 file changed

+27
-5
lines changed

overlays/cabal-pkg-config.nix

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,32 @@
11
final: prev:
22
{
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.
830
allPkgConfigWrapper =
931
let
1032
pkgconfigPkgs =

0 commit comments

Comments
 (0)