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

From: Liliana Marie Prikler <[email-masked]>
Date: Wed, 21 May 2025 07:09:35 +0200

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