aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/game-development.scm
diff options
context:
space:
mode:
authorLeo Prikler <leo.prikler@student.tugraz.at>2020-01-16 18:43:10 +0100
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2020-01-16 23:38:52 +0100
commit37c52b5b15c6debed78dba41a74370a051ad7878 (patch)
tree43a3c833895aa088f3dad086d77fec06033f571a /gnu/packages/game-development.scm
parentaf4796d5caad9500c1f24a91e7fb7529df7d3fec (diff)
downloadpatches-37c52b5b15c6debed78dba41a74370a051ad7878.tar
patches-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.
Diffstat (limited to 'gnu/packages/game-development.scm')
-rw-r--r--gnu/packages/game-development.scm54
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)