From 37c52b5b15c6debed78dba41a74370a051ad7878 Mon Sep 17 00:00:00 2001 From: Leo Prikler Date: Thu, 16 Jan 2020 18:43:10 +0100 Subject: gnu: Refactor renpy build. * gnu/packages/game-development.scm (python2-renpy)[arguments]: Use directory excursions instead of invoking `chdir' directly in phases. --- gnu/packages/game-development.scm | 54 +++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 31 deletions(-) (limited to 'gnu/packages/game-development.scm') 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) -- cgit v1.2.3