GNU bug report logs - #55302
[PATCH 0/4] Update wine and wine-staging to 7.8

Previous Next

Package: guix-patches;

Reported by: Liliana Marie Prikler <liliana.prikler <at> gmail.com>

Date: Sat, 7 May 2022 16:06:01 UTC

Severity: normal

Tags: patch

Done: Liliana Marie Prikler <liliana.prikler <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 55302 in the body.
You can then email your comments to 55302 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#55302; Package guix-patches. (Sat, 07 May 2022 16:06:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Liliana Marie Prikler <liliana.prikler <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sat, 07 May 2022 16:06:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: guix-patches <at> gnu.org
Subject: [PATCH 0/4] *** SUBJECT HERE ***
Date: Sat, 7 May 2022 17:46:14 +0200
*** BLURB HERE ***

Liliana Marie Prikler (4):
  gnu: wine: Update to 7.8.
  gnu: wine: Use new package style.
  gnu: wine64: Use new package style.
  gnu: wine-staging: Update to 7.8.

 gnu/packages/wine.scm | 530 ++++++++++++++++--------------------------
 1 file changed, 202 insertions(+), 328 deletions(-)

-- 
2.36.0





Information forwarded to guix-patches <at> gnu.org:
bug#55302; Package guix-patches. (Sat, 07 May 2022 16:12:04 GMT) Full text and rfc822 format available.

Message #8 received at 55302 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 55302 <at> debbugs.gnu.org
Subject: [PATCH 0/4] Update wine and wine-staging to 7.8
Date: Sat, 7 May 2022 17:46:14 +0200
Hi Guix,

(sorry for the empty mail, forgot to save the Emacs buffer before sending)

Tobias noted “yesterday” in IRC that the wine-staging package was broken
(see <http://logs.guix.gnu.org/guix/2022-05-07.log#013941> for context
and <https://issues.guix.gnu.org/54257> for the issue), and also that
wine itself was out of date.  Since wine was bumped to 7.8 upstream,
I decided to update both.

Both wine64 and wine64-staging as well as all the intermediate packages
build for me on x86_64 with the following patches, but I did not do any
runtime testing yet.  So while I and others run their blessed test
suites of questionable exes, have fun with those patches :)

Cheers

Liliana Marie Prikler (4):
  gnu: wine: Update to 7.8.
  gnu: wine: Use new package style.
  gnu: wine64: Use new package style.
  gnu: wine-staging: Update to 7.8.

 gnu/packages/wine.scm | 530 ++++++++++++++++--------------------------
 1 file changed, 202 insertions(+), 328 deletions(-)

-- 
2.36.0





Information forwarded to guix-patches <at> gnu.org:
bug#55302; Package guix-patches. (Sat, 07 May 2022 16:12:04 GMT) Full text and rfc822 format available.

