diff --git a/pkgs/applications/emulators/wine/sources.nix b/pkgs/applications/emulators/wine/sources.nix index febbece46f57..a7cc12db5527 100644 --- a/pkgs/applications/emulators/wine/sources.nix +++ b/pkgs/applications/emulators/wine/sources.nix @@ -46,22 +46,22 @@ in rec { unstable = fetchurl rec { # NOTE: Don't forget to change the SHA256 for staging as well. - version = "7.8"; + version = "7.10"; url = "https://dl.winehq.org/wine/source/7.x/wine-${version}.tar.xz"; - sha256 = "sha256-j3bpyWtQ8qyOJOXe7fo+DZWWpXBnCSJvZalMahYAGbg="; + sha256 = "sha256-P+skzYWYwQ9q9xHnSsK10kQrtNO4wHj506JTroc2SA0="; inherit (stable) gecko32 gecko64 patches; mono = fetchurl rec { - version = "7.2.0"; + version = "7.3.0"; url = "https://dl.winehq.org/wine/wine-mono/${version}/wine-mono-${version}-x86.msi"; - sha256 = "sha256-Xwbq+646SezDHfzqd3B1vUTwzBJuT7Tijs76ButDYyM="; + sha256 = "sha256-k54vVmlyDQ0Px+MFQmYioRozt644XE1+WB4p6iZOIv8="; }; }; staging = fetchFromGitHub rec { # https://github.com/wine-staging/wine-staging/releases inherit (unstable) version; - sha256 = "sha256-payP+lx/aGZErGbkpogNMgsE393e7F2VGrllDKu/Lws="; + sha256 = "sha256-5Pt98pla6t+B3FjB80hOWJUO64jY1EmOPQ0hEkFBWxY="; owner = "wine-staging"; repo = "wine-staging"; rev = "v${version}"; diff --git a/pkgs/tools/misc/pipelight/default.nix b/pkgs/tools/misc/pipelight/default.nix index a5a5b727a8de..9cabb74b231d 100644 --- a/pkgs/tools/misc/pipelight/default.nix +++ b/pkgs/tools/misc/pipelight/default.nix @@ -24,6 +24,9 @@ in stdenv.mkDerivation rec { patches = [ ./pipelight.patch ./wine-6.13-new-args.patch + # https://source.winehq.org/git/wine.git/commit/cf4a781e987a98a8d48610362a20a320c4a1016d + # adds ControlMask as a static variable. + ./wine-7.10-ControlMask.patch ]; configurePhase = '' diff --git a/pkgs/tools/misc/pipelight/wine-7.10-ControlMask.patch b/pkgs/tools/misc/pipelight/wine-7.10-ControlMask.patch new file mode 100644 index 000000000000..87280d17788a --- /dev/null +++ b/pkgs/tools/misc/pipelight/wine-7.10-ControlMask.patch @@ -0,0 +1,26 @@ +diff --git a/src/windows/pluginloader/pluginloader.c b/src/windows/pluginloader/pluginloader.c +index 751e072..7a4589d 100644 +--- a/src/windows/pluginloader/pluginloader.c ++++ b/src/windows/pluginloader/pluginloader.c +@@ -190,7 +190,7 @@ static inline WPARAM wParamFromX11State(uint32_t state){ + if (state & Button3Mask) wParam |= MK_RBUTTON; + if (state & Button2Mask) wParam |= MK_MBUTTON; + if (state & ShiftMask) wParam |= MK_SHIFT; +- if (state & ControlMask) wParam |= MK_CONTROL; ++ if (state & ControlMask_) wParam |= MK_CONTROL; + return wParam; + } + +diff --git a/src/windows/pluginloader/pluginloader.h b/src/windows/pluginloader/pluginloader.h +index ffe89a7..a1ebabc 100644 +--- a/src/windows/pluginloader/pluginloader.h ++++ b/src/windows/pluginloader/pluginloader.h +@@ -149,7 +149,7 @@ typedef unsigned long int XID; + + #define ShiftMask (1<<0) + #define LockMask (1<<1) +-#define ControlMask (1<<2) ++#define ControlMask_ (1<<2) + #define Button1Mask (1<<8) + #define Button2Mask (1<<9) + #define Button3Mask (1<<10)