diff mbox series

[bug#39153] gnu: Refactor renpy build.

Message ID 20200116174309.3058-1-leo.prikler@student.tugraz.at
State Accepted
Headers show
Series [bug#39153] gnu: Refactor renpy build. | expand

Checks

Context Check Description
cbaines/applying patch success Successfully applied

Commit Message

Leo Prikler Jan. 16, 2020, 5:43 p.m. UTC
* gnu/packages/game-development.scm (python2-renpy): Use directory excursions
instead of invoking `chdir' directly.
---
 gnu/packages/game-development.scm | 54 +++++++++++++------------------
 1 file changed, 23 insertions(+), 31 deletions(-)

Comments

Nicolas Goaziou Jan. 16, 2020, 10:41 p.m. UTC | #1
Hello,

Leo Prikler <leo.prikler@student.tugraz.at> writes:

> * gnu/packages/game-development.scm (python2-renpy): Use directory excursions
> instead of invoking `chdir' directly.

LGTM! I updated the copyright line for you and applied your patch (alas
not in this order…).

Thank you!

Regards,
Nicolas Goaziou Jan. 16, 2020, 10:42 p.m. UTC | #2
Applied as 37c52b5b15c6debed78dba41a74370a051ad7878. Closing.
diff mbox series

Patch

diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 7aef6b09d2..697ede89e1 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1086,39 +1086,31 @@  developed mainly for Ren'py.")
              (setenv "RENPY_DEPS_INSTALL" (string-join (map cdr inputs) ":"))
              #t))
          (replace 'build
-           (lambda args
-             (apply
-              (lambda* (build-root #:key inputs outputs #:allow-other-keys)
-                ;; The "module" subdirectory contains a python (really cython)
-                ;; project, which is built using a script, that is thankfully
-                ;; named "setup.py".
-                (chdir "module")
-                (apply (assoc-ref %standard-phases 'build) args)
-                ;; the above causes renpy.__init__ to be compiled but does not
-                ;; compile anything else, hence we do that here
-                (chdir build-root)
-                (delete-file "renpy/__init__.pyc")
-                (invoke "python" "-m" "compileall" "renpy"))
-              (getcwd) args)
+           (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 causes renpy.__init__ to be compiled but does not
+             ;; compile anything else, hence we do that here
+             (delete-file "renpy/__init__.pyc")
+             (invoke "python" "-m" "compileall" "renpy")
              #t))
          (replace 'install
-           (lambda args
-             (apply
-              (lambda* (build-root #:key inputs outputs #:allow-other-keys)
-                ;; 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"
-                                            ,(version-major+minor
-                                              (package-version python-2))
-                                            "/site-packages")))
-                  (chdir "module")
-                  (apply (assoc-ref %standard-phases 'install) args)
-                  (chdir build-root)
-                  (copy-recursively "renpy"
-                                    (string-append out site "/renpy"))))
-              (getcwd) args)
+           (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"
+                                         ,(version-major+minor
+                                           (package-version python-2))
+                                         "/site-packages")))
+               (with-directory-excursion "module"
+                 (apply (assoc-ref %standard-phases 'install) args))
+               (copy-recursively "renpy"
+                                 (string-append out site "/renpy")))
              #t)))))
     (inputs
      `(("ffmpeg" ,ffmpeg)