diff options
author | Zhu Zihao <all_but_last@163.com> | 2023-08-12 00:50:56 +0800 |
---|---|---|
committer | John Kehayias <john.kehayias@protonmail.com> | 2024-10-18 15:01:05 -0400 |
commit | 14c3e1fdc837debd4b0e9e72cd20c81db44c0318 (patch) | |
tree | 1f8a7fa9049a6937e3b191078067a4870a1c999b | |
parent | 8cffc6b1688dd9a933ac63b5fe934cf99d8febf9 (diff) |
nongnu: winetricks: Improve package style.
* nongnu/packages/wine.scm (winetricks)[inputs]: Use label-less style.
[arguments]: Use G-expressions.
<#:make-flags>: Replace '(assoc-ref %outputs "out")' with '#$output'.
<#:phases>: In 'wrap-program' and 'patch-perl-path', Replace
'(assoc-ref inputs ...)' with 'this-package-input'.
Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
-rw-r--r-- | nongnu/packages/wine.scm | 76 |
1 files changed, 38 insertions, 38 deletions
diff --git a/nongnu/packages/wine.scm b/nongnu/packages/wine.scm index 62e6106..34d1c0b 100644 --- a/nongnu/packages/wine.scm +++ b/nongnu/packages/wine.scm @@ -9,6 +9,7 @@ #:use-module (guix build-system trivial) #:use-module (guix build-system copy) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (gnu packages base) #:use-module (gnu packages bash) @@ -33,45 +34,44 @@ "15glm6ws0zihcks93l39mli8wf5b5vkijb0vaid9cqra6x0zppd5")))) (build-system gnu-build-system) (inputs - `(("cabextract" ,cabextract) - ("p7zip" ,p7zip) - ("perl" ,perl) - ;; ("unrar" ,unrar) ; TODO: Include unrar? It is referenced in the source. - ("unzip" ,unzip) - ("wget" ,wget) - ("zenity" ,zenity))) + (list cabextract + p7zip + perl + ;; unrar ; TODO: Include unrar? It is referenced in the source. + unzip + wget + zenity)) (arguments - `(#:tests? #f - ;; TODO: Checks need bashate, shellcheck (in Guix), and checkbashisms. - #:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")) - "PREFIX=") - #:phases - (modify-phases %standard-phases - (delete 'configure) - (add-after 'install 'wrap-program - ;; The script relies on WINETRICKS_GUI being exactly "zenity", so - ;; we can't patch the path directly. Probably same for other dependencies. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((zenity-bin (string-append (assoc-ref inputs "zenity") "/bin/")) - (perl-bin (string-append (assoc-ref inputs "perl") "/bin/")) - (winetricks (string-append (assoc-ref outputs "out") - "/bin/winetricks"))) - (wrap-program winetricks - `("PATH" prefix (,@(map (lambda (in) - (string-append (assoc-ref inputs in) "/bin/")) - '("cabextract" - "p7zip" - "perl" - "unzip" - "wget" - "zenity")))))))) - (add-after 'install 'patch-perl-path - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((perl (string-append (assoc-ref inputs "perl") "/bin/perl")) - (winetricks (string-append (assoc-ref outputs "out") - "/bin/winetricks"))) - (substitute* winetricks - (("#!/usr/bin/env perl") (string-append "#!" perl))))))))) + (list + #:tests? #f + ;; TODO: Checks need bashate, shellcheck (in Guix), and checkbashisms. + #:make-flags #~(list (string-append "DESTDIR=" #$output) + "PREFIX=") + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (add-after 'install 'wrap-program + ;; The script relies on WINETRICKS_GUI being exactly "zenity", so + ;; we can't patch the path directly. Probably same for other dependencies. + (lambda _ + (let* ((winetricks (string-append #$output "/bin/winetricks")) + (paths (map + (lambda (p) (string-append p "/bin")) + (list #$(this-package-input "cabextract") + #$(this-package-input "p7zip") + #$(this-package-input "perl") + #$(this-package-input "unzip") + #$(this-package-input "wget") + #$(this-package-input "zenity"))))) + (wrap-program winetricks + `("PATH" prefix ,paths))))) + (add-after 'install 'patch-perl-path + (lambda _ + (let* ((perl (string-append #$(this-package-input "perl") + "/bin/perl")) + (winetricks (string-append #$output "/bin/winetricks"))) + (substitute* winetricks + (("#!/usr/bin/env perl") (string-append "#!" perl))))))))) (home-page "https://github.com/Winetricks/winetricks") (synopsis "Easy way to work around problems in Wine") (description "Winetricks is an easy way to work around problems in Wine. |