From d9a7bc96aeba4cf501daa5b4bd8eb2dfbd1152a5 Mon Sep 17 00:00:00 2001 From: Kaelyn Takata Date: Thu, 2 Feb 2023 21:24:08 +0000 Subject: gnu: wine64: Share phases with parent wine package. * gnu/packages/wine.scm (wine64): Share phases with parent wine package. Signed-off-by: Liliana Marie Prikler --- gnu/packages/wine.scm | 134 +++++++++++++++++++++----------------------------- 1 file changed, 56 insertions(+), 78 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index ceef09ea5d..3b637f76e5 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -236,84 +236,62 @@ integrate Windows applications into your desktop.") (inputs (modify-inputs (package-inputs wine) (prepend wine))) (arguments - (cons* - #:make-flags - #~(list "SHELL=bash" - (string-append "libdir=" #$output "/lib/wine64")) - #:phases - #~(modify-phases %standard-phases - ;; Explicitly set both the 64-bit and 32-bit versions of vulkan-loader - ;; 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")) - (icd-files (map - (lambda (basename) - (search-input-file - inputs - (string-append "/share/vulkan/icd.d/" - basename))) - '("radeon_icd.x86_64.json" - "intel_icd.x86_64.json" - "radeon_icd.i686.json" - "intel_icd.i686.json")))) - (wrap-program (string-append out "/bin/wine-preloader") - `("VK_ICD_FILENAMES" ":" = ,icd-files)) - (wrap-program (string-append out "/bin/wine64-preloader") - `("VK_ICD_FILENAMES" ":" = ,icd-files))))))) - (_ - `())) - (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 - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "tools/makedep.c" - (("output_filenames\\( unix_libs \\);" all) - (string-append all - "output ( \" -Wl,-rpath=%s \", arch_install_dirs[arch] );"))))) - (add-after 'install 'copy-wine32-binaries - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref %outputs "out"))) - ;; Copy the 32-bit binaries needed for WoW64. - (copy-file (search-input-file inputs "/bin/wine") - (string-append out "/bin/wine")) - ;; Copy the real 32-bit wine-preloader instead of the wrapped - ;; version. - (copy-file (search-input-file inputs "/bin/.wine-preloader-real") - (string-append out "/bin/wine-preloader"))))) - (add-after 'install 'copy-wine32-libraries - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref %outputs "out"))) - (copy-recursively (search-input-directory inputs "/lib/wine32") - (string-append out "/lib/wine32"))))) - (add-after 'compress-documentation 'copy-wine32-manpage - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref %outputs "out"))) - ;; Copy the missing man file for the wine binary from wine. - (copy-file (search-input-file inputs "/share/man/man1/wine.1.gz") - (string-append out "/share/man/man1/wine.1.gz"))))) - (add-after 'configure 'patch-dlopen-paths - ;; Hardcode dlopened sonames to absolute paths. - 2024-08-18services: Migrate enlightenment to (gnu system privilege)....* gnu/services/desktop.scm (enlightenment-setuid-programs): Rename from this… (enlightenment-privileged-programs): …to this, replacing ‘setuid’ variables with their ‘privileged’ counterparts. (enlightenment-desktop-service-type): Adjust accordingly. Change-Id: Ied2a93eb948c4df35e2b384eeee8181937b474de Tobias Geerinckx-Rice 2024-08-21services: elogind-configuration: Add more sleep configurations...* gnu/services/desktop.scm (<elogind-configuration>): Allow actions to be set to 'suspend-then-hibernate'. Add configuration for 'hibernate-delay-seconds' and 'suspend-estimation-seconds'. * doc/guix.texi (Desktop Services): Add documentation for 'hibernate-delay-seconds' and 'suspend-estimation-seconds'. Change-Id: Icf788fcc88451aa6174a608fbed309961b847430 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Morgan Smith ap-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (icd-files (map + (lambda (basename) + (search-input-file + inputs + (string-append "/share/vulkan/icd.d/" + basename))) + '("radeon_icd.x86_64.json" + "intel_icd.x86_64.json" + "radeon_icd.i686.json" + "intel_icd.i686.json")))) + (wrap-program (string-append out "/bin/wine-preloader") + `("VK_ICD_FILENAMES" ":" = ,icd-files)) + (wrap-program (string-append out "/bin/wine64-preloader") + `("VK_ICD_FILENAMES" ":" = ,icd-files))))))) + (_ + `())) + (add-after 'install 'copy-wine32-binaries + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref %outputs "out"))) + ;; Copy the 32-bit binaries needed for WoW64. + (copy-file (search-input-file inputs "/bin/wine") + (string-append out "/bin/wine")) + ;; Copy the real 32-bit wine-preloader instead of the wrapped + ;; version. + (copy-file (search-input-file inputs "/bin/.wine-preloader-real") + (string-append out "/bin/wine-preloader"))))) + (add-after 'install 'copy-wine32-libraries + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref %outputs "out"))) + (copy-recursively (search-input-directory inputs "/lib/wine32") + (string-append out "/lib/wine32"))))) + (add-after 'compress-documentation 'copy-wine32-manpage + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref %outputs "out"))) + ;; Copy the missing man file for the wine binary from wine. + (copy-file (search-input-file inputs "/share/man/man1/wine.1.gz") + (string-append out "/share/man/man1/wine.1.gz"))))))) + ((#:configure-flags configure-flags '()) + #~(cons "--enable-win64" #$configure-flags)))) (synopsis "Implementation of the Windows API (WoW64 version)") (supported-systems '("x86_64-linux" "aarch64-linux")))) -- cgit v1.2.3