aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorRutger Helling <rhelling@mykolab.com>2017-12-31 18:57:47 +0100
committerRutger Helling <rhelling@mykolab.com>2017-12-31 19:05:47 +0100
commitc41fb54f9556ccfa01225fe03765b2cbd6fb611a (patch)
treeb674b443e7ca3368d47beb72a7f4d779595e7b23 /gnu
parent58cbcb02a5311641336d1bb3650d362fe445bf04 (diff)
downloadguix-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. -
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/wine.scm34
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"))))