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".
The $lib output refers to the terminfo database in $out, which is about
10x larger than the ncurses shared library. Splitting these outputs
saves a small amount of space for any derivations that use the terminfo
database but not the ncurses library, but we do not have evidence that
any such exist.