gnu: wine64: Fix build.

With the core-updates merge, the handling of modify-phases makes the current
ordering a hard error.  Make it so that phases are read from top to bottom.

* gnu/packages/wine.scm (wine64)[#:phases]: Move ‘copy-wine32-binaries’
and ‘copy-wine32-libraries’ before conditional ‘wrap-executable’.
<copy-wine32-manpage>: Use “.zst” instead of “.gz” as file ending.
This commit is contained in:
Liliana Marie Prikler 2024-08-31 21:09:30 +02:00
parent edc5808afa
commit a751c59304
No known key found for this signature in database
GPG key ID: 442A84B8C70E2F87

View file

@ -256,6 +256,21 @@ integrate Windows applications into your desktop.")
) )
((#:phases phases) ((#:phases phases)
#~(modify-phases #$phases #~(modify-phases #$phases
(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")))))
;; Explicitly set both the 64-bit and 32-bit versions of vulkan-loader ;; Explicitly set both the 64-bit and 32-bit versions of vulkan-loader
;; when installing to x86_64-linux so both are available. ;; when installing to x86_64-linux so both are available.
;; TODO: Add more JSON files as they become available in Mesa. ;; TODO: Add more JSON files as they become available in Mesa.
@ -281,27 +296,12 @@ integrate Windows applications into your desktop.")
`("VK_ICD_FILENAMES" ":" = ,icd-files))))))) `("VK_ICD_FILENAMES" ":" = ,icd-files)))))))
(_ (_
`())) `()))
(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 (add-after 'compress-documentation 'copy-wine32-manpage
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref %outputs "out"))) (let* ((out (assoc-ref %outputs "out")))
;; Copy the missing man file for the wine binary from wine. ;; Copy the missing man file for the wine binary from wine.
(copy-file (search-input-file inputs "/share/man/man1/wine.1.gz") (copy-file (search-input-file inputs "/share/man/man1/wine.1.zst")
(string-append out "/share/man/man1/wine.1.gz"))))))) (string-append out "/share/man/man1/wine.1.zst")))))))
((#:configure-flags configure-flags '()) ((#:configure-flags configure-flags '())
#~(cons "--enable-win64" #$configure-flags)))) #~(cons "--enable-win64" #$configure-flags))))
(synopsis "Implementation of the Windows API (WoW64 version)") (synopsis "Implementation of the Windows API (WoW64 version)")