diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index 83e38523f57c..de06d74e9ebd 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -58,6 +58,8 @@ +- `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 . +- 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. diff --git a/nixos/tests/wine.nix b/nixos/tests/wine.nix index 321469f72e68..ebf374750a83 100644 --- a/nixos/tests/wine.nix +++ b/nixos/tests/wine.nix @@ -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) ) ) diff --git a/pkgs/applications/emulators/wine/packages.nix b/pkgs/applications/emulators/wine/packages.nix index db91a073baec..af9082a7d8f9 100644 --- a/pkgs/applications/emulators/wine/packages.nix +++ b/pkgs/applications/emulators/wine/packages.nix @@ -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"; diff --git a/pkgs/applications/emulators/wine/sources.nix b/pkgs/applications/emulators/wine/sources.nix index 223fdba8014c..698b386300db 100644 --- a/pkgs/applications/emulators/wine/sources.nix +++ b/pkgs/applications/emulators/wine/sources.nix @@ -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"; diff --git a/pkgs/by-name/ai/airwave/package.nix b/pkgs/by-name/ai/airwave/package.nix index 4f2a4e455157..e356bc9198de 100644 --- a/pkgs/by-name/ai/airwave/package.nix +++ b/pkgs/by-name/ai/airwave/package.nix @@ -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 = { diff --git a/pkgs/by-name/cl/cloudflared/tests.nix b/pkgs/by-name/cl/cloudflared/tests.nix index c1c081c0a503..7555af2b1f0d 100644 --- a/pkgs/by-name/cl/cloudflared/tests.nix +++ b/pkgs/by-name/cl/cloudflared/tests.nix @@ -56,7 +56,7 @@ in } '' export HOME="$(mktemp -d)" - wine64 $exe help + wine $exe help mkdir $out ''; } diff --git a/pkgs/by-name/dx/dxvk/setup_dxvk.sh b/pkgs/by-name/dx/dxvk/setup_dxvk.sh index 529397ab2422..be0388df1425 100644 --- a/pkgs/by-name/dx/dxvk/setup_dxvk.sh +++ b/pkgs/by-name/dx/dxvk/setup_dxvk.sh @@ -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). diff --git a/pkgs/by-name/op/opentrack/package.nix b/pkgs/by-name/op/opentrack/package.nix index 3f0e59c1947a..dfe8a2387ad1 100644 --- a/pkgs/by-name/op/opentrack/package.nix +++ b/pkgs/by-name/op/opentrack/package.nix @@ -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 diff --git a/pkgs/by-name/sl/slushload/package.nix b/pkgs/by-name/sl/slushload/package.nix index 38f3fad72542..78e61950ce9a 100644 --- a/pkgs/by-name/sl/slushload/package.nix +++ b/pkgs/by-name/sl/slushload/package.nix @@ -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 ]; }; }) diff --git a/pkgs/by-name/sy/synthesia/package.nix b/pkgs/by-name/sy/synthesia/package.nix index c55a6540c328..e5f913b2ce6b 100644 --- a/pkgs/by-name/sy/synthesia/package.nix +++ b/pkgs/by-name/sy/synthesia/package.nix @@ -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; }; } diff --git a/pkgs/by-name/vt/vtfedit/package.nix b/pkgs/by-name/vt/vtfedit/package.nix index 525eaf3ec79a..d89994f0487f 100644 --- a/pkgs/by-name/vt/vtfedit/package.nix +++ b/pkgs/by-name/vt/vtfedit/package.nix @@ -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 diff --git a/pkgs/by-name/wi/winbox3/package.nix b/pkgs/by-name/wi/winbox3/package.nix index f9687ca6785c..6f5ed0499fc5 100644 --- a/pkgs/by-name/wi/winbox3/package.nix +++ b/pkgs/by-name/wi/winbox3/package.nix @@ -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; diff --git a/pkgs/by-name/wi/wineasio/package.nix b/pkgs/by-name/wi/wineasio/package.nix index 413ba8049e20..cbf080ac7106 100644 --- a/pkgs/by-name/wi/wineasio/package.nix +++ b/pkgs/by-name/wi/wineasio/package.nix @@ -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 diff --git a/pkgs/by-name/ya/yabridge/package.nix b/pkgs/by-name/ya/yabridge/package.nix index 378e2231744e..0735d19ddfc5 100644 --- a/pkgs/by-name/ya/yabridge/package.nix +++ b/pkgs/by-name/ya/yabridge/package.nix @@ -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 { diff --git a/pkgs/by-name/ya/yabridgectl/package.nix b/pkgs/by-name/ya/yabridgectl/package.nix index 53ee5714dc87..00ec166df7df 100644 --- a/pkgs/by-name/ya/yabridgectl/package.nix +++ b/pkgs/by-name/ya/yabridgectl/package.nix @@ -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 ] } ''; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index b8eb3cc79239..2694b0928e6b 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -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 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6155a0f10347..7a8afd246a4e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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;