Subject: Re: [bug#73373] [PATCH] gnu: Add AntiMicroX.

From: Eric Bavier <[email-masked]>
Date: Fri, 20 Sep 2024 16:39:51 +0000

Hi, thanks for reviewing.

On 20.09.2024 00:24, Liliana Marie Prikler wrote:
> Am Freitag, dem 20.09.2024 um 02:05 +0000 schrieb Eric Bavier:
>> +   (arguments
>> +    (list
>> +     #:tests? #f                        ; Tests require Qt5
> Is there a reason to build it with Qt 6 then? 🤔
> Alternatively, we might want to check if the tests can be built with Qt
> 6.  This requires a little more work.

I looked into this a little more.  It appears that the tests themselves 
are not maintained.  E.g. the most recent changes are several years 
behind other changes to the codebase, and there is at least one 
egregious typo ("#inlude") that prevents them from compiling even with 
Qt5.  So maybe we disable with "Tests unmaintained" as the reason 
instead.

>> +   (description
>> +    "AntiMicroX is a graphical program used to map gamepad keys to
>> keyboard, mouse,
>> +scripts, and macros.  Useful for controlling your system with a
>> gamepad or
>> +playing games that don't natively support gamepads.  It can also be
>> used for
>> +generating SDL2 configuration (useful for mapping atypical gamepads
>> to generic
>> +ones).  It support X.org and Wayland.")
>> +   (license license:gpl3+)))
> The description could use some polishing.  It should consist of
> complete sentences and there are some minor grammar mistakes as well.

Thanks, I've revised the description a bit in the attached updated 
patch.

> Also, I don't see a home-page (how does guix not complain about this?)

I placed home-page above source to avoid having to duplicate the github 
address.  There are about 452 other packages that do this.

-- 
`~Eric

From 4b5a4b6aa01810c6c5f84b0c143a3d3997e57d18 Mon Sep 17 00:00:00 2001
Message-ID: <[email-masked]>
From: Eric Bavier <[email-masked]>
Date: Thu, 19 Sep 2024 19:21:43 -0500
Subject: [PATCH] gnu: Add AntiMicroX.

* gnu/packages/games.scm (antimicrox): New variable.

Change-Id: Ie159edf259bba0aa06ff60c074fec4457b409d12
---
 gnu/packages/games.scm | 51 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 50 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 213c4c598d..44316f0f71 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2013 John Darrington <[email-masked]>
 ;;; Copyright © 2013 Nikita Karetnikov <[email-masked]>
 ;;; Copyright © 2014, 2015 David Thompson <[email-masked]>
-;;; Copyright © 2014-2023 Eric Bavier <[email-masked]>
+;;; Copyright © 2014-2024 Eric Bavier <[email-masked]>
 ;;; Copyright © 2014 Cyrill Schenkel <[email-masked]>
 ;;; Copyright © 2014 Sylvain Beucler <[email-masked]>
 ;;; Copyright © 2014, 2015, 2018, 2019, 2021 Ludovic Courtès <[email-masked]>
@@ -170,6 +170,7 @@ (define-module (gnu packages games)
   #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages javascript)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages less)
   #:use-module (gnu packages lesstif)
   #:use-module (gnu packages libcanberra)
@@ -485,6 +486,54 @@ (define-public anarch
 Doom clone shooter game.")
       (license license:cc0))))
 
+(define-public antimicrox
+  (package
+   (name "antimicrox")
+   (version "3.4.1")
+   (home-page "https://github.com/AntiMicroX/antimicrox")
+   (source
+    (origin
+     (method git-fetch)
+     (uri (git-reference
+           (url home-page)
+           (commit version)))
+     (file-name (git-file-name name version))
+     (sha256
+      (base32
+       "04yb5nppn751asbihr90sqk5imamc937886lc24cihhgp0sila8y"))))
+   (build-system cmake-build-system)
+   (arguments
+    (list
+     #:tests? #f                        ; Tests are unmaintained
+     #:configure-flags
+     #~(list "-DCHECK_FOR_UPDATES=NO"
+             "-DWITH_TESTS=NO"
+             #$(string-append "-DANTIMICROX_PKG_VERSION=" version))
+     #:phases
+     #~(modify-phases %standard-phases
+         (add-after 'unpack 'patch-installation-target
+           (lambda _
+             (substitute* "CMakeLists.txt"
+               (("/usr(/lib/udev/rules.d)" _ lib)
+                (string-append #$output lib))))))))
+   (native-inputs
+    (list extra-cmake-modules
+          gettext-minimal
+          itstool
+          qttools))
+   (inputs
+    (list libxtst
+          libx11
+          qtbase
+          sdl2))
+   (synopsis "Control your system with a gamepad")
+   (description
+    "AntiMicroX is a graphical program used to map gamepad keys to keyboard, mouse,
+scripts, and macros.  With it you can control your system using a gamepad or
+play games that don't natively support gamepads.  It can also be used for
+generating SDL2 configurations.  It supports X.org and Wayland.")
+   (license license:gpl3+)))
+
 (define-public armagetronad
   (package
     (name "armagetronad")

base-commit: 6ea75bb9bcc52521f0bb3f121799745fdc17f1c9
-- 
2.46.0