summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeo Prikler <leo.prikler@student.tugraz.at>2021-07-02 15:43:32 +0200
committerLeo Prikler <leo.prikler@student.tugraz.at>2021-07-15 13:13:40 +0200
commit769f7d2ccf6be9399a422e36afba146a819a5d1d (patch)
treef5fe13c8c915207c4efc4965a46523462a930ba7
parent3d7dea0906a59ff84308907b1488da52956a614c (diff)
gnu: renpy: Correct inputs.
* gnu/packages/game-development.scm (renpy)[#:modules]: Add SRFI-1. [#:imported-modules]: Likewise. [#:phases]<fix-commands>: Search for ‘python2’ and ‘xdg-open’ in inputs. <start-xserver>: Search for ‘xorg-server’ in native-inputs. <install>: Search for ‘python2’ in inputs. <wrap>: Search for python dependencies in inputs. [inputs]: Add python2, drop python2-pygame (already propagated by python2-renpy). Move xorg-server from here… [native-inputs]: … to here. [propagated-inputs]: Empty.
-rw-r--r--gnu/packages/game-development.scm54
1 files changed, 40 insertions, 14 deletions
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 7c5d45c412..5d5fa5cf8b 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1266,15 +1266,22 @@ are only used to bootstrap it.")
(arguments
`(#:tests? #f ; see python2-renpy
#:python ,python-2
+ #:modules ((srfi srfi-1)
+ (guix build python-build-system)
+ (guix build utils))
+ #:imported-modules ((srfi srfi-1) ,@%python-build-system-modules)
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-commands
- (lambda* (#:key outputs #:allow-other-keys)
+ (lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "launcher/game/choose_directory.rpy"
- (("/usr/bin/python") (which "python2")))
+ (("/usr/bin/python")
+ (string-append (assoc-ref inputs "python2")
+ "/bin/python2")))
(substitute* "launcher/game/front_page.rpy"
(("xdg-open")
- (which "xdg-open")))
+ (string-append (assoc-ref inputs "xdg-utils")
+ "/bin/xdg-open")))
(substitute* "launcher/game/project.rpy"
(("cmd = \\[ executable, \"-EO\", sys.argv\\[0\\] \\]")
(string-append "cmd = [ \"" (assoc-ref outputs "out")
@@ -1291,8 +1298,9 @@ are only used to bootstrap it.")
((", \"game\",") ","))
#t))
(add-before 'build 'start-xserver
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((xorg-server (assoc-ref inputs "xorg-server")))
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ (let ((xorg-server (assoc-ref (or native-inputs inputs)
+ "xorg-server")))
(setenv "HOME" (getcwd))
(system (format #f "~a/bin/Xvfb :1 &" xorg-server))
(setenv "DISPLAY" ":1")
@@ -1344,7 +1352,8 @@ are only used to bootstrap it.")
(call-with-output-file bin/renpy
(lambda (port)
- (format port "#!~a~%" (which "python2"))
+ (format port "#!~a/bin/python2~%"
+ (assoc-ref inputs "python2"))
(format port "
from __future__ import print_function
@@ -1433,15 +1442,32 @@ if __name__ == \"__main__\":
#t))
(replace 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
- (wrap-program (string-append (assoc-ref outputs "out")
- "/bin/renpy")
- `("PYTHONPATH" = (,(getenv "PYTHONPATH"))))
- #t)))))
+ (let ((out (assoc-ref outputs "out"))
+ (site (string-append "/lib/python"
+ (python-version
+ (assoc-ref inputs "python"))
+ "/site-packages")))
+ (wrap-program (string-append out "/bin/renpy")
+ `("PYTHONPATH" =
+ (,@(delete-duplicates
+ (map
+ (lambda (store-path)
+ (string-append store-path site))
+ (cons (assoc-ref outputs "out")
+ (map cdr
+ (filter
+ (lambda (input)
+ (string-prefix? "python2" (car input)))
+ inputs))))))))
+ #t))))))
(inputs
- `(("python2-tkinter" ,python-2 "tk")
- ("python2-pygame" ,python2-pygame-sdl2)
- ("python2-renpy" ,python2-renpy)
- ("xorg-server" ,xorg-server)))
+ `(("python2-renpy" ,python2-renpy)
+ ("python2-tkinter" ,python-2 "tk")
+ ("python2" ,python-2) ; for ‘fix-commands’ and ‘wrap’
+ ("xdg-utils" ,xdg-utils)))
+ (propagated-inputs '())
+ (native-inputs
+ `(("xorg-server" ,xorg-server-for-tests)))
(outputs
(list "out" "tutorial" "the-question"))
(home-page "https://www.renpy.org/")