[bug#77886] gnu: Update openttd dependencies to fix its build

Message ID 3599b7a19bb223a3633118cca60347648b0db05a.1744917596.git.cake@pydis.com
State New
Headers
Series [bug#77886] gnu: Update openttd dependencies to fix its build |

Commit Message

Mark L April 17, 2025, 7:19 p.m. UTC
The current version of `openttd-opengfx` has been released in September
2021.

This fixes a few issues with the build of `openttd-opengfx`:

- The make script would try to call `python` instead of `python3`.
- The make script would call `gimp`, but this seems like it broke during
  a Gimp update. A patch for this is in the later Git commits. Since the
  current and most recent version of `openttd-opengfx` has been released
  in September 2021, I've updated this to the latest commit on `master`
  so it can build.
- The older version of `nml` could not build it properly due to missing
  support for `ROAD_WAYPOINTS`.

Change-Id: Ie7b58e267f11d2de86c05c1ea9abcc4e8690eda1
---
 gnu/packages/game-development.scm |  9 ++-------
 gnu/packages/games.scm            | 16 ++++++++++------
 2 files changed, 12 insertions(+), 13 deletions(-)


base-commit: cc4b392a8303788762ed9adb9c5635cf227e58a2
  

Comments

Liliana Marie Prikler May 21, 2025, 5:09 a.m. UTC | #1
Am Donnerstag, dem 17.04.2025 um 21:19 +0200 schrieb Mark L:
> The current version of `openttd-opengfx` has been released in
> September
> 2021.
> 
> This fixes a few issues with the build of `openttd-opengfx`:
> 
> - The make script would try to call `python` instead of `python3`.
> - The make script would call `gimp`, but this seems like it broke
> during
>   a Gimp update. A patch for this is in the later Git commits. Since
> the
>   current and most recent version of `openttd-opengfx` has been
> released
>   in September 2021, I've updated this to the latest commit on
> `master`
>   so it can build.
> - The older version of `nml` could not build it properly due to
> missing
>   support for `ROAD_WAYPOINTS`.
Note: please refer to our manual for the ChangeLog style.

> 
> Change-Id: Ie7b58e267f11d2de86c05c1ea9abcc4e8690eda1
> ---
>  gnu/packages/game-development.scm |  9 ++-------
>  gnu/packages/games.scm            | 16 ++++++++++------
>  2 files changed, 12 insertions(+), 13 deletions(-)
> 
> diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-
> development.scm
> index 91369089b9..db45b64d41 100644
> --- a/gnu/packages/game-development.scm
> +++ b/gnu/packages/game-development.scm
> @@ -545,19 +545,14 @@ (define-public gzochi
>  (define-public nml
>    (package
>      (name "nml")
> -    (version "0.7.2")
> +    (version "0.7.6")
>      (source
>       (origin
>         (method url-fetch)
>         (uri (pypi-uri "nml" version))
>         (sha256
> -        (base32
> "1kgzkv8pc0blck8c6iqq1idx1nrxyjw2vbnrdisnxizi6zds5l73"))))
> +        (base32
> "0if99hk9dsiw33iabkrbrpwybv8vl3hpim1cf07sklkshigwxryr"))))
>      (build-system python-build-system)
> -    ;; TODO: Fix test that fails with
> -    ;; "AttributeError: partially initialized module 'nml.nmlop' has
> no
> -    ;; attribute 'ADD' (most likely due to a circular import)"
> -    (arguments
> -     '(#:tests? #f))
>      (propagated-inputs
>       (list python-pillow python-ply))
>      (home-page "https://github.com/OpenTTD/nml")
This should be a separate commit.

> diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
> index 07f199966a..7c1380bcae 100644
> --- a/gnu/packages/games.scm
> +++ b/gnu/packages/games.scm
> @@ -5238,15 +5238,16 @@ (define openttd-engine
>  (define openttd-opengfx
>    (package
>      (name "openttd-opengfx")
> -    (version "7.1")
> +    (version "3739bbe9bdcd5bfbb2f720a99667f77d31caf02f")
Use git-version.  Let-bind revision and commit.
>      (source
>       (origin
> -       (method url-fetch)
> -       (uri (string-append
> "https://cdn.openttd.org/opengfx-releases/"
> -                           version "/opengfx-" version "-
> source.tar.xz"))
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url "https://github.com/openttd/opengfx")
> +             (commit version)))
Use the let-bound commit mentioned above.
>         (sha256
>          (base32
> -         "0nhzlk6s73qvznm5fdwcs1b42g2plf26s5ag39fvck45zm7m48jk"))))
> +         "03fhzlv4935868lxpdik7afz8cgsnzwr38a2blzmvy18c4lzc4m3"))))
>      (build-system gnu-build-system)
>      (arguments
>       (list
> @@ -5254,7 +5255,10 @@ (define openttd-opengfx
>        #~(list (string-append "CC=" #$(cc-for-target))
>                (string-append "INSTALL_DIR="
>                               #$output
> -                            
> "/share/games/openttd/baseset/opengfx"))
> +                             "/share/games/openttd/baseset/opengfx")
> +              (string-append "PYTHON="
> +                             #$(this-package-native-input "python")
> +                             "bin/python"))
>        #:phases
>        #~(modify-phases %standard-phases
>            (replace 'configure
> 
> base-commit: cc4b392a8303788762ed9adb9c5635cf227e58a2

Cheers
  

Patch

diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 91369089b9..db45b64d41 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -545,19 +545,14 @@  (define-public gzochi
 (define-public nml
   (package
     (name "nml")
-    (version "0.7.2")
+    (version "0.7.6")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "nml" version))
        (sha256
-        (base32 "1kgzkv8pc0blck8c6iqq1idx1nrxyjw2vbnrdisnxizi6zds5l73"))))
+        (base32 "0if99hk9dsiw33iabkrbrpwybv8vl3hpim1cf07sklkshigwxryr"))))
     (build-system python-build-system)
-    ;; TODO: Fix test that fails with
-    ;; "AttributeError: partially initialized module 'nml.nmlop' has no
-    ;; attribute 'ADD' (most likely due to a circular import)"
-    (arguments
-     '(#:tests? #f))
     (propagated-inputs
      (list python-pillow python-ply))
     (home-page "https://github.com/OpenTTD/nml")
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 07f199966a..7c1380bcae 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -5238,15 +5238,16 @@  (define openttd-engine
 (define openttd-opengfx
   (package
     (name "openttd-opengfx")
-    (version "7.1")
+    (version "3739bbe9bdcd5bfbb2f720a99667f77d31caf02f")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://cdn.openttd.org/opengfx-releases/"
-                           version "/opengfx-" version "-source.tar.xz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/openttd/opengfx")
+             (commit version)))
        (sha256
         (base32
-         "0nhzlk6s73qvznm5fdwcs1b42g2plf26s5ag39fvck45zm7m48jk"))))
+         "03fhzlv4935868lxpdik7afz8cgsnzwr38a2blzmvy18c4lzc4m3"))))
     (build-system gnu-build-system)
     (arguments
      (list
@@ -5254,7 +5255,10 @@  (define openttd-opengfx
       #~(list (string-append "CC=" #$(cc-for-target))
               (string-append "INSTALL_DIR="
                              #$output
-                             "/share/games/openttd/baseset/opengfx"))
+                             "/share/games/openttd/baseset/opengfx")
+              (string-append "PYTHON="
+                             #$(this-package-native-input "python")
+                             "bin/python"))
       #:phases
       #~(modify-phases %standard-phases
           (replace 'configure