Subject: [bug#73352] [PATCH 3/3] gnu: Add sdl-jstest.

From: Maxim Cournoyer <[email-masked]>
Date: Thu, 19 Sep 2024 16:36:33 +0900

* gnu/packages/games.scm (sdl-jstest): New variable.

Change-Id: I8a2845375501ddadca2eb4add869fce1dc277568
---

 gnu/packages/games.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 213c4c598d..844cc1b3ea 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -11405,6 +11405,45 @@ (define-public schiffbruch
 get attention, so you get found.")
       (license license:cc-by4.0))))
 
+(define-public sdl-jstest
+  (package
+    (name "sdl-jstest")
+    (version "0.2.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/Grumbel/sdl-jstest")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "11qp4gkbb11n3wx74128fj56radgsvkj7nxhbh55rd3xad1hckh3"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list
+      ;; The test suite uses appstream-utils to validate the appdata.xml file,
+      ;; fails with "url-not-found".
+      #:tests? #f
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'copy-gamecontroller-db
+            (lambda* (#:key native-inputs inputs #:allow-other-keys)
+              (copy-file
+               (search-input-file (or native-inputs inputs)
+                                  "share/sdl2/gamecontrollerdb.txt")
+               "external/sdl_gamecontrollerdb/gamecontrollerdb.txt"))))))
+    (native-inputs
+     (list pkg-config sdl2-gamecontrollerdb tinycmmc))
+    (inputs (list ncurses sdl sdl2))
+    (home-page "https://github.com/Grumbel/sdl-jstest")
+    (synopsis "SDL Joystick Tester")
+    (description "The @command{sdl-jstest} and @command{sdl2-jstest} commands
+can list the available joystick controllers as found by the SDL or SDL2
+libraries, respectively.  It can show the available axes, buttons, hats and
+balls of a chosen controller, and can display the controller actions in real
+time in a visual fashion.")
+    (license license:gpl3+)))
+
 (define-public sdlpop
   (package
     (name "sdlpop")
-- 
2.46.0