;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
-;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;;
;;; This file is part of GNU Guix.
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
- #:use-module (gnu packages compression)
#:use-module (gnu packages cups)
#:use-module (gnu packages databases)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages kerberos)
+ #:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages mingw)
#:use-module (gnu packages openldap)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages mp3)
- #:use-module (gnu packages ncurses)
#:use-module (gnu packages photo)
#:use-module (gnu packages samba)
#:use-module (gnu packages scanner)
(define-public wine
(package
(name "wine")
- (version "5.3")
+ (version "6.6")
(source
(origin
(method url-fetch)
(string-append "https://dl.winehq.org/wine/source/" dir
"wine-" version ".tar.xz")))
(sha256
- (base32 "1pkzj3656ad0vmc7ciwfzn45lb2kxwbyymfwnqaa105dicicf6wv"))))
+ (base32 "1bc4zmqpdqs1ncz3qisp8a313pqzi5a31gq1s99ivb60vk325rcr"))))
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
("faudio" ,faudio)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
- ("glu" ,glu)
("gnutls" ,gnutls)
("gst-plugins-base" ,gst-plugins-base)
("lcms" ,lcms)
("libpcap" ,libpcap)
("libpng" ,libpng)
("libjpeg" ,libjpeg-turbo)
+ ("libusb" ,libusb)
("libtiff" ,libtiff)
("libICE" ,libice)
("libX11" ,libx11)
("libXxf86vm" ,libxxf86vm)
("libXcomposite" ,libxcomposite)
("mit-krb5" ,mit-krb5)
- ("ncurses" ,ncurses)
("openal" ,openal)
("pulseaudio" ,pulseaudio)
("sdl2" ,sdl2)
("unixodbc" ,unixodbc)
("v4l-utils" ,v4l-utils)
("vkd3d" ,vkd3d)
- ("vulkan-loader" ,vulkan-loader)
- ("zlib" ,zlib)))
+ ("vulkan-loader" ,vulkan-loader)))
(arguments
`(;; Force a 32-bit build targeting a similar architecture, i.e.:
;; armhf for armhf/aarch64, i686 for i686/x86_64.
(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")
+ (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")
+ (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"))))
+ `("VK_ICD_FILENAMES" ":" =
+ (,(string-append icd
+ "/radeon_icd.i686.json" ":"
+ icd "/intel_icd.i686.json"))))
#t)))))
(_
- `())
- )
+ `()))
(add-after 'configure 'patch-dlopen-paths
;; Hardcode dlopened sonames to absolute paths.
(lambda _
;; 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)))))
- (_
- `())
- )
+ ((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 'install 'copy-wine32-binaries
(lambda* (#:key outputs #:allow-other-keys)
(let* ((wine32 (assoc-ref %build-inputs "wine"))
(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"))
+ (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"))
(define-public wine-staging-patchset-data
(package
(name "wine-staging-patchset-data")
- (version "5.3")
+ (version "5.22")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1mvhrvshyrj7lgjgka735z6j8idwd6j58bpg5nz1slgmlh1llrs6"))))
+ (base32 "0sjljp5aa558ff5wn47q86z0dm4vcjs0gh9n35916bbwj02lhay2"))))
(build-system trivial-build-system)
(native-inputs
`(("bash" ,bash)
(name "wine-staging")
(version (package-version wine-staging-patchset-data))
(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")))
- (file-name (string-append name "-" version ".tar.xz"))
- (sha256
- (base32 "1pkzj3656ad0vmc7ciwfzn45lb2kxwbyymfwnqaa105dicicf6wv"))))
+ (let* ((wine-version (version-major+minor version))
+ (subdirectory (string-append
+ (version-major version)
+ (if (string-suffix? ".0" wine-version)
+ ".0"
+ ".x"))))
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://dl.winehq.org/wine/source/"
+ subdirectory "/"
+ "wine-" wine-version ".tar.xz"))
+ (file-name (string-append name "-" wine-version ".tar.xz"))
+ (sha256
+ (base32 "08adrsxhwgj5slwgi7f0dyspw8fpfp4cw1s5sdm4x5wcgk40dg89")))))
(inputs `(("autoconf" ,autoconf) ; for autoreconf
("ffmpeg" ,ffmpeg)
("gtk+" ,gtk+)