diff mbox series

[bug#55424,4/4] gnu: renpy: Update to 7.99.99-0-3e854bc.

Message ID 1c81a93681347259140a364e9d2330f93fcb89be.camel@gmail.com
State Accepted
Headers show
Series None | expand

Commit Message

Liliana Marie Prikler June 17, 2022, 8:27 a.m. UTC
* gnu/packages/aux-files/renpy/renpy.in (__renpy_files, path_to_gamedir):
New procedures.
* gnu/packages/game-development.scm (python-renpy): Update to
7.99.99-0-3e854bc.
(renpy): Likewise.
[inputs]: Add python-pefile, python-requests and python-six.
---
 gnu/packages/aux-files/renpy/renpy.in | 21 +++++++++++++++++++--
 gnu/packages/game-development.scm     | 19 ++++++++++++++-----
 2 files changed, 33 insertions(+), 7 deletions(-)

Comments

Maxim Cournoyer June 17, 2022, 1:43 p.m. UTC | #1
Hi,

Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

[...]

> +;; Using nightly from 2022-06-16.
> +;; Revert back to URLs once renpy 8 is released!
> +(define %renpy-commit "3e854bc7cb1642ca18b061a0c6e349f168965c43")
>  (define-public python-renpy
>    (package
>      (name "python-renpy")
> -    (version "7.4.11")
> +    (version (git-version "7.99.99" "0" %renpy-commit))

I think it might be easy to overlook the "revision" field, since the
more common convention is to define the "revision" and "commit"
variables in a let; but perhaps that's just me.

>      (source
>       (origin
> -       (method url-fetch)
> -       (uri (string-append "https://www.renpy.org/dl/" version
> -                           "/renpy-" version "-source.tar.bz2"))
> -       (sha256 (base32 "0zkhg2sd2hglm9dkansf4h8sq7lm7iqslzl763ambp4kyfdvd07q"))
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url "https://github.com/renpy/renpy")
> +             (commit %renpy-commit)))
> +       (file-name (git-file-name name version))
> +       (sha256 (base32 "11g7hqhw4gbkx5ib2wsawrznmjbn8r9zkgf2sg39z56h96y8wfbn"))
>         (modules '((guix build utils)))
>         (patches
>          (search-patches
> @@ -1486,8 +1492,11 @@ (define* (install-renpy-game #:key output game name (renpy renpy)
>                 #t))))))
>      (inputs
>       `(("renpy.in" ,(search-auxiliary-file "renpy/renpy.in"))
> +       ("python-pefile" ,python-pefile)
> +       ("python-requests" ,python-requests)
>         ("python-renpy" ,python-renpy)
>         ("python-tkinter" ,python "tk")
> +       ("python-six" ,python-six)
>         ("python" ,python) ; for ‘fix-commands’ and ‘wrap’
>         ("xdg-utils" ,xdg-utils)))
>      (propagated-inputs '())

It'd be nicer to use new style inputs here, that'd take care of one out
of 2 lint warnings:

--8<---------------cut here---------------start------------->8---
gnu/packages/game-development.scm:1494:5: renpy@7.99.99-0.3e854bc: label 'python-tkinter' does not match package name 'python:tk'
gnu/packages/game-development.scm:1348:2: renpy@7.99.99-0.3e854bc: "bash-minimal" should be in 'inputs' when 'wrap-program' is used
--8<---------------cut here---------------end--------------->8---

Please take care of the 2nd lint suggestion as well.

Other than that, it LGTM.  I've built and linted all the packages in
this series.  Feel free to push with adjustments along my comments.

Thanks again for picking that up.

Maxim
diff mbox series

Patch

diff --git a/gnu/packages/aux-files/renpy/renpy.in b/gnu/packages/aux-files/renpy/renpy.in
index 914a735fa4..9115d9aee3 100644
--- a/gnu/packages/aux-files/renpy/renpy.in
+++ b/gnu/packages/aux-files/renpy/renpy.in
@@ -1,12 +1,29 @@ 
 #! @PYTHON@
 # -*- mode: python -*-
 
-from __future__ import print_function
-
+import glob
 import os
 import sys
 import warnings
 
+def __renpy_files(directory):
+    for pattern in ['*.rpa', '*.rpyc', '*.rpy']:
+        for file in glob.iglob(pattern, root_dir=directory):
+            yield file
+
+def path_to_gamedir(basedir, name):
+    candidates = [name, 'game', 'data', 'launcher/game']
+
+    if __renpy_files(basedir):
+        return basedir
+
+    for candidate in candidates:
+        gamedir = os.path.join(basedir, candidate)
+        if __renpy_files(gamedir):
+            return gamedir
+
+    return basedir
+
 def path_to_common(renpy_base):
     return renpy_base + "/common"
 
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index ea83450995..e688cd390c 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -94,6 +94,7 @@  (define-module (gnu packages game-development)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages qt)
@@ -1253,16 +1254,21 @@  (define-public python-pygame-sdl2
 developed mainly for Ren'py.")
       (license (list license:lgpl2.1 license:zlib)))))
 
+;; Using nightly from 2022-06-16.
+;; Revert back to URLs once renpy 8 is released!
+(define %renpy-commit "3e854bc7cb1642ca18b061a0c6e349f168965c43")
 (define-public python-renpy
   (package
     (name "python-renpy")
-    (version "7.4.11")
+    (version (git-version "7.99.99" "0" %renpy-commit))
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://www.renpy.org/dl/" version
-                           "/renpy-" version "-source.tar.bz2"))
-       (sha256 (base32 "0zkhg2sd2hglm9dkansf4h8sq7lm7iqslzl763ambp4kyfdvd07q"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/renpy/renpy")
+             (commit %renpy-commit)))
+       (file-name (git-file-name name version))
+       (sha256 (base32 "11g7hqhw4gbkx5ib2wsawrznmjbn8r9zkgf2sg39z56h96y8wfbn"))
        (modules '((guix build utils)))
        (patches
         (search-patches
@@ -1486,8 +1492,11 @@  (define* (install-renpy-game #:key output game name (renpy renpy)
                #t))))))
     (inputs
      `(("renpy.in" ,(search-auxiliary-file "renpy/renpy.in"))
+       ("python-pefile" ,python-pefile)
+       ("python-requests" ,python-requests)
        ("python-renpy" ,python-renpy)
        ("python-tkinter" ,python "tk")
+       ("python-six" ,python-six)
        ("python" ,python) ; for ‘fix-commands’ and ‘wrap’
        ("xdg-utils" ,xdg-utils)))
     (propagated-inputs '())