[bug#78502,3/3] gnu: Add ring-racers.
Commit Message
* gnu/packages/games.scm (ring-racers): New variable.
Change-Id: Ib52dca1ad41d8f778db14857ad681d566c145952
---
gnu/packages/games.scm | 62 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)
Comments
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
On 5/21/25 1:03a, Liliana Marie Prikler wrote:>> + #~(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?
I wrote this part of the definition a few months ago, but it seems like
I was copying the flags set for a release version of the package as
defined in the repository's CMakePresets.json[1]. On review, it appears
the last two settings are redundant with Guix and the package's
defaults, so I'll remove them next version.
>> + "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.
Indeed. I'll revise it.
[1] https://git.srb2.org/KartKrew/RingRacers/-/blob/master/CMakePresets.json
@@ -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")
+ #: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+)))
+
(define-public unknown-horizons
(package
(name "unknown-horizons")