Refactor of the feature switches as there was some invalid combinations.
{c-ares,libev,openssl,zlib} are all strictly needed if we want to build
the applications but are unnecessary when building the lib alone.
Accordingly the overrides in `fetchurl` and `pythonPackages.nghttp2`
are updated to use `enableApp = false` as they only want libnghttp2.
fetchurl bootstrapping just got lighter. :)
Also enable the checks whenever possible. To run them we need to set
TZDATA environment variable and the `CUnit` tool.
Those tests are made optionals as we don't want to scope `cunit` and
`tzdata` when bootstrapping `fetchurl`.
Also install the Bash completions for h2load, nghttp, nghttpd and nghttpx.
Finally, add `c0bw3b` as maintainer.
continuation of #109595
pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.
python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.
This adds a warning to the top of each “boot” package that reads:
Note: this package is used for bootstrapping fetchurl, and thus cannot
use fetchpatch! All mutable patches (generated by GitHub or cgit) that
are needed here should be included directly in Nixpkgs as files.
This makes it clear to maintainer that they may need to treat this
package a little differently than others. Importantly, we can’t use
fetchpatch here due to using <nix/fetchurl.nix>. To avoid having stale
hashes, we need to include patches that are subject to changing
overtime (for instance, gitweb’s patches contain a version number at
the bottom).
it's tricky to enable in nghttp2's default build, however, because it needs
to be usable by curl, a very core nix package, and we get cyclical
dependencies if we add python to its requirements. having it available as
a separate build is better than nothing, though.
I think those deps could be made to build, but I didn't want to get
bogged down investigating further. "Use flags" are always a good thing,
so this is fine for now.
He prefers to contribute to his own nixpkgs fork triton.
Since he is still marked as maintainer in many packages
this leaves the wrong impression he still maintains those.
This change does three things:
1. Increases nghttp2's version from 1.20.0 to 1.24.0
2. Adds a `bin` output
3. Enables building of nghttp2's suite of applications
The old forms presumably predates, or were made in ignorance of,
`let inherit`. This way is better style as the scoping as more lexical,
something which Nix can (or might already!) take advantage of.
Note: I ignored the C++ libraries, but it appears we're not currently
using them. Once we do, we'll probably want to put them in a separate
output as well (to prevent non-C++ users from depending on Boost).