diff options
author | Rutger Helling <rhelling@mykolab.com> | 2017-12-31 18:57:47 +0100 |
---|---|---|
committer | Rutger Helling <rhelling@mykolab.com> | 2017-12-31 19:05:47 +0100 |
commit | c41fb54f9556ccfa01225fe03765b2cbd6fb611a (patch) | |
tree | b674b443e7ca3368d47beb72a7f4d779595e7b23 | |
parent | 58cbcb02a5311641336d1bb3650d362fe445bf04 (diff) | |
download | guix-c41fb54f9556ccfa01225fe03765b2cbd6fb611a.tar guix-c41fb54f9556ccfa01225fe03765b2cbd6fb611a.tar.gz |
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.
-
-rw-r--r-- | gnu/packages/wine.scm | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 48cd830d0a..2c7732bcf3 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -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")))) |