wine: move packages that depend on wineWow to wineWow64 as preferred by upstream

moves opentrack, slushload, synthesia, vtfedit, wineasio, winbox,
yabridge

this is a breaking change because old wine prefixes will likely have
data loss!
This commit is contained in:
hideyosh1 2026-02-02 19:07:20 -06:00
commit 3171f5a7bc
11 changed files with 26 additions and 32 deletions

View file

@ -58,6 +58,8 @@
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
- `opentrack`, `slushload`, `synthesia`, `vtfedit`, `winbox`, `wineasio`, and `yabridge` use wineWow64Packages instead of wineWowPackages as wine versions >= 11.0 have deprecated wineWowPackages. As such, the prefixes for these packages are NOT backwards compatible and need to be regenerated with potential for data loss.
- `services.crabfit` was removed because its upstream packages are unmaintained and insecure.
- `services.tandoor-recipes` now uses a sub-directory for media files by default starting with `26.05`. Existing setups should move media files out of the data directory and adjust `services.tandoor-recipes.extraConfig.MEDIA_ROOT` accordingly. See [Migrating media files for pre 26.05 installations](#module-services-tandoor-recipes-migrating-media).

View file

@ -68,21 +68,12 @@ listToAttrs (
map (makeWineTest "winePackages" [ hello32 ]) variants
++ optionals pkgs.stdenv.hostPlatform.is64bit (
map
(makeWineTest "wineWowPackages" [
(makeWineTest "wineWow64Packages" [
hello32
hello64
])
# This wayland combination times out after spending many hours.
# https://hydra.nixos.org/job/nixos/trunk-combined/nixos.tests.wine.wineWowPackages-wayland.x86_64-linux
(pkgs.lib.remove "wayland" variants)
++
map
(makeWineTest "wineWow64Packages" [
hello32
hello64
])
# This wayland combination times out after spending many hours.
# https://hydra.nixos.org/job/nixos/trunk-combined/nixos.tests.wine.wineWowPackages-wayland.x86_64-linux
(pkgs.lib.remove "wayland" variants)
)
)

View file

@ -2,7 +2,7 @@
lib,
multiStdenv,
fetchFromGitHub,
wineWowPackages,
wineWow64Packages,
cmake,
makeWrapper,
file,
@ -12,7 +12,7 @@
}:
let
wine-wow64 = wineWowPackages.stableFull;
wine-wow64 = wineWow64Packages.stableFull;
in
multiStdenv.mkDerivation (finalAttrs: {
pname = "airwave";
@ -65,7 +65,7 @@ multiStdenv.mkDerivation (finalAttrs: {
mkdir $out/bin
mv $out/libexec/airwave-manager $out/bin
wrapProgram $out/libexec/airwave-host-32.exe --set WINELOADER ${lib.getExe' wine-wow64 "wine"}
wrapProgram $out/libexec/airwave-host-64.exe --set WINELOADER ${lib.getExe' wine-wow64 "wine64"}
wrapProgram $out/libexec/airwave-host-64.exe --set WINELOADER ${lib.getExe' wine-wow64 "wine"}
'';
meta = {

View file

@ -15,7 +15,7 @@
libxdmcp,
libevdev,
makeDesktopItem,
wineWowPackages,
wineWow64Packages,
onnxruntime,
nix-update-script,
withWine ? stdenv.targetPlatform.isx86_64,
@ -49,7 +49,7 @@ stdenv.mkDerivation (finalAttrs: {
pkg-config
qt6.wrapQtAppsHook
]
++ lib.optionals withWine [ wineWowPackages.stable ];
++ lib.optionals withWine [ wineWow64Packages.stable ];
buildInputs = [
finalAttrs.aruco

View file

@ -3,7 +3,7 @@
stdenvNoCC,
fetchzip,
makeWrapper,
wineWowPackages,
wineWow64Packages,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "slushload";
@ -25,7 +25,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
runHook preInstall
mkdir -p $out/{bin,share}
makeWrapper ${wineWowPackages.base}/bin/wine $out/bin/slushload \
makeWrapper ${wineWow64Packages.stable}/bin/wine $out/bin/slushload \
--set WINEDEBUG "-all" \
--run "export WINEPREFIX=''${XDG_DATA_HOME:-\$HOME/.local/share}/slushload" \
--add-flags $src/slushload_v3.exe
@ -42,6 +42,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.unfree;
mainProgram = "slushload";
platforms = wineWow64Packages.stable.meta.platforms;
maintainers = with lib.maintainers; [ matthewcroughan ];
};
})

View file

@ -5,7 +5,7 @@
runtimeShell,
copyDesktopItems,
makeDesktopItem,
wineWowPackages,
wineWow64Packages,
}:
let
@ -36,7 +36,7 @@ stdenvNoCC.mkDerivation rec {
nativeBuildInputs = [
copyDesktopItems
wineWowPackages.stable
wineWow64Packages.stable
];
src = fetchurl {
@ -53,7 +53,7 @@ stdenvNoCC.mkDerivation rec {
mkdir -p $out/bin
cat <<'EOF' > $out/bin/synthesia
#!${runtimeShell}
export PATH=${wineWowPackages.stable}/bin:$PATH
export PATH=${wineWow64Packages.stable}/bin:$PATH
export WINEARCH=win64
export WINEPREFIX="''${SYNTHESIA_HOME:-"''${XDG_DATA_HOME:-"''${HOME}/.local/share"}/synthesia"}/wine"
export WINEDLLOVERRIDES="mscoree=" # disable mono
@ -75,6 +75,6 @@ stdenvNoCC.mkDerivation rec {
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [ ners ];
platforms = wineWowPackages.stable.meta.platforms;
platforms = wineWow64Packages.stable.meta.platforms;
};
}

View file

@ -7,11 +7,11 @@
copyDesktopItems,
makeWrapper,
wineWowPackages,
wineWow64Packages,
winetricks,
}:
let
wine = wineWowPackages.staging;
wine = wineWow64Packages.staging;
in
stdenv.mkDerivation rec {
pname = "vtfedit";

View file

@ -5,11 +5,11 @@
copyDesktopItems,
makeDesktopItem,
makeBinaryWrapper,
wineWowPackages,
wineWow64Packages,
}:
let
wine = wineWowPackages.stable;
wine = wineWow64Packages.stable;
# The icon is also from the winbox AUR package (see above).
icon = fetchurl {
name = "winbox.png";

View file

@ -4,7 +4,7 @@
fetchFromGitHub,
libjack2,
pkg-config,
wineWowPackages,
wineWow64Packages,
pkgsi686Linux,
python3,
python3Packages,
@ -53,7 +53,7 @@ multiStdenv.mkDerivation rec {
nativeBuildInputs = [
pkg-config
wineWowPackages.stable
wineWow64Packages.stable
];
buildInputs = [
@ -63,7 +63,7 @@ multiStdenv.mkDerivation rec {
dontConfigure = true;
makeFlags = [ "PREFIX=${wineWowPackages.stable}" ];
makeFlags = [ "PREFIX=${wineWow64Packages.stable}" ];
buildPhase = ''
runHook preBuild

View file

@ -8,13 +8,13 @@
meson,
ninja,
pkg-config,
wineWowPackages,
wineWow64Packages,
libxcb,
nix-update-script,
}:
let
wine = wineWowPackages.yabridge;
wine = wineWow64Packages.yabridge;
# Derived from subprojects/asio.wrap
asio = fetchFromGitHub {

View file

@ -3,7 +3,7 @@
rustPlatform,
yabridge,
makeWrapper,
wineWowPackages,
wineWow64Packages,
}:
rustPlatform.buildRustPackage {
@ -31,7 +31,7 @@ rustPlatform.buildRustPackage {
wrapProgram "$out/bin/yabridgectl" \
--prefix PATH : ${
lib.makeBinPath [
wineWowPackages.yabridge # winedump
wineWow64Packages.yabridge # winedump
]
}
'';