Subject: [PATCH] gnu: python-kalamine: Update to 0.30.

From: Adriel Dumas--Jondeau <[email-masked]>
Date: Fri, 16 Feb 2024 15:57:22 +0100

* gnu/packages/python-xyz.scm (python-kalamine): Update to 0.30.

Change-Id: I95bac1364a22b75bb6f42509da73e1b58bc81d42
---
 gnu/packages/python-xyz.scm | 31 +++++++++++++++++++++++++------
 1 file changed, 25 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 62daa6f889..64060d44e3 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -6330,19 +6330,38 @@ (define-public autokey
 (define-public python-kalamine
   (package
     (name "python-kalamine")
-    (version "0.18")
+    (version "0.30")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "kalamine" version))
        (sha256
-        (base32 "1qcpn3kknxlh1jcragzgsihn5pysvs82lcrkvk1047im94rgp0i2"))))
+        (base32 "1aqwfp0m2fr9miwh0d8ljmb58k4mw7bp9bzn5fk3kyj2d6zr0cxg"))))
     (build-system pyproject-build-system)
-    (propagated-inputs (list python-click python-lxml python-pyyaml python-tomli))
-    (home-page "http://github.com/fabi1cazenave/kalamine")
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     (apply invoke
+                            (cons* "python" "-m" "kalamine.cli" "make"
+                                   (find-files "layouts" "\\.toml")))
+                     (invoke "pytest" "-vv" "tests")))))))
+    (propagated-inputs (list python-click python-livereload python-lxml
+                             python-pyyaml python-tomli python-hatchling))
+    (native-inputs (list python-black
+                         python-isort
+                         python-mypy
+                         python-pytest))
+    (home-page "https://github.com/OneDeadKey/kalamine")
     (synopsis "A cross-platform Keyboard Layout Maker")
-    (description "Creates keyboard descriptions for various operating systems
-from a ASCII-art template within a TOML document.")
+    (description "Kalamine provides a CLI to create advanced keyboard layout
+for Windows (@file{.ahk} or @file{.klc} files), MacOS (@file{.keylayout} files)
+and GNU/Linux (@file{.xkb_custom} or @file{.xkb} files) from a textual,
+portable description.  It also provides @command{xkalamine} to install XKB
+files on GNU/Linux in either @file{/usr/share/X11/xbk} or the rootless
+user-only equivalent @file{.config/xkb}.")
     (license license:expat)))
 
 (define-public python-dm-tree

base-commit: 203344cc37c8a7df1ec1454381b5069d53ce7f9e
prerequisite-patch-id: cefc174692b72660bf5ed4c03442f33dbaf6e784
prerequisite-patch-id: 6b1015959d122056b883e766306b0ff8ba30bde9
prerequisite-patch-id: a3116f7908bc9fdb237e4cde52260856b083596d
prerequisite-patch-id: db1d3d945579284d401944b18fcbc506a000714f
prerequisite-patch-id: 84bff5e4689979f565315edf96250ccc367f8fb8
prerequisite-patch-id: bd69d4115bc86b7d2739e9890625788f1fa5a006
prerequisite-patch-id: 0834ca6f4e7f1ed91b5dcb679096a953a6e36273
prerequisite-patch-id: 9812bf7906d21768559f10f97d8363d2a18fc7e9
prerequisite-patch-id: 68e70365da7db55420105f7cb12c9fffb80d2415
-- 
2.41.0