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"
```
It took an ungodly amount of time but I may have done it:
1. Fix the build error in ncdns.goModules due to a module rename in a
downstream dependency
2. Add lock files to avoid the same kind of problem that already broke
the build of ncdns.goModules.
Note that due to the nature of the x509-compressed module the source
code dependes on the Go stdlib, so the goModules derivation
is still not really fully reproducible, but it comes closer.
3. Make ncdns behave more like a normal Go module and use the built-in
phases of goBuildModule.
Fixes the following error:
CCLD dig
ld: file not found: /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices for architecture arm64
ld: file not found: /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices for architecture arm64
clang-16: clang-16: error: error: linker command failed with exit code 1 (use -v to see invocation)linker command failed with exit code 1 (use -v to see invocation)
even if luajitPackages.http is broken.
I'm confident that most people don't use it,
so at least those should get immediately unblocked.
(The main derivation only uses it for this test.)
The flakiness of netmgr_test and doh_test on Hydra is very annoying.
It's a long-term problem, and sometimes really bad:
https://hydra.nixos.org/build/254045328#tabs-buildsteps
Feel free to do partial test instead of full disabling,
or anything that's relatively reliable.
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.