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"
```
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.
I accidentally left this commented out when I did the cairo update
that switched the build system to Meson.
Fixes: 2c0a4f46b9 ("cairo: 1.16.0 -> 1.18.0")
- libiconv and expat are no longer used.
- libintl and xcbutil no longer appear to be used.
- The GL backend has been removed.
- We can no longer disable PDF support, since something always
propagates zlib.
- Not sure whether the Requires.private is still needed, so I've left
it.
The pycairo test suite fails on darwin because cairo's tee backend is
not enabled: https://github.com/pygobject/pycairo/issues/238
Since cairo builds on darwin fine with tee, there seems to be no
reason not to enable it.
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.
If OpenGL is enabled without X11, the build fails with:
In file included from /nix/store/<...>-libglvnd-1.3.1-dev/include/EGL/egl.h:39,
from cairo-gl.h:130,
from cairo-gl-private.h:51,
from cairo-gl-composite.c:48:
/nix/store/<...>-libglvnd-1.3.1-dev/include/EGL/eglplatform.h:128:10: fatal error: X11/Xlib.h: No such file or directory
128 | #include <X11/Xlib.h>
| ^~~~~~~~~~~~
compilation terminated.
It appears that cairo's configure script, at least on MacOS but perhaps
elsewhere, unconditionally enables xlib support, even if the library
isn't present, which breaks the build on MacOS always (since x11 is
disabled by default now). This explicitly passes `--disable-x11` if
x11Support is set to false, which fixes the build for me.
This round is without the systemd CVE,
as we don't have binaries for that yet.
BTW, I just ignore darwin binaries these days,
as I'd have to wait for weeks for them.
* treewide: http -> https sources
This updates the source urls of all top-level packages from http to
https where possible.
* buildtorrent: fix url and tab -> spaces