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"
```
This backports a patch from current Guile HEAD which fixes a
platform-specific bug causing all subprocess spawns to fail on (at
least) Darwin and GNU Hurd, and possibly other platforms as well.
Upstream patch:
<https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/patches/guile-hurd-posix-spawn.patch>
Note that despite the patch name and comments, other OSes than Hurd
are affected as well.
Thanks to @civodul for the hint that this patch would fix the problem.
Guile 3.0 calls `__sincos`, which should be defined in `math.h`, but the
version of that header in the 10.12 SDK is very old (predating 10.12).
Until there is a version of that header available, use the 11.0 SDK to
build Guile.
Guile 2.2 calls `__sincos`, which should be defined in `math.h`, but the
version of that header in the 10.12 SDK is very old (predating 10.12).
Until there is a version of that header available, use the 11.0 SDK to
build Guile.
The include/ directory for libunistring is inside the libunistring.dev
package, not libunistring, thus the .pc file was pointing to a
non-existing path.
Without the change updater script extracts location from `guile` (`guile_2_2`).
I did not notice it initially as I use local override of `guile = guile_3_0`.
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.
Often packages install the compiled files to
`$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/ccache` (e.g. see
guile-opengl). This path is not explicitly given in the info page, but
is used in a couple of places, and is also part of `%load-compiled-path`
variable in guile (for `"${guile}/lib/guile/2.2/ccache`).
Similarly, the site-ccache is also part of `%load-compiled-path` in
guile.