gnu: wine64-staging: Add 32-bit support.

* gnu/packages/wine.scm (wine64-staging)[inputs]: Add wine-staging.
[arguments]: Install libraries to /lib/wine64. Don't inherit phases. Add
'copy-win32-files phase.
[description]: Update description.
-
This commit is contained in:
Rutger Helling 2017-12-31 18:57:47 +01:00
parent 58cbcb02a5
commit c41fb54f95
No known key found for this signature in database
GPG Key ID: F3A727DB44FCCA36

View File

@ -248,15 +248,41 @@ integrated into the main branch.")
(package
(inherit wine-staging)
(name "wine64-staging")
(inputs `(("wine-staging" ,wine-staging)
,@(package-inputs wine-staging)))
(arguments
`(#:make-flags
(list "SHELL=bash"
(string-append "libdir=" %output "/lib"))
(string-append "libdir=" %output "/lib/wine64"))
#:phases
(modify-phases %standard-phases
(add-after 'install 'copy-wine32-files
(lambda* (#:key outputs #:allow-other-keys)
(copy-file (string-append (assoc-ref %build-inputs "wine-staging")
"/bin/wine") (string-append (assoc-ref
%outputs "out") "/bin/wine"))
(copy-file (string-append (assoc-ref %build-inputs "wine-staging")
"/bin/wine-preloader") (string-append
(assoc-ref %outputs "out")
"/bin/wine-preloader"))
#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"))
,@(strip-keyword-arguments '(#:configure-flags #:make-flags #:system)
(string-append "LDFLAGS=-Wl,-rpath=" %output "/lib/wine64"))
,@(strip-keyword-arguments '(#:configure-flags #:make-flags #:phases
#:system)
(package-arguments wine-staging))))
(synopsis "Implementation of the Windows API (staging branch, 64-bit
(synopsis "Implementation of the Windows API (staging branch, WOW64
version)")
(supported-systems '("x86_64-linux" "aarch64-linux"))))