diff options
author | Leo Prikler <leo.prikler@student.tugraz.at> | 2020-01-16 18:43:10 +0100 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2020-01-16 23:38:52 +0100 |
commit | 37c52b5b15c6debed78dba41a74370a051ad7878 (patch) | |
tree | 43a3c833895aa088f3dad086d77fec06033f571a | |
parent | af4796d5caad9500c1f24a91e7fb7529df7d3fec (diff) | |
download | guix-37c52b5b15c6debed78dba41a74370a051ad7878.tar.gz |
gnu: Refactor renpy build.
* gnu/packages/game-development.scm (python2-renpy)[arguments]: Use directory excursions instead of invoking `chdir' directly in phases.
-rw-r--r-- | gnu/packages/game-development.scm | 54 |
1 files changed, 23 insertions, 31 deletions
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) |