In preparation for the deprecation of `stdenv.isX`.
These shorthands are not conducive to cross-compilation because they
hide the platforms.
Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way
One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059
There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.
```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
For a while now, we’ve had these separate derivations for the skaware
manpages.
That was fine in the beginning, because it was not entirely clear
whether the manpage project would be long-lived. Given that the
collection of third-party manpages is now extensive and updated
regularly, plus it is sanctioned by skarnet, we can remove this
additional hurdle to using skaware.
The buildManPage structure is kept, instead of building them in a
separate `default.nix`, we add a field `manpages` to
`skawarePackages.buildPackage`, which adds the `"man"` output and
copies everything from the manpages output.
For backwards-compat, the manpage derivation is exposed in the
`passthru` and referenced by the `*-man-pages` attributes.
~~~
The `with skawarePackages;` scope is removed from all packages, and
used explicitly for all functions, while packages get added to the
package import header.
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
skalibs-2.14.0.0 added detection for some weird bug exhibited in
"old glibcs and some virtual platforms". When cross compiling the
detector cannot be run:
> posixspawnearlyreturn: `yes` if the target has a broken
> `posix_spawn()` implementation that can return before the
> child has successfully exec'ed. That happens with old glibcs
> and some virtual platforms.
I just took a wild guess here and picked `no`.
Co-authored-by: Alyssa Ross <hi@alyssa.is>