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.
This commit is contained in:
Leo Prikler 2021-07-02 15:43:32 +02:00
parent 3d7dea0906
commit 769f7d2ccf
No known key found for this signature in database
GPG key ID: 442A84B8C70E2F87

View file

@ -1266,15 +1266,22 @@ (define-public renpy
(arguments (arguments
`(#:tests? #f ; see python2-renpy `(#:tests? #f ; see python2-renpy
#:python ,python-2 #: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 #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'fix-commands (add-after 'unpack 'fix-commands
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "launcher/game/choose_directory.rpy" (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" (substitute* "launcher/game/front_page.rpy"
(("xdg-open") (("xdg-open")
(which "xdg-open"))) (string-append (assoc-ref inputs "xdg-utils")
"/bin/xdg-open")))
(substitute* "launcher/game/project.rpy" (substitute* "launcher/game/project.rpy"
(("cmd = \\[ executable, \"-EO\", sys.argv\\[0\\] \\]") (("cmd = \\[ executable, \"-EO\", sys.argv\\[0\\] \\]")
(string-append "cmd = [ \"" (assoc-ref outputs "out") (string-append "cmd = [ \"" (assoc-ref outputs "out")
@ -1291,8 +1298,9 @@ (define-public renpy
((", \"game\",") ",")) ((", \"game\",") ","))
#t)) #t))
(add-before 'build 'start-xserver (add-before 'build 'start-xserver
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs native-inputs #:allow-other-keys)
(let ((xorg-server (assoc-ref inputs "xorg-server"))) (let ((xorg-server (assoc-ref (or native-inputs inputs)
"xorg-server")))
(setenv "HOME" (getcwd)) (setenv "HOME" (getcwd))
(system (format #f "~a/bin/Xvfb :1 &" xorg-server)) (system (format #f "~a/bin/Xvfb :1 &" xorg-server))
(setenv "DISPLAY" ":1") (setenv "DISPLAY" ":1")
@ -1344,7 +1352,8 @@ (define-public renpy
(call-with-output-file bin/renpy (call-with-output-file bin/renpy
(lambda (port) (lambda (port)
(format port "#!~a~%" (which "python2")) (format port "#!~a/bin/python2~%"
(assoc-ref inputs "python2"))
(format port " (format port "
from __future__ import print_function from __future__ import print_function
@ -1433,15 +1442,32 @@ (define* (install-renpy-game #:key output game name (renpy renpy)
#t)) #t))
(replace 'wrap (replace 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program (string-append (assoc-ref outputs "out") (let ((out (assoc-ref outputs "out"))
"/bin/renpy") (site (string-append "/lib/python"
`("PYTHONPATH" = (,(getenv "PYTHONPATH")))) (python-version
#t))))) (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 (inputs
`(("python2-tkinter" ,python-2 "tk") `(("python2-renpy" ,python2-renpy)
("python2-pygame" ,python2-pygame-sdl2) ("python2-tkinter" ,python-2 "tk")
("python2-renpy" ,python2-renpy) ("python2" ,python-2) ; for fix-commands and wrap
("xorg-server" ,xorg-server))) ("xdg-utils" ,xdg-utils)))
(propagated-inputs '())
(native-inputs
`(("xorg-server" ,xorg-server-for-tests)))
(outputs (outputs
(list "out" "tutorial" "the-question")) (list "out" "tutorial" "the-question"))
(home-page "https://www.renpy.org/") (home-page "https://www.renpy.org/")