@@ -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