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"
```
Makes base.nix less Wayland-centric. This means:
- Don't specify support in the meta.description (since even regular Wine supports it, it's specified everywhere)
- `x11Support` and `waylandSupport` are now set in `wine-packages.nix`, like every other flag (they are also now disabled on minimal)
- Disable Darwin in supported platforms if an incompatible supportFlag is true (not just `waylandSupport`)
- Add wineRelease name for every release other than "stable" or "unstable", instead of just "wayland"
- This also fixes an inconsistency on wine-staging, where "-staging" was written after the version
From https://www.winehq.org/announce/8.0:
"The vkd3d and LDAP libraries are bundled in the source tree and built as
PE. The corresponding Unix libraries are no longer needed."
From https://www.winehq.org/announce/8.0:
"The vkd3d and LDAP libraries are bundled in the source tree and built as
PE. The corresponding Unix libraries are no longer needed."
Disable Vulkan and VKD3D by default on Darwin while MoltenVK is forced
to build using Xcode instead of the SDK in nixpkgs. They can be
overriden if the user needs either of those.
From the wine 7.0 release notes:
- The following libraries are bundled in the source tree and built as PE
libraries, so they are no longer required at the Unix level:
With mingwSupport enabled, Wine uses MinGW builds of GCC (compiled for
the i686-w64-mingw32 & x86_64-w64-mingw32 targets) to cross compile
system DLLs as PE executables.
This is used to workaround some basic anticheat software. (See #103102)
Fedora & Arch Linux also have this enabled by default in their Wine builds:
- Fedora: 8e216ca407/f/wine.spec (_116)
- Arch Linux: 2435e762ea/trunk/PKGBUILD (L44)
"Wine's fonts should be a natural candidate for their own subpackage"
https://wiki.winehq.org/Packaging
They are a replacement for some Microsoft fonts not available in other
replacement packages.