wine: 10.0->11.0 and wine-staging: 10.20->11.1 (#484145)

This commit is contained in:
John Ericson
2026-02-09 15:20:59 +00:00
committed by GitHub
17 changed files with 54 additions and 56 deletions
@@ -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).
@@ -153,6 +155,8 @@ See <https://github.com/NixOS/nixpkgs/issues/481673>.
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
- Wine has been updated to the 11.0 branch. Please check the [upstream announcement](https://gitlab.winehq.org/wine/wine/-/releases/wine-11.0) for more details.
- Cinnamon has been updated to 6.6, please check the [upstream announcement](https://www.linuxmint.com/rel_zena_whatsnew.php) for more details.
- Budgie has been updated to 10.10, please check the [upstream announcement](https://buddiesofbudgie.org/blog/budgie-10-10-released) for more details.
+1 -10
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)
)
)
@@ -77,7 +77,7 @@ in
"x86_64-linux"
"x86_64-darwin"
];
mainProgram = "wine64";
mainProgram = "wine";
};
wineWow = callPackage ./base.nix {
pname = "wine-wow";
@@ -112,7 +112,7 @@ in
];
};
platforms = [ "x86_64-linux" ];
mainProgram = "wine64";
mainProgram = "wine";
};
wineWow64 = callPackage ./base.nix {
pname = "wine-wow64";
+10 -12
View File
@@ -97,9 +97,9 @@ in
rec {
stable = fetchurl rec {
version = "10.0";
url = "https://dl.winehq.org/wine/source/10.0/wine-${version}.tar.xz";
hash = "sha256-xeCz9ffvr7MOnNTZxiS4XFgxcdM1SdkzzTQC80GsNgE=";
version = "11.0";
url = "https://dl.winehq.org/wine/source/11.0/wine-${version}.tar.xz";
hash = "sha256-wHpoV5M8H8YN/1RI1585ySSBwenbWqYo250DWERuBwE=";
## see http://wiki.winehq.org/Gecko
gecko32 = fetchurl rec {
@@ -115,17 +115,15 @@ rec {
## see http://wiki.winehq.org/Mono
mono = fetchurl rec {
version = "8.1.0";
version = "10.0.0";
url = "https://dl.winehq.org/wine/wine-mono/${version}/wine-mono-${version}-x86.msi";
hash = "sha256-DtPsUzrvebLzEhVZMc97EIAAmsDFtMK8/rZ4rJSOCBA=";
hash = "sha256-26ynPl0J96OnwVetBCia+cpHw87XAS1GVEpgcEaQK4c=";
};
patches = [
# Also look for root certificates at $NIX_SSL_CERT_FILE
./cert-path.patch
]
++ patches-binutils-2_44-fix-wine-older-than-10_2
++ patches-add-truncf-to-the-import-library;
];
updateScript = writeShellScript "update-wine-stable" ''
${updateScriptPreamble}
@@ -144,9 +142,9 @@ rec {
unstable = fetchurl rec {
# NOTE: Don't forget to change the hash for staging as well.
version = "10.20";
url = "https://dl.winehq.org/wine/source/10.x/wine-${version}.tar.xz";
hash = "sha256-gbShU5WPYkf+UEHV32Xq3Lvuoba6jNok6349fOLR/jw=";
version = "11.1";
url = "https://dl.winehq.org/wine/source/11.x/wine-${version}.tar.xz";
hash = "sha256-v0x8j7XYwfZW8wor6pOHDIXxP/gxGrL2Hd75AOsoy48=";
patches = [
# Also look for root certificates at $NIX_SSL_CERT_FILE
@@ -156,7 +154,7 @@ rec {
# see https://gitlab.winehq.org/wine/wine-staging
staging = fetchFromGitLab {
inherit version;
hash = "sha256-Ys0VNYj568qMHq56ZCprnsbpb/iqtiDlU3w0er8Ol5g=";
hash = "sha256-KBiESkLVEEWyUPzv1I7j8U9zjqfYdF+FL6wRCcIE290=";
domain = "gitlab.winehq.org";
owner = "wine";
repo = "wine-staging";
+3 -3
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 = {
+1 -1
View File
@@ -56,7 +56,7 @@ in
}
''
export HOME="$(mktemp -d)"
wine64 $exe help
wine $exe help
mkdir $out
'';
}
+1 -1
View File
@@ -145,7 +145,7 @@ export WINEDEBUG=-all
export WINEDLLOVERRIDES="mscoree,mshtml="
wine="wine"
wine64="wine64"
wine64="wine"
wineboot="wineboot"
# $PATH is the way for user to control where wine is located (including custom Wine versions).
+2 -2
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
+3 -2
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 ];
};
})
+4 -4
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;
};
}
+3 -3
View File
@@ -7,11 +7,11 @@
copyDesktopItems,
makeWrapper,
wineWowPackages,
wineWow64Packages,
winetricks,
}:
let
wine = wineWowPackages.staging;
wine = wineWow64Packages.staging;
in
stdenv.mkDerivation rec {
pname = "vtfedit";
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
chmod +x $out/bin/vtfedit
cp ${icon} $out/share/icons/hicolor/256x256/apps/vtfedit.png
cp -r ${if wine.meta.mainProgram == "wine64" then "x64" else "x86"}/* $out/share/lib
cp -r ${if builtins.elem "i686-linux" wine.meta.platforms then "x86" else "x64"}/* $out/share/lib
cp ${./mimetype.xml} $out/share/mime/packages/vtfedit.xml
runHook postInstall
+8 -8
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";
@@ -22,16 +22,16 @@ stdenvNoCC.mkDerivation (finalAttrs: {
version = "3.43";
src = fetchurl (
if (wine.meta.mainProgram == "wine64") then
{
url = "https://download.mikrotik.com/routeros/winbox/${finalAttrs.version}/winbox64.exe";
hash = "sha256-W0HPUf2B6NCCaH9rUiFZz0q6IubfjtxIZyHU4JUHtuk=";
}
else
if (builtins.elem "i686-linux" wine.meta.platforms) then
{
url = "https://download.mikrotik.com/routeros/winbox/${finalAttrs.version}/winbox.exe";
hash = "sha256-pAOOTgmjQoXI2o2MKTDuOOpb7q0rb/zWATDNyAMOLms=";
}
else
{
url = "https://download.mikrotik.com/routeros/winbox/${finalAttrs.version}/winbox64.exe";
hash = "sha256-W0HPUf2B6NCCaH9rUiFZz0q6IubfjtxIZyHU4JUHtuk=";
}
);
dontUnpack = true;
+3 -3
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
+2 -2
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 {
+2 -2
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
]
}
'';
+5
View File
@@ -1947,6 +1947,11 @@ mapAliases {
win-pvdrivers = throw "'win-pvdrivers' has been removed as it was subject to the Xen build machine compromise (XSN-01) and has open security vulnerabilities (XSA-468)"; # Added 2025-08-29
win-virtio = throw "'win-virtio' has been renamed to/replaced by 'virtio-win'"; # Converted to throw 2025-10-27
wineWayland = throw "'wineWayland' has been renamed to/replaced by 'wine-wayland'"; # Converted to throw 2025-10-27
wineWowPackages =
warnAlias
"'wineWowPackages' is deprecated as it is no longer preferred by upstream. Use wineWow64Packages instead"
lib.recurseIntoAttrs
(winePackagesFor "wineWow");
wingpanel-indicator-ayatana = throw "'wingpanel-indicator-ayatana' has been removed as it is archived upstream and doesn't work with pantheon 8 and onwards. Use wingpanel-indicator-namarupa instead"; # Added 2026-01-14
winhelpcgi = throw "'winhelpcgi' has been removed as it was unmaintained upstream and broken with GCC 14"; # Added 2025-06-14
wireshark-qt = warnAlias "'wireshark-qt' has been renamed to/replaced by 'wireshark'" wireshark; # Added 2026-01-23
-1
View File
@@ -12841,7 +12841,6 @@ with pkgs;
winePackages = recurseIntoAttrs (winePackagesFor (config.wine.build or "wine32"));
wine64Packages = recurseIntoAttrs (winePackagesFor "wine64");
wineWowPackages = recurseIntoAttrs (winePackagesFor "wineWow");
wineWow64Packages = recurseIntoAttrs (winePackagesFor "wineWow64");
wine = winePackages.full;