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.
We can use use `stdenv.hostPlatform.isStatic` instead, and move the
logic per package. The least opionated benefit of this is that it makes
it much easier to replace packages with modified ones, as there is no
longer any issue of overlay order.
CC @FRidh @matthewbauer
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 includes fixes for CVE-2018-10754.
While we're changing things, also set the `--with-manpage-format=normal`
configure flag, which prevents the `configure` script from looking in
/usr to determine whether to compress manpages. This was already the
format on NixOS (where these directories don't exist), but making this
explicit makes the build more reproducible on other distros.
From my experience on slightly older tree,
a few *old* programs incorrectly rely on ncurses internal details
and may now require setting NCURSES_INTERNALS=1 to allow this badness.
Since this is release, we can grab it from gnu mirrors.
Somewhat amusingly given its name, "clang.patch" applies to both 5 and 6
but is the cause of ncurses6 breakage on 6 but is required on 5...
gcc is happy in all four configurations:
5 5p 6 6p
gcc ✓ ✓ ✓ ✓
clang ✗ ✓ ✓ ✗
Which is why this commit enables the patch for 5 but not 6;
this matches behavior in Gentoo, for example.
For further simplification, we also use gcc-5 patch regardless.
Upstream claims it's API-compatible with 5.*
It no longer installed *.pc until I passed pkgconfig executable;
without those things were breaking, even our library symlinking.
All the programs provided by ncurses were being installed to the $dev
output, but several of them are intended for runtime use, e.g. to
operate on the running terminal. These user-facing programs are moved to
the $bin output.
Several packages referred to "${ncurses}/bin" or "${ncurses.dev}/bin" at
runtime; these paths are also updated to refer to "${ncurses.bin}/bin".