The gitapply.sh script from wine-staging tries to use 'git apply' first.
If git is not present, it will fall back to using the patch command.
As of wine 9.13, at least one of the patches doesn't apply correctly with
'patch', but it works with git. Adding gitMinimal to nativeBuildInputs
fixes the build errors.
- Make util-linux conditional in wine-staging due to `uuid.h` conflicts;
- Remove `lib.overrideDerivation`, allowing wine-staging overrides;
- Use `overrideSDK` to build with the 11.0 SDK with a 10.7 deployment
target, matching the deployment target of the unofficial Mac packages;
- Drop all Darwin-related patches. They’re not needed with the 11.0 SDK;
- Switch to conditionally using `badPlatforms` instead of using a mix of
`broken` and filtering Darwin from `meta.platforms`; and
- Remove unnecessary rpath references to Darwin frameworks.
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.
Without the change build fails on `master` as
https://hydra.nixos.org/build/249529907:
checking for X... no
configure: error: X 64-bit development files not found. Wine will be built
without X support, which probably isn't what you want. You will need
to install 64-bit development packages of Xlib at the very least.
Use the --without-x option if you really want this.
The change explicitly passes `--without-x` for `wine` without
`x11Support`.
Co-authored-by: MinerSebas <66798382+MinerSebas@users.noreply.github.com>
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
The Wayland build provides both Wayland and X11 support
Wine still prioritizes X11 over Wayland by default, without these
support libraries some things don't work, including causing some games
to crash.
- Wine 8.12 changed the implementation of `macdrv_get_gpus_from_metal`,
causing the patch used by nixpkgs to break. This patch splits that
patch up to apply cleanly depending on the version;
- Silence an implicit pointer to integer conversion warning due to the
above patch (required by the Clang 16 stdenv bump);
- Add the PCSC framework on Darwin, which is required as of Wine 8.14.
Wine 8.14 changes the implementation of `macdrv_get_gpus_from_metal`,
causing the patch to no longer apply cleanly. Splitting the patch allows
only the parts that are still needed to apply cleanly dependin gon the
Wine version being built.
Allows running 32-bit applications on 64-bit native Wine, with no 32-bit libs on the system.
Works at least well enough to run pkgsCross.mingw32.hello.