vinegar: 1.8.1 -> 1.9.3 (#478101)

This commit is contained in:
Austin Horstman
2026-01-12 16:29:09 +00:00
committed by GitHub
+86 -16
View File
@@ -2,7 +2,6 @@
lib,
buildGoModule,
wine64Packages,
fetchpatch,
fetchFromGitHub,
glib,
makeBinaryWrapper,
@@ -24,8 +23,18 @@
nix-update-script,
}:
let
# Based on wine 10.20
kombuchaPatches = fetchFromGitHub {
name = "kombucha";
owner = "vinegarhq";
repo = "kombucha";
rev = "80f87fdbaae2a42bd66e41319054798fdf30fbe6";
hash = "sha256-ePBJj1YyHVdlDzyE6dLVl6FMImw3SJFw04vP2o1Tk6M=";
meta.license = lib.licenses.unfree; # No license
};
wine =
(wine64Packages.staging.override {
(wine64Packages.unstable.override {
dbusSupport = true;
embedInstallers = true;
pulseaudioSupport = true;
@@ -33,7 +42,7 @@ let
waylandSupport = true;
}).overrideAttrs
(oldAttrs: {
# https://github.com/flathub/org.vinegarhq.Vinegar/blob/a3c2f1249dec9548bd870027f55edcc58343b685/wine.yml#L31-L38
# https://github.com/vinegarhq/kombucha/blob/80f87fdbaae2a42bd66e41319054798fdf30fbe6/.github/workflows/wine.yml
# --with-wayland is added by waylandSupport = true;
configureFlags = oldAttrs.configureFlags or [ ] ++ [
"--disable-tests"
@@ -42,33 +51,91 @@ let
"--with-pulse"
"--with-x"
"--without-oss"
"--without-capi"
"--without-cups"
"--without-gphoto"
"--without-gssapi"
"--without-gstreamer"
"--without-krb5"
"--without-netapi"
"--without-opencl"
"--without-pcap"
"--without-sane"
"--without-v4l2"
];
patches = oldAttrs.patches or [ ] ++ [
(fetchpatch {
name = "loader-prefer-winedllpath.patch";
url = "https://raw.githubusercontent.com/flathub/org.vinegarhq.Vinegar/3e07606350d803fa386eb4c358836a230819380d/patches/wine/loader-prefer-winedllpath.patch";
hash = "sha256-89wnr2rIbyw490hHwckB9g1GKCXm6BERnplfwEUlNOg=";
})
];
patches =
oldAttrs.patches or [ ]
++ map (name: "${kombuchaPatches}/patches/${name}") [
/*
We can't apply these because they have binary content:
postInstall = ''
cp $out/bin/wine $out/bin/wine64
'';
"0001-fonts-Add-Liberation-Sans-as-an-Arial-replacement.-v.patch"
"0002-fonts-Add-Liberation-Serif-as-an-Times-New-Roman-rep.patch"
"0003-fonts-Add-Liberation-Mono-as-an-Courier-New-replacem.patch"
"0004-fonts-Add-WenQuanYi-Micro-Hei-as-a-Microsoft-Yahei-r.patch"
"0005-Add-licenses-for-fonts-as-separate-files.patch"
*/
"0006-winecfg-Add-staging-tab-for-CSMT.patch"
"0007-winecfg-Add-checkbox-to-enable-disable-vaapi-GPU-dec.patch"
"0008-winecfg-Add-checkbox-to-enable-disable-EAX-support.patch"
"0009-winecfg-Add-checkbox-to-enable-disable-HideWineExpor.patch"
"0010-winecfg-Add-option-to-enable-disable-GTK3-theming.patch"
"0011-winecfg-Move-input-config-options-to-a-dedicated-tab.patch"
"0012-winex11-Always-create-the-HKCU-configuration-registr.patch"
"0013-winex11-Write-supported-keyboard-layout-list-in-regi.patch"
"0014-winecfg-Add-a-keyboard-layout-selection-config-optio.patch"
"0015-winex11-Use-the-user-configured-keyboard-layout-if-a.patch"
"0016-winecfg-Add-a-keyboard-scancode-detection-toggle-opt.patch"
"0017-winex11-Use-scancode-high-bit-to-set-KEYEVENTF_EXTEN.patch"
"0018-winex11-Support-fixed-X11-keycode-to-scancode-conver.patch"
"0019-winex11-Disable-keyboard-scancode-auto-detection-by-.patch"
"0020-win32u-Update-the-window-client-surface-even-with-no.patch"
"0021-wined3d-Create-release-the-window-DCs-with-the-swapc.patch"
"0022-win32u-Avoid-a-crash-when-drawable-fails-to-be-creat.patch"
"0023-win32u-Check-internal-drawables-before-trying-to-cre.patch"
"0024-win32u-Update-window-state-after-setting-internal-pi.patch"
"0025-win32u-Fix-clipping-out-of-vulkan-and-other-process-.patch"
"0026-win32u-Don-t-set-window-pixel-format-if-drawable-cre.patch"
"0027-win32u-Iterate-the-client-surfaces-rather-than-the-t.patch"
"0028-wined3d-Remove-now-unnecessary-pixel-format-restorat.patch"
"0029-wined3d-Do-not-set-context_gl-needs_set-in-wined3d_c.patch"
"0030-wined3d-Get-rid-of-the-restore_pf-field-from-struct-.patch"
"0031-win32u-Remove-unnecessary-drawable-flush-in-context_.patch"
"0032-win32u-Don-t-load-bitmap-only-TTF-fonts-without-bitm.patch"
"0033-winex11-Move-Xfixes-extension-query-to-process_attac.patch"
"0034-winex11-Add-Xwayland-check.patch"
"0035-winex11-Use-XFixes-to-hide-cursor-before-warping-it.patch"
"0036-winex11-Always-ignore-MotionNotify-event-after-SetCu.patch"
"0037-Revert-winecfg-Allow-configuring-default-MIDI-device.patch"
"0038-wined3d-Update-the-context-DC-from-its-swapchain-if-.patch"
"0039-wined3d-Only-invalidate-enabled-clip-planes.patch"
"0040-wined3d-gl-Only-check-GL-context-when-accessing-onsc.patch"
"0041-winex11-Request-drawable-presentation-explicitly-on-.patch"
"0042-wined3d-Add-some-missing-states-to-wined3d_statebloc.patch"
"0043-wined3d-Avoid-some-invalidation-when-the-vertex-decl.patch"
"0044-wined3d-Avoid-some-invalidation-when-the-viewport-is.patch"
"0045-wined3d-Avoid-some-invalidation-when-texture-states-.patch"
"0046-wined3d-Invalidate-fog-constants-only-when-the-VS-is.patch"
"0047-wined3d-Avoid-some-invalidation-when-render-states-a.patch"
"0048-wined3d-gl-Split-UBOs-to-separate-chunks.patch"
"0049-winedbg-Disable.patch"
"0050-wine.inf-Disable-unused-services.patch"
];
});
in
buildGoModule (finalAttrs: {
pname = "vinegar";
version = "1.8.1";
version = "1.9.3";
src = fetchFromGitHub {
owner = "vinegarhq";
repo = "vinegar";
tag = "v${finalAttrs.version}";
hash = "sha256-7rc6LKZx0OOZDedtTpHIQT4grx1FejRiVnJnVDUddy4=";
hash = "sha256-0MNUkfhbsvOJdN89VGTuf3zHUFhimiCNuoY47V03Cgo=";
};
vendorHash = "sha256-TZhdwHom4DTgLs4z/eADeoKakMtyFrvVljDg4JJp7dc=";
vendorHash = "sha256-gzy7Lw7AP1evPSDSzMQb/yzn+8uVtyk8TOBL2fjE3R8=";
nativeBuildInputs = [
glib
@@ -98,6 +165,9 @@ buildGoModule (finalAttrs: {
postPatch = ''
substituteInPlace Makefile --replace-fail 'gtk-update-icon-cache' '${lib.getExe' gtk4 "gtk4-update-icon-cache"}'
substituteInPlace internal/config/values.go \
--replace-fail 'return dirs.WinePath' 'return "${wine}"' \
--replace-fail '"github.com/vinegarhq/vinegar/internal/dirs"' ""
'';
buildPhase = ''