Message #11 received at 55302 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 55302 <at> debbugs.gnu.org
Subject: [PATCH 1/4] gnu: wine: Update to 7.8.
Date: Sat, 7 May 2022 11:46:23 +0200
* gnu/packages/wine.scm (wine): Update to 7.8.
---
 gnu/packages/wine.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index 7ca2b9d0c7..5d8e9f5b90 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -74,7 +74,7 @@ (define-module (gnu packages wine)
 (define-public wine
   (package
     (name "wine")
-    (version "7.0")
+    (version "7.8")
     (source
      (origin
        (method url-fetch)
@@ -86,7 +86,7 @@ (define-public wine
               (string-append "https://dl.winehq.org/wine/source/" dir
                              "wine-" version ".tar.xz")))
        (sha256
-        (base32 "0sq8vsr8jf1a8fanh76rq7vyxm8h0cc4ckirjy7v2p08biyy4hsv"))))
+        (base32 "1f0r00b6lk59cmpj42b7f2jrd58d7vxfvpp54j7arwjhdg4yjxlg"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("bison" ,bison)
-- 
2.36.0





Information forwarded to guix-patches <at> gnu.org:
bug#55302; Package guix-patches. (Sat, 07 May 2022 16:12:05 GMT) Full text and rfc822 format available.

Message #14 received at 55302 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 55302 <at> debbugs.gnu.org
Subject: [PATCH 2/4] gnu: wine: Use new package style.
Date: Sat, 7 May 2022 17:36:07 +0200
* gnu/packages/wine.scm (wine)[inputs, native-inputs]: Drop labels.
[arguments]: Convert to list of G-Expressions.
<#:configure-flags,#:make-flags>: Replace ‘%output’ with ‘#$output’.
<#:phases>: Use ‘search-input-file’ instead of input labels.
---
 gnu/packages/wine.scm | 187 +++++++++++++++++++++---------------------
 1 file changed, 92 insertions(+), 95 deletions(-)

diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index 5d8e9f5b90..eb71a8caa8 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2017, 2020 Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
 ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2019 Pierre Neidhardt <mail <at> ambrevar.xyz>
+;;; Copyright © 2022 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -25,6 +26,7 @@
 (define-module (gnu packages wine)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
+  #:use-module (guix gexp)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix utils)
@@ -89,118 +91,113 @@ (define-public wine
         (base32 "1f0r00b6lk59cmpj42b7f2jrd58d7vxfvpp54j7arwjhdg4yjxlg"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("bison" ,bison)
-       ("flex" ,flex)
-       ("gettext" ,gettext-minimal)
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)))
+     (list bison flex gettext-minimal perl pkg-config))
     (inputs
      ;; Some libraries like libjpeg are now compiled into native PE objects.
      ;; The ELF objects provided by Guix packages are of no use.  Whilst this
      ;; is technically bundling, it's quite defensible.  It might be possible
      ;; to build some of these from Guix PACKAGE-SOURCE but attempts were not
      ;; fruitful so far.  See <https://www.winehq.org/announce/7.0>.
-     `(("alsa-lib" ,alsa-lib)
-       ("dbus" ,dbus)
-       ("cups" ,cups)
-       ("eudev" ,eudev)
-       ("fontconfig" ,fontconfig)
-       ("freetype" ,freetype)
-       ("gnutls" ,gnutls)
-       ("gst-plugins-base" ,gst-plugins-base)
-       ("libgphoto2" ,libgphoto2)
-       ("libldap" ,openldap)
-       ("libnetapi" ,samba)
-       ("libsane" ,sane-backends)
-       ("libpcap" ,libpcap)
-       ("libusb" ,libusb)
-       ("libICE" ,libice)
-       ("libX11" ,libx11)
-       ("libXi" ,libxi)
-       ("libXext" ,libxext)
-       ("libXcursor" ,libxcursor)
-       ("libXrender" ,libxrender)
-       ("libXrandr" ,libxrandr)
-       ("libXinerama" ,libxinerama)
-       ("libXxf86vm" ,libxxf86vm)
-       ("libXcomposite" ,libxcomposite)
-       ("mit-krb5" ,mit-krb5)
-       ("openal" ,openal)
-       ("pulseaudio" ,pulseaudio)
-       ("sdl2" ,sdl2)
-       ("unixodbc" ,unixodbc)
-       ("v4l-utils" ,v4l-utils)
-       ("vkd3d" ,vkd3d)
-       ("vulkan-loader" ,vulkan-loader)))
+     (list alsa-lib
+           cups
+           dbus
+           eudev
+           fontconfig
+           freetype
+           gnutls
+           gst-plugins-base
+           libgphoto2
+           openldap
+           samba
+           sane-backends
+           libpcap
+           libusb
+           libice
+           libx11
+           libxi
+           libxext
+           libxcursor
+           libxrender
+           libxrandr
+           libxinerama
+           libxxf86vm
+           libxcomposite
+           mit-krb5
+           openal
+           pulseaudio
+           sdl2
+           unixodbc
+           v4l-utils
+           vkd3d
+           vulkan-loader))
     (arguments
-     `(;; Force a 32-bit build targeting a similar architecture, i.e.:
-       ;; armhf for armhf/aarch64, i686 for i686/x86_64.
-       #:system ,@(match (%current-system)
-                    ((or "armhf-linux" "aarch64-linux")
-                     `("armhf-linux"))
-                    (_
-                     `("i686-linux")))
+     (list
+      ;; Force a 32-bit build targeting a similar architecture, i.e.:
+      ;; armhf for armhf/aarch64, i686 for i686/x86_64.
+      #:system (match (%current-system)
+                 ((or "armhf-linux" "aarch64-linux") "armhf-linux")
+                 (_ "i686-linux"))
 
        ;; XXX: There's a test suite, but it's unclear whether it's supposed to
        ;; pass.
        #:tests? #f
 
        #:configure-flags
-       (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib/wine32"))
+       #~(list (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib/wine32"))
 
        #:make-flags
-       (list "SHELL=bash"
-             (string-append "libdir=" %output "/lib/wine32"))
+       #~(list "SHELL=bash"
+               (string-append "libdir=" #$output "/lib/wine32"))
 
        #:phases
-       (modify-phases %standard-phases
-         ;; Explicitly set the 32-bit version of vulkan-loader when installing
-         ;; to i686-linux or x86_64-linux.
-         ;; TODO: Add more JSON files as they become available in Mesa.
-         ,@(match (%current-system)
-             ((or "i686-linux" "x86_64-linux")
-              `((add-after 'install 'wrap-executable
-                  (lambda* (#:key inputs outputs #:allow-other-keys)
-                    (let* ((out (assoc-ref outputs "out"))
-                           (icd (string-append out "/share/vulkan/icd.d")))
-                      (mkdir-p icd)
-                      (copy-file (string-append
-                                  (assoc-ref inputs "mesa")
-                                  "/share/vulkan/icd.d/radeon_icd.i686.json")
-                                 (string-append icd "/radeon_icd.i686.json"))
-                      (copy-file (string-append
-                                  (assoc-ref inputs "mesa")
-                                  "/share/vulkan/icd.d/intel_icd.i686.json")
-                                 (string-append icd "/intel_icd.i686.json"))
-                      (wrap-program (string-append out "/bin/wine-preloader")
-                        `("VK_ICD_FILENAMES" ":" =
-                          (,(string-append icd
-                                           "/radeon_icd.i686.json" ":"
-                                           icd "/intel_icd.i686.json")))))))))
-             (_
-              `()))
-         (add-after 'unpack 'patch-SHELL
-           (lambda _
-             (substitute* "configure"
-               ;; configure first respects CONFIG_SHELL, clobbers SHELL later.
-               (("/bin/sh")
-                (which "bash")))))
-         (add-after 'configure 'patch-dlopen-paths
-           ;; Hardcode dlopened sonames to absolute paths.
-           (lambda _
-             (let* ((library-path (search-path-as-string->list
-                                   (getenv "LIBRARY_PATH")))
-                    (find-so (lambda (soname)
-                               (search-path library-path soname))))
-               (substitute* "include/config.h"
-                 (("(#define SONAME_.* )\"(.*)\"" _ defso soname)
-                  (format #f "~a\"~a\"" defso (find-so soname)))))))
-         (add-after 'patch-generated-file-shebangs 'patch-makedep
-           (lambda* (#:key outputs #:allow-other-keys)
-             (substitute* "tools/makedep.c"
-               (("output_filenames\\( unix_libs \\);" all)
-                (string-append all
-                               "output ( \" -Wl,-rpath=%s \", so_dir );"))))))))
+       #~(modify-phases %standard-phases
+           ;; Explicitly set the 32-bit version of vulkan-loader when installing
+           ;; to i686-linux or x86_64-linux.
+           ;; TODO: Add more JSON files as they become available in Mesa.
+           #$@(match (%current-system)
+                ((or "i686-linux" "x86_64-linux")
+                 `((add-after 'install 'wrap-executable
+                     (lambda* (#:key inputs outputs #:allow-other-keys)
+                       (let* ((out (assoc-ref outputs "out"))
+                              (icd (string-append out "/share/vulkan/icd.d")))
+                         (mkdir-p icd)
+                         (copy-file (search-input-file
+                                     inputs
+                                     "/share/vulkan/icd.d/radeon_icd.i686.json")
+                                    (string-append icd "/radeon_icd.i686.json"))
+                         (copy-file (search-input-file
+                                     inputs
+                                     "/share/vulkan/icd.d/intel_icd.i686.json")
+                                    (string-append icd "/intel_icd.i686.json"))
+                         (wrap-program (string-append out "/bin/wine-preloader")
+                           `("VK_ICD_FILENAMES" ":" =
+                             (,(string-append icd
+                                              "/radeon_icd.i686.json" ":"
+                                              icd "/intel_icd.i686.json")))))))))
+                (_
+                 `()))
+           (add-after 'unpack 'patch-SHELL
+             (lambda _
+               (substitute* "configure"
+                 ;; configure first respects CONFIG_SHELL, clobbers SHELL later.
+                 (("/bin/sh")
+                  (which "bash")))))
+           (add-after 'configure 'patch-dlopen-paths
+             ;; Hardcode dlopened sonames to absolute paths.
+             (lambda _
+               (let* ((library-path (search-path-as-string->list
+                                     (getenv "LIBRARY_PATH")))
+                      (find-so (lambda (soname)
+                                 (search-path library-path soname))))
+                 (substitute* "include/config.h"
+                   (("(#define SONAME_.* )\"(.*)\"" _ defso soname)
+                    (format #f "~a\"~a\"" defso (find-so soname)))))))
+           (add-after 'patch-generated-file-shebangs 'patch-makedep
+             (lambda* (#:key outputs #:allow-other-keys)
+               (substitute* "tools/makedep.c"
+                 (("output_filenames\\( unix_libs \\);" all)
+                  (string-append all
+                                 "output ( \" -Wl,-rpath=%s \", so_dir );"))))))))
     (home-page "https://www.winehq.org/")
     (synopsis "Implementation of the Windows API (32-bit only)")
     (description
-- 
2.36.0





Information forwarded to guix-patches <at> gnu.org:
bug#55302; Package guix-patches. (Sat, 07 May 2022 16:12:05 GMT) Full text and rfc822 format available.

Message #17 received at 55302 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 55302 <at> debbugs.gnu.org
Subject: [PATCH 3/4] gnu: wine64: Use new package style.
Date: Sat, 7 May 2022 17:39:25 +0200
* gnu/packages/wine.scm (wine64)[arguments]: Convert to list of G-Expessions.
<#:configure-flags,#:make-flags>: Use ‘#$output’ instead of ‘%output’.
<#:phases>: Replace labels with search-input-file.
---
 gnu/packages/wine.scm | 169 ++++++++++++++++++++----------------------
 1 file changed, 79 insertions(+), 90 deletions(-)

diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index eb71a8caa8..1ab9153f84 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -219,96 +219,85 @@ (define-public wine64
     (inputs (modify-inputs (package-inputs wine)
               (prepend wine)))
     (arguments
-     `(#:make-flags
-       (list "SHELL=bash"
-             (string-append "libdir=" %output "/lib/wine64"))
-       #:phases
-       (modify-phases %standard-phases
-         ;; Explicitly set both the 64-bit and 32-bit versions of vulkan-loader
-         ;; when installing to x86_64-linux so both are available.
-         ;; TODO: Add more JSON files as they become available in Mesa.
-         ,@(match (%current-system)
-             ((or "x86_64-linux")
-              `((add-after 'copy-wine32-binaries 'wrap-executable
-                  (lambda* (#:key inputs outputs #:allow-other-keys)
-                    (let* ((out (assoc-ref outputs "out")))
-                      (wrap-program (string-append out "/bin/wine-preloader")
-                        `("VK_ICD_FILENAMES" ":" =
-                          (,(string-append
-                             (assoc-ref inputs "mesa")
-                             "/share/vulkan/icd.d/radeon_icd.x86_64.json" ":"
-                             (assoc-ref inputs "mesa")
-                             "/share/vulkan/icd.d/intel_icd.x86_64.json" ":"
-                             (assoc-ref inputs "wine")
-                             "/share/vulkan/icd.d/radeon_icd.i686.json" ":"
-                             (assoc-ref inputs "wine")
-                             "/share/vulkan/icd.d/intel_icd.i686.json"))))
-                      (wrap-program (string-append out "/bin/wine64-preloader")
-                        `("VK_ICD_FILENAMES" ":" =
-                          (,(string-append
-                             (assoc-ref inputs "mesa")
-                             "/share/vulkan/icd.d/radeon_icd.x86_64.json"
-                             ":" (assoc-ref inputs "mesa")
-                             "/share/vulkan/icd.d/intel_icd.x86_64.json"
-                             ":" (assoc-ref inputs "wine")
-                             "/share/vulkan/icd.d/radeon_icd.i686.json"
-                             ":" (assoc-ref inputs "wine")
-                             "/share/vulkan/icd.d/intel_icd.i686.json"))))
-                      #t)))))
-             (_
-              `()))
-         (add-after 'unpack 'patch-SHELL
-           (lambda _
-             (substitute* "configure"
-               ;; configure first respects CONFIG_SHELL, clobbers SHELL later.
-               (("/bin/sh")
-                (which "bash")))))
-         (add-after 'patch-generated-file-shebangs 'patch-makedep
-           (lambda* (#:key outputs #:allow-other-keys)
-             (substitute* "tools/makedep.c"
-               (("output_filenames\\( unix_libs \\);" all)
-                (string-append all
-                               "output ( \" -Wl,-rpath=%s \", so_dir );")))))
-         (add-after 'install 'copy-wine32-binaries
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((wine32 (assoc-ref %build-inputs "wine"))
-                    (out (assoc-ref %outputs "out")))
-               ;; Copy the 32-bit binaries needed for WoW64.
-               (copy-file (string-append wine32 "/bin/wine")
-                          (string-append out "/bin/wine"))
-               ;; Copy the real 32-bit wine-preloader instead of the wrapped
-               ;; version.
-               (copy-file (string-append wine32 "/bin/.wine-preloader-real")
-                          (string-append out "/bin/wine-preloader")))))
-         (add-after 'install 'copy-wine32-libraries
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((wine32 (assoc-ref %build-inputs "wine"))
-                    (out (assoc-ref %outputs "out")))
-               (copy-recursively (string-append wine32 "/lib/wine32")
-                                 (string-append out "/lib/wine32")))))
-         (add-after 'compress-documentation 'copy-wine32-manpage
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((wine32 (assoc-ref %build-inputs "wine"))
-                    (out (assoc-ref %outputs "out")))
-               ;; Copy the missing man file for the wine binary from wine.
-               (copy-file (string-append wine32 "/share/man/man1/wine.1.gz")
-                          (string-append out "/share/man/man1/wine.1.gz")))))
-         (add-after 'configure 'patch-dlopen-paths
-           ;; Hardcode dlopened sonames to absolute paths.
-           (lambda _
-             (let* ((library-path (search-path-as-string->list
-                                   (getenv "LIBRARY_PATH")))
-                    (find-so (lambda (soname)
-                               (search-path library-path soname))))
-               (substitute* "include/config.h"
-                 (("(#define SONAME_.* )\"(.*)\"" _ defso soname)
-                  (format #f "~a\"~a\"" defso (find-so soname))))))))
-       #:configure-flags
-       (list "--enable-win64"
-             (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib/wine64"))
-       ,@(strip-keyword-arguments '(#:configure-flags #:make-flags #:phases
-                                    #:system)
-                                  (package-arguments wine))))
+     (cons*
+      #:make-flags
+      #~(list "SHELL=bash"
+              (string-append "libdir=" #$output "/lib/wine64"))
+      #:phases
+      #~(modify-phases %standard-phases
+          ;; Explicitly set both the 64-bit and 32-bit versions of vulkan-loader
+          ;; when installing to x86_64-linux so both are available.
+          ;; TODO: Add more JSON files as they become available in Mesa.
+          #$@(match (%current-system)
+               ((or "x86_64-linux")
+                `((add-after 'copy-wine32-binaries 'wrap-executable
+                    (lambda* (#:key inputs outputs #:allow-other-keys)
+                      (let* ((out (assoc-ref outputs "out"))
+                             (icd-files (map
+                                         (lambda (basename)
+                                           (search-input-file
+                                            inputs
+                                            (string-append "/share/vulkan/icd.d/"
+                                                           basename)))
+                                         '("radeon_icd.x86_64.json"
+                                           "intel_icd.x86_64.json"
+                                           "radeon_icd.i686.json"
+                                           "intel_icd.i686.json"))))
+                        (wrap-program (string-append out "/bin/wine-preloader")
+                          `("VK_ICD_FILENAMES" ":" = ,icd-files))
+                        (wrap-program (string-append out "/bin/wine64-preloader")
+                          `("VK_ICD_FILENAMES" ":" = ,icd-files)))))))
+               (_
+                `()))
+          (add-after 'unpack 'patch-SHELL
+            (lambda _
+              (substitute* "configure"
+                ;; configure first respects CONFIG_SHELL, clobbers SHELL later.
+                (("/bin/sh")
+                 (which "bash")))))
+          (add-after 'patch-generated-file-shebangs 'patch-makedep
+            (lambda* (#:key outputs #:allow-other-keys)
+              (substitute* "tools/makedep.c"
+                (("output_filenames\\( unix_libs \\);" all)
+                 (string-append all
+                                "output ( \" -Wl,-rpath=%s \", so_dir );")))))
+          (add-after 'install 'copy-wine32-binaries
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (let ((out (assoc-ref %outputs "out")))
+                ;; Copy the 32-bit binaries needed for WoW64.
+                (copy-file (search-input-file inputs "/bin/wine")
+                           (string-append out "/bin/wine"))
+                ;; Copy the real 32-bit wine-preloader instead of the wrapped
+                ;; version.
+                (copy-file (search-input-file inputs "/bin/.wine-preloader-real")
+                           (string-append out "/bin/wine-preloader")))))
+          (add-after 'install 'copy-wine32-libraries
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (let* ((out (assoc-ref %outputs "out")))
+                (copy-recursively (search-input-directory inputs "/lib/wine32")
+                                  (string-append out "/lib/wine32")))))
+          (add-after 'compress-documentation 'copy-wine32-manpage
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (let* ((out (assoc-ref %outputs "out")))
+                ;; Copy the missing man file for the wine binary from wine.
+                (copy-file (search-input-file inputs "/share/man/man1/wine.1.gz")
+                           (string-append out "/share/man/man1/wine.1.gz")))))
+          (add-after 'configure 'patch-dlopen-paths
+            ;; Hardcode dlopened sonames to absolute paths.
+            (lambda _
+              (let* ((library-path (search-path-as-string->list
+                                    (getenv "LIBRARY_PATH")))
+                     (find-so (lambda (soname)
+                                (search-path library-path soname))))
+                (substitute* "include/config.h"
+                  (("(#define SONAME_.* )\"(.*)\"" _ defso soname)
+                   (format #f "~a\"~a\"" defso (find-so soname))))))))
+      #:configure-flags
+      #~(list "--enable-win64"
+              (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib/wine64"))
+      (strip-keyword-arguments '(#:configure-flags #:make-flags #:phases
+                                 #:system)
+                               (package-arguments wine))))
     (synopsis "Implementation of the Windows API (WoW64 version)")
     (supported-systems '("x86_64-linux" "aarch64-linux"))))
 
-- 
2.36.0





Information forwarded to guix-patches <at> gnu.org:
bug#55302; Package guix-patches. (Sat, 07 May 2022 16:12:05 GMT) Full text and rfc822 format available.

Message #20 received at 55302 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 55302 <at> debbugs.gnu.org
Subject: [PATCH 4/4] gnu: wine-staging: Update to 7.8.
Date: Sat, 7 May 2022 11:47:45 +0200
* gnu/packages/wine.scm (wine-staging-patchset-data): Update to 7.8.
(wine-staging, wine64-staging)[arguments]: Reuse arguments from wine and
wine64 respectively via substitute-keyword-arguments.
<#:phases>: Rename ‘patch-source-wine-staging’ to
‘apply-wine-staging-patches’.
Reorder, so that ‘patch-SHELL’ is applied afterwards.
Drop trailing #t.
---
 gnu/packages/wine.scm | 170 +++++++-----------------------------------
 1 file changed, 29 insertions(+), 141 deletions(-)

diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index 1ab9153f84..231366c5de 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -339,7 +339,7 @@ (define-public wine-minimal
 (define-public wine-staging-patchset-data
   (package
     (name "wine-staging-patchset-data")
-    (version "6.6")
+    (version "7.8")
     (source
      (origin
        (method git-fetch)
@@ -348,7 +348,7 @@ (define-public wine-staging-patchset-data
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0d5m9pvafr0iw99ny7rgzfmw7zw45q5wfcw68zj88mvzs47xkgms"))))
+        (base32 "02rgpymhqrdr3aamvv6yvpgh82rj1n4adr36mi26cs3zbkx8zb55"))))
     (build-system trivial-build-system)
     (native-inputs
      (list bash coreutils))
@@ -398,7 +398,7 @@ (define-public wine-staging
                              "wine-" wine-version ".tar.xz"))
          (file-name (string-append name "-" wine-version ".tar.xz"))
          (sha256
-          (base32 "1bc4zmqpdqs1ncz3qisp8a313pqzi5a31gq1s99ivb60vk325rcr")))))
+          (base32 "1f0r00b6lk59cmpj42b7f2jrd58d7vxfvpp54j7arwjhdg4yjxlg")))))
     (inputs (modify-inputs (package-inputs wine)
               (prepend autoconf ; for autoreconf
                        ffmpeg
@@ -409,54 +409,19 @@ (define-public wine-staging
                        util-linux ; for hexdump
                        wine-staging-patchset-data)))
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         ;; Explicitly set the 32-bit version of vulkan-loader when installing
-         ;; to i686-linux or x86_64-linux.
-         ;; TODO: Add more JSON files as they become available in Mesa.
-         ,@(match (%current-system)
-             ((or "i686-linux" "x86_64-linux")
-              `((add-after 'install 'wrap-executable
-                  (lambda* (#:key inputs outputs #:allow-other-keys)
-                    (let* ((out (assoc-ref outputs "out"))
-                           (icd (string-append out "/share/vulkan/icd.d")))
-                      (mkdir-p icd)
-                      (copy-file (search-input-file inputs
-                                 "/share/vulkan/icd.d/radeon_icd.i686.json")
-                                 (string-append icd "/radeon_icd.i686.json"))
-                      (copy-file (search-input-file inputs
-                                 "/share/vulkan/icd.d/intel_icd.i686.json")
-                                 (string-append icd "/intel_icd.i686.json"))
-                      (wrap-program (string-append out "/bin/wine-preloader")
-                                    `("VK_ICD_FILENAMES" ":" =
-                                      (,(string-append icd
-                                        "/radeon_icd.i686.json" ":"
-                                        icd "/intel_icd.i686.json"))))
-                      #t)))))
-             (_
-              `())
-             )
-         (add-before 'configure 'patch-source-wine-staging
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((source (assoc-ref %build-inputs "source"))
-                    (script (string-append (assoc-ref %build-inputs
-                            "wine-staging-patchset-data")
-                            "/share/wine-staging/patches/patchinstall.sh")))
-               (invoke script (string-append "DESTDIR=" ".") "--all")
-               #t)))
-         (add-after 'configure 'patch-dlopen-paths
-           ;; Hardcode dlopened sonames to absolute paths.
-           (lambda _
-             (let* ((library-path (search-path-as-string->list
-                                   (getenv "LIBRARY_PATH")))
-                    (find-so (lambda (soname)
-                               (search-path library-path soname))))
-               (substitute* "include/config.h"
-                 (("(#define SONAME_.* )\"(.*)\"" _ defso soname)
-                  (format #f "~a\"~a\"" defso (find-so soname))))
-               #t))))
-       ,@(strip-keyword-arguments '(#:phases)
-                                  (package-arguments wine))))
+     (substitute-keyword-arguments (package-arguments wine)
+       ((#:phases phases)
+        #~(modify-phases #$phases
+            (delete 'patch-SHELL)
+            (add-before 'configure 'apply-wine-staging-patches
+              (lambda* (#:key inputs #:allow-other-keys)
+                (invoke (search-input-file
+                         inputs
+                         "/share/wine-staging/patches/patchinstall.sh")
+                        "DESTDIR=."
+                        "--all")))
+            (add-after 'apply-wine-staging-patches 'patch-SHELL
+              (assoc-ref #$phases 'patch-SHELL))))))
     (synopsis "Implementation of the Windows API (staging branch, 32-bit only)")
     (description "Wine-Staging is the testing area of Wine.  It
 contains bug fixes and features, which have not been integrated into
@@ -479,96 +444,19 @@ (define-public wine64-staging
     (inputs (modify-inputs (package-inputs wine-staging)
               (prepend wine-staging)))
     (arguments
-     `(#:make-flags
-       (list "SHELL=bash"
-             (string-append "libdir=" %output "/lib/wine64"))
-       #:phases
-       (modify-phases %standard-phases
-         ;; Explicitly set both the 64-bit and 32-bit versions of vulkan-loader
-         ;; when installing to x86_64-linux so both are available.
-         ;; TODO: Add more JSON files as they become available in Mesa.
-         ,@(match (%current-system)
-           ((or "x86_64-linux")
-             `((add-after 'copy-wine32-binaries 'wrap-executable
-               (lambda* (#:key inputs outputs #:allow-other-keys)
-                 (let* ((out (assoc-ref outputs "out")))
-                   (wrap-program (string-append out "/bin/wine-preloader")
-                                 `("VK_ICD_FILENAMES" ":" =
-                                   (,(string-append (assoc-ref inputs "mesa")
-                                     "/share/vulkan/icd.d/radeon_icd.x86_64.json" ":"
-                                     (assoc-ref inputs "mesa")
-                                     "/share/vulkan/icd.d/intel_icd.x86_64.json" ":"
-                                     (assoc-ref inputs "wine-staging")
-                                     "/share/vulkan/icd.d/radeon_icd.i686.json" ":"
-                                     (assoc-ref inputs "wine-staging")
-                                     "/share/vulkan/icd.d/intel_icd.i686.json"))))
-                   (wrap-program (string-append out "/bin/wine64-preloader")
-                                 `("VK_ICD_FILENAMES" ":" =
-                                   (,(string-append (assoc-ref inputs "mesa")
-                                     "/share/vulkan/icd.d/radeon_icd.x86_64.json"
-                                     ":" (assoc-ref inputs "mesa")
-                                     "/share/vulkan/icd.d/intel_icd.x86_64.json"
-                                     ":" (assoc-ref inputs "wine-staging")
-                                     "/share/vulkan/icd.d/radeon_icd.i686.json"
-                                     ":" (assoc-ref inputs "wine-staging")
-                                     "/share/vulkan/icd.d/intel_icd.i686.json"))))
-                   #t)))))
-           (_
-            `())
-           )
-         (add-before 'configure 'patch-source-wine-staging
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((source (assoc-ref %build-inputs "source"))
-                    (script (string-append (assoc-ref %build-inputs
-                            "wine-staging-patchset-data")
-                            "/share/wine-staging/patches/patchinstall.sh")))
-               (invoke script (string-append "DESTDIR=" ".") "--all")
-               #t)))
-         (add-after 'install 'copy-wine32-binaries
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((wine32 (assoc-ref %build-inputs "wine-staging"))
-                    (out (assoc-ref %outputs "out")))
-               ;; Copy the 32-bit binaries needed for WoW64.
-               (copy-file (string-append wine32 "/bin/wine")
-                          (string-append out "/bin/wine"))
-               ;; Copy the real 32-bit wine-preloader instead of the wrapped
-               ;; version.
-               (copy-file (string-append wine32 "/bin/.wine-preloader-real")
-                          (string-append out "/bin/wine-preloader"))
-               #t)))
-         (add-after 'install 'copy-wine32-libraries
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((wine32 (assoc-ref %build-inputs "wine-staging"))
-                    (out (assoc-ref %outputs "out")))
-               (copy-recursively (string-append wine32 "/lib/wine32")
-                                 (string-append out "/lib/wine32"))
-               #t)))
-         (add-after 'compress-documentation 'copy-wine32-manpage
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((wine32 (assoc-ref %build-inputs "wine-staging"))
-                    (out (assoc-ref %outputs "out")))
-               ;; Copy the missing man file for the wine binary from
-               ;; wine-staging.
-               (copy-file (string-append wine32 "/share/man/man1/wine.1.gz")
-                          (string-append out "/share/man/man1/wine.1.gz"))
-               #t)))
-         (add-after 'configure 'patch-dlopen-paths
-           ;; Hardcode dlopened sonames to absolute paths.
-           (lambda _
-             (let* ((library-path (search-path-as-string->list
-                                   (getenv "LIBRARY_PATH")))
-                    (find-so (lambda (soname)
-                               (search-path library-path soname))))
-               (substitute* "include/config.h"
-                 (("(#define SONAME_.* )\"(.*)\"" _ defso soname)
-                  (format #f "~a\"~a\"" defso (find-so soname))))
-               #t))))
-       #:configure-flags
-       (list "--enable-win64"
-             (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib/wine64"))
-       ,@(strip-keyword-arguments '(#:configure-flags #:make-flags #:phases
-                                    #:system)
-                                  (package-arguments wine-staging))))
+     (substitute-keyword-arguments (package-arguments wine64)
+       ((#:phases phases)
+        #~(modify-phases #$phases
+            (delete 'patch-SHELL)
+            (add-before 'configure 'apply-wine-staging-patches
+              (lambda* (#:key inputs #:allow-other-keys)
+                (invoke (search-input-file
+                         inputs
+                         "/share/wine-staging/patches/patchinstall.sh")
+                        "DESTDIR=."
+                        "--all")))
+            (add-after 'apply-wine-staging-patches 'patch-SHELL
+              (assoc-ref #$phases 'patch-SHELL))))))
     (synopsis "Implementation of the Windows API (staging branch, WoW64
 version)")
     (supported-systems '("x86_64-linux" "aarch64-linux"))))
-- 
2.36.0





Changed bug title to '[PATCH 0/4] Update wine and wine-staging to 7.8' from '[PATCH 0/4] *** SUBJECT HERE ***' Request was from Liliana Marie Prikler <liliana.prikler <at> ist.tugraz.at> to control <at> debbugs.gnu.org. (Mon, 09 May 2022 06:39:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#55302; Package guix-patches. (Tue, 10 May 2022 09:53:02 GMT) Full text and rfc822 format available.

Message #25 received at 55302 <at> debbugs.gnu.org (full text, mbox):

From: "pelzflorian (Florian Pelz)" <pelzflorian <at> pelzflorian.de>
To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Cc: 55302 <at> debbugs.gnu.org
Subject: Re: [bug#55302] [PATCH 0/4] Update wine and wine-staging to 7.8
Date: Tue, 10 May 2022 11:51:55 +0200
Thank you Liliana!  I have no idea what fixed 54257, but converting to
the new style LGTM and I tested not thoroughly wine and
wine64{,-staging} on x86_64.  (I see no reason why armhf should break
and aarch64 didn’t build anyway.)

Regards,
Florian




Information forwarded to guix-patches <at> gnu.org:
bug#55302; Package guix-patches. (Fri, 20 May 2022 18:17:01 GMT) Full text and rfc822 format available.

Message #28 received at 55302 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Cc: 55302 <at> debbugs.gnu.org
Subject: Re: bug#55302: [PATCH 0/4] Update wine and wine-staging to 7.8
Date: Fri, 20 May 2022 20:16:47 +0200
Hi!

Liliana Marie Prikler <liliana.prikler <at> gmail.com> skribis:

>   gnu: wine: Update to 7.8.
>   gnu: wine: Use new package style.
>   gnu: wine64: Use new package style.
>   gnu: wine-staging: Update to 7.8.

I second Florian: if it works for you, go for it!

Thanks,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#55302; Package guix-patches. (Sat, 21 May 2022 11:09:02 GMT) Full text and rfc822 format available.

Message #31 received at 55302 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 55302 <at> debbugs.gnu.org
Subject: Re: bug#55302: [PATCH 0/4] Update wine and wine-staging to 7.8
Date: Sat, 21 May 2022 13:08:25 +0200
Am Freitag, dem 20.05.2022 um 20:16 +0200 schrieb Ludovic Courtès:
> Hi!
> 
> Liliana Marie Prikler <liliana.prikler <at> gmail.com> skribis:
> 
> >   gnu: wine: Update to 7.8.
> >   gnu: wine: Use new package style.
> >   gnu: wine64: Use new package style.
> >   gnu: wine-staging: Update to 7.8.
> 
> I second Florian: if it works for you, go for it!
I did some very basic tests and pushed it; long term we might want to
consider peeking into wine's test suite.

Cheers




Reply sent to Liliana Marie Prikler <liliana.prikler <at> gmail.com>:
You have taken responsibility. (Sat, 21 May 2022 11:10:01 GMT) Full text and rfc822 format available.

Notification sent to Liliana Marie Prikler <liliana.prikler <at> gmail.com>:
bug acknowledged by developer. (Sat, 21 May 2022 11:10:01 GMT) Full text and rfc822 format available.

Message #36 received at 55302-done <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 55302-done <at> debbugs.gnu.org
Subject: Re: bug#55302: [PATCH 0/4] Update wine and wine-staging to 7.8
Date: Sat, 21 May 2022 13:09:09 +0200
Am Samstag, dem 21.05.2022 um 13:08 +0200 schrieb Liliana Marie
Prikler:
> Am Freitag, dem 20.05.2022 um 20:16 +0200 schrieb Ludovic Courtès:
> > Hi!
> > 
> > Liliana Marie Prikler <liliana.prikler <at> gmail.com> skribis:
> > 
> > >   gnu: wine: Update to 7.8.
> > >   gnu: wine: Use new package style.
> > >   gnu: wine64: Use new package style.
> > >   gnu: wine-staging: Update to 7.8.
> > 
> > I second Florian: if it works for you, go for it!
> I did some very basic tests and pushed it; long term we might want to
> consider peeking into wine's test suite.
> 
> Cheers
Let's not forget to mark this done




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 18 Jun 2022 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 311 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.