From d64d6ea2cf5a1be801be355031fb2cfa5901a92a Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Fri, 19 May 2023 12:14:28 +0200 Subject: [PATCH] gnu: python-renpy: Use G-Expressions. * gnu/packages/game-development.scm (python-renpy)[arguments]: Convert to list of G-Expressions. --- gnu/packages/game-development.scm | 83 ++++++++++++++++--------------- 1 file changed, 42 insertions(+), 41 deletions(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 1aae6785b9..431bd5c5e4 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -1359,47 +1359,48 @@ developed mainly for Ren'py.") (("official = official and .*") "")))))) (build-system python-build-system) (arguments - `(#:tests? #f ; Ren'py doesn't seem to package tests - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-commands - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "renpy/editor.py" - (("xdg-open") - (string-append (assoc-ref inputs "xdg-utils") - "/bin/xdg-open"))))) - (add-after 'set-paths 'set-build-vars - (lambda* (#:key inputs native-inputs #:allow-other-keys) - (setenv "RENPY_CYTHON" - (search-input-file (or native-inputs inputs) - "/bin/cython")) - (setenv "RENPY_DEPS_INSTALL" (string-join (map cdr inputs) ":")))) - (replace 'build - (lambda* (#:key inputs outputs #:allow-other-keys #:rest args) - ;; The "module" subdirectory contains a python (really cython) - ;; project, which is built using a script, that is thankfully - ;; named "setup.py". - (with-directory-excursion "module" - (apply (assoc-ref %standard-phases 'build) args)) - ;; The above only builds the cython modules, but nothing else, - ;; so we do that here. - (invoke "python" "-m" "compileall" "renpy"))) - (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys #:rest args) - ;; Again, we have to wrap the module installation. - ;; Additionally, we want to install the python code - ;; (both source and compiled) in the same directory. - (let* ((out (assoc-ref outputs "out")) - (site (string-append "/lib/python" - (python-version - (assoc-ref inputs "python")) - "/site-packages"))) - (with-directory-excursion "module" - (apply (assoc-ref %standard-phases 'install) args)) - (copy-recursively "renpy" - (string-append out site "/renpy")) - (delete-file-recursively (string-append out site - "/renpy/common")))))))) + (list + #:tests? #f ; Ren'py doesn't seem to package tests + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-commands + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "renpy/editor.py" + (("xdg-open") + (string-append (assoc-ref inputs "xdg-utils") + "/bin/xdg-open"))))) + (add-after 'set-paths 'set-build-vars + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (setenv "RENPY_CYTHON" + (search-input-file (or native-inputs inputs) + "/bin/cython")) + (setenv "RENPY_DEPS_INSTALL" (string-join (map cdr inputs) ":")))) + (replace 'build + (lambda* (#:key inputs outputs #:allow-other-keys #:rest args) + ;; The "module" subdirectory contains a python (really cython) + ;; project, which is built using a script, that is thankfully + ;; named "setup.py". + (with-directory-excursion "module" + (apply (assoc-ref %standard-phases 'build) args)) + ;; The above only builds the cython modules, but nothing else, + ;; so we do that here. + (invoke "python" "-m" "compileall" "renpy"))) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys #:rest args) + ;; Again, we have to wrap the module installation. + ;; Additionally, we want to install the python code + ;; (both source and compiled) in the same directory. + (let* ((out (assoc-ref outputs "out")) + (site (string-append "/lib/python" + (python-version + (assoc-ref inputs "python")) + "/site-packages"))) + (with-directory-excursion "module" + (apply (assoc-ref %standard-phases 'install) args)) + (copy-recursively "renpy" + (string-append out site "/renpy")) + (delete-file-recursively (string-append out site + "/renpy/common")))))))) (native-inputs (list python-cython)) (inputs (list ffmpeg