Subject: bug#77757: cannot update wine to 10.5

From: "Dr. Arne Babenhauserheide" <[email-masked]>
Date: Sat, 12 Apr 2025 00:07:56 +0200

Hi,

the wine package is currently at version 10.0, but the upstream version
is 10.5 (and 10.0 has seriours regressions compared to version 9). A
patch to update to 10.5 is included. But not working.

I cannot update it though: it fails with

    phase `install' succeeded after 33.9 seconds
    starting phase `wrap-executable'
    error: in phase 'wrap-executable': uncaught exception:
    system-error "link" "~A" ("No such file or directory") (2) 
    phase `wrap-executable' failed after 0.0 seconds
    Backtrace:
               9 (primitive-load "/gnu/store/nif5i382cmavk1vf8zjldph8271…")
    In guix/build/gnu-build-system.scm:
        966:2  8 (gnu-build #:source _ #:outputs _ #:inputs _ #:phases . #)
    In ice-9/boot-9.scm:
      1752:10  7 (with-exception-handler _ _ #:unwind? _ # _)
    In srfi/srfi-1.scm:
        634:9  6 (for-each #<procedure 2d2c40 at guix/build/gnu-build-s…> …)
    In ice-9/boot-9.scm:
      1752:10  5 (with-exception-handler _ _ #:unwind? _ # _)
    In guix/build/gnu-build-system.scm:
       987:23  4 (_)
    In guix/build/utils.scm:
       1430:8  3 (wrap-program "/gnu/store/m5haxj3nydmwrbphkkhiiwz1nn…" . #)
    In unknown file:
               2 (link "/gnu/store/m5haxj3nydmwrbphkkhiiwz1nnf0m2a5-win…" …)
    In ice-9/boot-9.scm:
      1685:16  1 (raise-exception _ #:continuable? _)
      1685:16  0 (raise-exception _ #:continuable? _)
    
    ice-9/boot-9.scm:1685:16: In procedure raise-exception:
    In procedure link: No such file or directory
    build process 18 exited with status 256
    builder for `/gnu/store/rslvx67zyxmyf11rv98cq6gx1b8w12ip-wine-10.5.drv' failed with exit code 1
    build of /gnu/store/rslvx67zyxmyf11rv98cq6gx1b8w12ip-wine-10.5.drv failed
    View build log at '/var/log/guix/drvs/rs/lvx67zyxmyf11rv98cq6gx1b8w12ip-wine-10.5.drv.gz'.
    cannot build derivation `/gnu/store/4l0bmw358m2pgv6csmi36qk8n011bzx0-wine64-10.5.drv': 1 dependencies couldn't be built
    guix build: error: build of `/gnu/store/4l0bmw358m2pgv6csmi36qk8n011bzx0-wine64-10.5.drv' failed

It would be great to have wine updated to 10.5. I’m currently running
wine 9 via an inferior channel just that games I paid for keep working.

diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index df1796f7808..c658f11c18a 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -81,7 +81,7 @@ (define-module (gnu packages wine)
 (define-public wine-minimal
   (package
     (name "wine-minimal")
-    (version "10.0")
+    (version "10.5")
     (source
      (origin
        (method url-fetch)
@@ -93,7 +93,7 @@ (define-public wine-minimal
               (string-append "https://dl.winehq.org/wine/source/" dir
                              "wine-" version ".tar.xz")))
        (sha256
-        (base32 "009nmi0z60ilrlrxjj9msdqk2n2wp0jcdnflkh7b7bzgyzsv7q65"))))
+        (base32 "1g49xhxmns4yqylb667wx27vcbly5q186icrbx57fx3nyhgfqdn0"))))
     (properties '((upstream-name . "wine")))
     (build-system gnu-build-system)
     (native-inputs (list bison flex))
@@ -310,7 +310,7 @@ (define-public wine64
 (define-public wine-staging-patchset-data
   (package
     (name "wine-staging-patchset-data")
-    (version "10.0")
+    (version "10.5")
     (source
      (origin
        (method git-fetch)
@@ -319,7 +319,7 @@ (define-public wine-staging-patchset-data
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "17lslhmad0z5im0xlan5xwsnfvnxzi6iaj8bc51sc9sslfhwlv6j"))))
+        (base32 "1hbxwdfivlyfjrdn98m335fyvm21vizf1i4fvd8j4hghkbkkyw5d"))))
     (build-system trivial-build-system)
     (native-inputs
      (list coreutils))
@@ -435,3 +435,20 @@ (define-public wine64-staging
     (synopsis "Implementation of the Windows API (staging branch, WoW64
 version)")
     (supported-systems '("x86_64-linux" "aarch64-linux"))))
+
+(define-public wine64-9
+  (package
+    (inherit wine64)
+    (version "9.22")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (let ((dir (string-append
+                        (version-major version)
+                        (if (string-suffix? ".0" (version-major+minor version))
+                            ".0/"
+                            ".x/"))))
+              (string-append "https://dl.winehq.org/wine/source/" dir
+                             "wine-" version ".tar.xz")))
+       (sha256
+        (base32 "009nmi0z60ilrlrxjj9msdqk2n2wp0jcdnflkh7b7bzgyzsv7q65"))))))

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de