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.
`pkgsBuildTarget` allows us to avoid repeated and confusing conditions.
The others merely provide clarity for one the foreign package set's
target platform matters.