gnu: wine: Update to 7.0.
* gnu/packages/wine.scm (wine): Update to 7.0. [inputs]: Remove now-bundled faudio, lcms, libxml2, libxslt, libmpg123, libpng, libjpeg, and libtiff. But read the comment. * gnu/packages/wine.scm (wine, wine64, wine-minimal)[arguments]: Add a new 'patch-SHELL phase. Don't explicitly return #t from phases.master
parent
03cdd729c6
commit
ab4cdfe7c2
|
@ -4,7 +4,7 @@
|
||||||
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||||
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
|
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
|
||||||
;;; Copyright © 2017, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
;;; Copyright © 2017, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||||
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
|
@ -74,7 +74,7 @@
|
||||||
(define-public wine
|
(define-public wine
|
||||||
(package
|
(package
|
||||||
(name "wine")
|
(name "wine")
|
||||||
(version "6.20")
|
(version "7.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -86,7 +86,7 @@
|
||||||
(string-append "https://dl.winehq.org/wine/source/" dir
|
(string-append "https://dl.winehq.org/wine/source/" dir
|
||||||
"wine-" version ".tar.xz")))
|
"wine-" version ".tar.xz")))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0wc4a8slb3k859sdw9wwy92zc4pq7xw1kbq4frnxbzbvkiz26a20"))))
|
(base32 "0sq8vsr8jf1a8fanh76rq7vyxm8h0cc4ckirjy7v2p08biyy4hsv"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("bison" ,bison)
|
`(("bison" ,bison)
|
||||||
|
@ -95,28 +95,25 @@
|
||||||
("perl" ,perl)
|
("perl" ,perl)
|
||||||
("pkg-config" ,pkg-config)))
|
("pkg-config" ,pkg-config)))
|
||||||
(inputs
|
(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)
|
`(("alsa-lib" ,alsa-lib)
|
||||||
("dbus" ,dbus)
|
("dbus" ,dbus)
|
||||||
("cups" ,cups)
|
("cups" ,cups)
|
||||||
("eudev" ,eudev)
|
("eudev" ,eudev)
|
||||||
("faudio" ,faudio)
|
|
||||||
("fontconfig" ,fontconfig)
|
("fontconfig" ,fontconfig)
|
||||||
("freetype" ,freetype)
|
("freetype" ,freetype)
|
||||||
("gnutls" ,gnutls)
|
("gnutls" ,gnutls)
|
||||||
("gst-plugins-base" ,gst-plugins-base)
|
("gst-plugins-base" ,gst-plugins-base)
|
||||||
("lcms" ,lcms)
|
|
||||||
("libxml2" ,libxml2)
|
|
||||||
("libxslt" ,libxslt)
|
|
||||||
("libgphoto2" ,libgphoto2)
|
("libgphoto2" ,libgphoto2)
|
||||||
("libmpg123" ,mpg123)
|
|
||||||
("libldap" ,openldap)
|
("libldap" ,openldap)
|
||||||
("libnetapi" ,samba)
|
("libnetapi" ,samba)
|
||||||
("libsane" ,sane-backends)
|
("libsane" ,sane-backends)
|
||||||
("libpcap" ,libpcap)
|
("libpcap" ,libpcap)
|
||||||
("libpng" ,libpng)
|
|
||||||
("libjpeg" ,libjpeg-turbo)
|
|
||||||
("libusb" ,libusb)
|
("libusb" ,libusb)
|
||||||
("libtiff" ,libtiff)
|
|
||||||
("libICE" ,libice)
|
("libICE" ,libice)
|
||||||
("libX11" ,libx11)
|
("libX11" ,libx11)
|
||||||
("libXi" ,libxi)
|
("libXi" ,libxi)
|
||||||
|
@ -179,10 +176,15 @@
|
||||||
`("VK_ICD_FILENAMES" ":" =
|
`("VK_ICD_FILENAMES" ":" =
|
||||||
(,(string-append icd
|
(,(string-append icd
|
||||||
"/radeon_icd.i686.json" ":"
|
"/radeon_icd.i686.json" ":"
|
||||||
icd "/intel_icd.i686.json"))))
|
icd "/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 'configure 'patch-dlopen-paths
|
(add-after 'configure 'patch-dlopen-paths
|
||||||
;; Hardcode dlopened sonames to absolute paths.
|
;; Hardcode dlopened sonames to absolute paths.
|
||||||
(lambda _
|
(lambda _
|
||||||
|
@ -192,8 +194,7 @@
|
||||||
(search-path library-path soname))))
|
(search-path library-path soname))))
|
||||||
(substitute* "include/config.h"
|
(substitute* "include/config.h"
|
||||||
(("(#define SONAME_.* )\"(.*)\"" _ defso soname)
|
(("(#define SONAME_.* )\"(.*)\"" _ defso soname)
|
||||||
(format #f "~a\"~a\"" defso (find-so soname))))
|
(format #f "~a\"~a\"" defso (find-so soname)))))))
|
||||||
#t)))
|
|
||||||
(add-after 'patch-generated-file-shebangs 'patch-makedep
|
(add-after 'patch-generated-file-shebangs 'patch-makedep
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(substitute* "tools/makedep.c"
|
(substitute* "tools/makedep.c"
|
||||||
|
@ -259,6 +260,12 @@ integrate Windows applications into your desktop.")
|
||||||
#t)))))
|
#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
|
(add-after 'patch-generated-file-shebangs 'patch-makedep
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(substitute* "tools/makedep.c"
|
(substitute* "tools/makedep.c"
|
||||||
|
@ -275,23 +282,20 @@ integrate Windows applications into your desktop.")
|
||||||
;; Copy the real 32-bit wine-preloader instead of the wrapped
|
;; Copy the real 32-bit wine-preloader instead of the wrapped
|
||||||
;; version.
|
;; version.
|
||||||
(copy-file (string-append wine32 "/bin/.wine-preloader-real")
|
(copy-file (string-append wine32 "/bin/.wine-preloader-real")
|
||||||
(string-append out "/bin/wine-preloader"))
|
(string-append out "/bin/wine-preloader")))))
|
||||||
#t)))
|
|
||||||
(add-after 'install 'copy-wine32-libraries
|
(add-after 'install 'copy-wine32-libraries
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(let* ((wine32 (assoc-ref %build-inputs "wine"))
|
(let* ((wine32 (assoc-ref %build-inputs "wine"))
|
||||||
(out (assoc-ref %outputs "out")))
|
(out (assoc-ref %outputs "out")))
|
||||||
(copy-recursively (string-append wine32 "/lib/wine32")
|
(copy-recursively (string-append wine32 "/lib/wine32")
|
||||||
(string-append out "/lib/wine32"))
|
(string-append out "/lib/wine32")))))
|
||||||
#t)))
|
|
||||||
(add-after 'compress-documentation 'copy-wine32-manpage
|
(add-after 'compress-documentation 'copy-wine32-manpage
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(let* ((wine32 (assoc-ref %build-inputs "wine"))
|
(let* ((wine32 (assoc-ref %build-inputs "wine"))
|
||||||
(out (assoc-ref %outputs "out")))
|
(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 (string-append wine32 "/share/man/man1/wine.1.gz")
|
(copy-file (string-append wine32 "/share/man/man1/wine.1.gz")
|
||||||
(string-append out "/share/man/man1/wine.1.gz"))
|
(string-append out "/share/man/man1/wine.1.gz")))))
|
||||||
#t)))
|
|
||||||
(add-after 'configure 'patch-dlopen-paths
|
(add-after 'configure 'patch-dlopen-paths
|
||||||
;; Hardcode dlopened sonames to absolute paths.
|
;; Hardcode dlopened sonames to absolute paths.
|
||||||
(lambda _
|
(lambda _
|
||||||
|
@ -301,8 +305,7 @@ integrate Windows applications into your desktop.")
|
||||||
(search-path library-path soname))))
|
(search-path library-path soname))))
|
||||||
(substitute* "include/config.h"
|
(substitute* "include/config.h"
|
||||||
(("(#define SONAME_.* )\"(.*)\"" _ defso soname)
|
(("(#define SONAME_.* )\"(.*)\"" _ defso soname)
|
||||||
(format #f "~a\"~a\"" defso (find-so soname))))
|
(format #f "~a\"~a\"" defso (find-so soname))))))))
|
||||||
#t))))
|
|
||||||
#:configure-flags
|
#:configure-flags
|
||||||
(list "--enable-win64"
|
(list "--enable-win64"
|
||||||
(string-append "LDFLAGS=-Wl,-rpath=" %output "/lib/wine64"))
|
(string-append "LDFLAGS=-Wl,-rpath=" %output "/lib/wine64"))
|
||||||
|
@ -325,6 +328,12 @@ integrate Windows applications into your desktop.")
|
||||||
`(#:validate-runpath? #f
|
`(#:validate-runpath? #f
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
|
(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
|
(add-after 'configure 'patch-dlopen-paths
|
||||||
;; Hardcode dlopened sonames to absolute paths.
|
;; Hardcode dlopened sonames to absolute paths.
|
||||||
(lambda _
|
(lambda _
|
||||||
|
@ -334,8 +343,7 @@ integrate Windows applications into your desktop.")
|
||||||
(search-path library-path soname))))
|
(search-path library-path soname))))
|
||||||
(substitute* "include/config.h"
|
(substitute* "include/config.h"
|
||||||
(("(#define SONAME_.* )\"(.*)\"" _ defso soname)
|
(("(#define SONAME_.* )\"(.*)\"" _ defso soname)
|
||||||
(format #f "~a\"~a\"" defso (find-so soname))))
|
(format #f "~a\"~a\"" defso (find-so soname))))))))
|
||||||
#t))))
|
|
||||||
#:configure-flags
|
#:configure-flags
|
||||||
(list "--without-freetype"
|
(list "--without-freetype"
|
||||||
"--without-x")
|
"--without-x")
|
||||||
|
|
Reference in New Issue