@@ -147,6 +147,7 @@
;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
;;; Copyright © 2023, 2024 Troy Figiel <troy@troyfigiel.com>
;;; Copyright © 2024 Timothee Mathieu <timothee.mathieu@inria.fr>
+;;; Copyright © 2024 Adriel Dumas--Jondeau <leirda@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -6375,6 +6376,46 @@ (define-public autokey
flexibility and power of the Python language.")
(license license:gpl3+)))
+(define-public kalamine
+ (package
+ (name "kalamine")
+ (version "0.33")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "kalamine" version))
+ (sha256
+ (base32 "11hci02lvjc8657lylfcdw24bff0g1q0qxi8wcrjgqcqka9vm63c"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'make-test-layouts
+ (lambda _
+ (apply invoke
+ (cons* "python" "-m" "kalamine.cli" "build"
+ (find-files "layouts" "\\.toml")))
+ (invoke "python" "-m" "kalamine.cli" "new" "test.toml"))))))
+ (propagated-inputs
+ (list python-click
+ python-livereload
+ python-lxml
+ python-progress
+ python-pyyaml
+ python-tomli))
+ ;; TODO: Add python-pytest-ruff to native-inputs once it has been
+ ;; packaged.
+ (native-inputs
+ (list python-hatchling python-mypy python-pytest))
+ (home-page "https://github.com/OneDeadKey/kalamine")
+ (synopsis "Keyboard Layout Maker")
+ (description
+ "Kalamine provides a CLI to create advanced keyboard layout from a
+textual portable description. It also supports layout emulation via web
+browser.")
+ (license license:expat)))
+
(define-public python-dm-tree
(package
(name "python-dm-tree")