unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Leo Prikler <leo.prikler@student.tugraz.at>
To: 49329@debbugs.gnu.org
Subject: [bug#49329] [PATCH v2 4/5] gnu: renpy: Correct inputs.
Date: Sat,  3 Jul 2021 11:28:42 +0200	[thread overview]
Message-ID: <20210703092842.32189-4-leo.prikler@student.tugraz.at> (raw)
In-Reply-To: <20210703092842.32189-1-leo.prikler@student.tugraz.at>

* 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.
---
 gnu/packages/game-development.scm | 54 +++++++++++++++++++++++--------
 1 file 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/")
-- 
2.32.0





  parent reply	other threads:[~2021-07-03  9:31 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-02 12:39 [bug#49329] [PATCH 00/??] Improve Ren'py package Leo Prikler
2021-07-02 13:58 ` [bug#49329] [PATCH 1/4] gnu: python2-renpy: Drop unused Ren'py sources Leo Prikler
2021-07-02 13:58   ` [bug#49329] [PATCH 2/4] gnu: python2-renpy: Update description Leo Prikler
2021-07-02 13:58   ` [bug#49329] [PATCH 3/4] gnu: python2-renpy: Correct inputs Leo Prikler
2021-07-02 13:58   ` [bug#49329] [PATCH 4/4] gnu: renpy: " Leo Prikler
2021-07-03  7:50   ` [bug#49329] [PATCH 1/4] gnu: python2-renpy: Drop unused Ren'py sources zimoun
2021-07-03  8:35     ` Leo Prikler
2021-07-11  3:50       ` [bug#49329] [PATCH 00/??] Improve Ren'py package Chris Marusich
2021-07-11  8:28       ` [bug#49329] [PATCH 1/4] gnu: python2-renpy: Drop unused Ren'py sources zimoun
2021-07-11  9:53         ` Leo Prikler
2021-07-15  6:47           ` [bug#49329] [PATCH 00/??] Improve Ren'py package Chris Marusich
2021-07-03  9:28 ` [bug#49329] [PATCH v2 1/5] gnu: python2-renpy: Drop unused Ren'py sources Leo Prikler
2021-07-03  9:28   ` [bug#49329] [PATCH v2 2/5] gnu: python2-renpy: Update description Leo Prikler
2021-07-11  4:53     ` [bug#49329] [PATCH 00/??] Improve Ren'py package Chris Marusich
2021-07-11  7:09       ` Leo Prikler
2021-07-15  6:48         ` Chris Marusich
2021-07-03  9:28   ` [bug#49329] [PATCH v2 3/5] gnu: python2-renpy: Correct inputs Leo Prikler
2021-07-11  4:55     ` [bug#49329] [PATCH 00/??] Improve Ren'py package Chris Marusich
2021-07-03  9:28   ` Leo Prikler [this message]
2021-07-11  4:37     ` Chris Marusich
2021-07-11  6:58       ` Leo Prikler
2021-07-03  9:28   ` [bug#49329] [PATCH v2 5/5] gnu: Add python-pygame-sdl2 Leo Prikler
2021-07-11  4:44     ` [bug#49329] [PATCH 00/??] Improve Ren'py package Chris Marusich
2021-07-11  7:00       ` Leo Prikler
2021-07-15  7:21         ` Chris Marusich
2021-07-15 11:46           ` bug#49329: " Leo Prikler
2021-07-11  4:52   ` [bug#49329] " Chris Marusich
2021-07-11  7:03     ` Leo Prikler
2021-07-15  7:22       ` Chris Marusich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210703092842.32189-4-leo.prikler@student.tugraz.at \
    --to=leo.prikler@student.tugraz.at \
    --cc=49329@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).