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"
```
Prior to August 2023, any config.guess generated by autoconf will
include a hardcoded /usr/bin/uname invocation for FreeBSD on any
architecture other than arm. This clearly doesn't work under nix.
We must then update or otherwise patch each old config.guess.
We need static curl for nixStatic, so we should test that it builds
when changing curl.
This would have caught a regression introduced by
996b4ebc08 ("curl: build with public suffix list support").
`tests` seem to be something else on darwin, leading to an eval failure
on the instantiation of this test.
```
… while evaluating the attribute 'tests.fetchpatch'
at ./pkgs/tools/networking/curl/default.nix:182:7:
181| withCheck = finalAttrs.finalPackage.overrideAttrs (_: { doCheck = true; });
182| fetchpatch = tests.fetchpatch.simple.override { fetchpatch = (fetchpatch.override { fetchurl = useThisCurl fetchurl; }) // { version = 1; }; };
| ^
183| curlpp = useThisCurl curlpp;
… while calling a functor (an attribute set with a '__functor' attribute)
at ./pkgs/tools/networking/curl/default.nix:182:20:
181| withCheck = finalAttrs.finalPackage.overrideAttrs (_: { doCheck = true; });
182| fetchpatch = tests.fetchpatch.simple.override { fetchpatch = (fetchpatch.override { fetchurl = useThisCurl fetchurl; }) // { version = 1; }; };
| ^
183| curlpp = useThisCurl curlpp;
(stack trace truncated; use '--show-trace' to show the full trace)
error: value is a function while a set was expected
```
`libcurl.la` and `curl-config --static-libs` both include the frameworks
curl needs to link, so propgate them in case dependents don’t include
those frameworks in their build inputs. This fixes building Nix and
probably other things (like netcdf).