Subject: [bug#78502] [PATCH 3/3] gnu: Add ring-racers.

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

Am Montag, dem 19.05.2025 um 20:45 -0400 schrieb Andrew Wong:
> * gnu/packages/games.scm (ring-racers): New variable.
> 
> Change-Id: Ib52dca1ad41d8f778db14857ad681d566c145952
> ---
>  gnu/packages/games.scm | 62
> ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 62 insertions(+)
> 
> diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
> index d38cff05d6..c1f7bc2277 100644
> --- a/gnu/packages/games.scm
> +++ b/gnu/packages/games.scm
> @@ -4939,6 +4939,68 @@ (define ring-racers-data
>       (description "This package contains data files for Ring
> Racers.")
>       (license license:gpl2+))))
>  
> +(define-public ring-racers
> +  (package
> +    (name "ring-racers")
> +    (version "2.3")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url "https://git.do.srb2.org/KartKrew/RingRacers")
> +             (commit (string-append "v" version))))
> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32
> "05lf799imbk0x3i2adaj0r84ck5yyrvzjvhs4k9dj7l4jg0x4sjz"))
> +       (modules '((guix build utils)))
> +       (snippet '(begin (with-directory-excursion "thirdparty"
> +                          (delete-file-recursively "glm")
> +                          (substitute* "CMakeLists.txt"
> +                            (("add_subdirectory\\(glm\\)")
> +                             "find_package(glm REQUIRED)")))
> +                        (with-directory-excursion "src"
> +                          (substitute* "CMakeLists.txt"
> +                            (("glm::glm") "glm")))))))
> +    (build-system cmake-build-system)
> +    (arguments
> +     (list
> +      #:tests? #f
> +      #:configure-flags
> +      #~(list "-DCMAKE_C_FLAGS_RELWITHDEBINFO='-O3 -g -DNDEBUG'"
> +              "-DCMAKE_CXX_FLAGS_RELWITHDEBINFO='-O3 -g -DNDEBUG'"
> +              "-DSRB2_CONFIG_DEV_BUILD=OFF"
> +              "-DCMAKE_BUILD_TYPE=RelWithDebInfo")
There is a #:build-type flag to do that last thing.  Why are we setting
the other flags?
> +      #:phases
> +      #~(modify-phases %standard-phases
> +          (add-after 'install 'move-and-wrap-binary
> +            ;; Install executable to $out/bin.
> +            (lambda* (#:key inputs #:allow-other-keys)
> +              (with-directory-excursion #$output
> +                (mkdir "bin")
> +                (rename-file "ringracers" "bin/ringracers")
> +                (wrap-program "bin/ringracers"
> +                  `("RINGRACERSWADDIR" =
> +                    (,(assoc-ref inputs "ring-racers-data"))))))))))
> +    (inputs (list glm
> +                  libogg
> +                  libpng
> +                  libvorbis
> +                  libvpx
> +                  libyuv
> +                  ring-racers-data
> +                  sdl2
> +                  zlib
> +                  curl))
> +    (home-page "https://kartkrew.org")
> +    (synopsis "Technical kart racing game")
> +    (description
> +     "Dr. Robotnik’s Ring Racers is a technical kart racing game
> drawing
> +inspiration from ``anti-grav'' racers, fighting games, and
> traditional-style
> +kart racing.  Designed to minimize randomness and emphasize player
> expression,
> +Ring Racers about more than precise handling—you’ll need to master
> tense
> +combat, resource management, and taking risks under pressure.")
> +    (license license:gpl2+)))
Less ad-speak would be nice, but we definitely should fix the second
sentence, which at least I myself can't parse.

Cheers