From bcc5ba635813ca1a580fa550dc208beed13969d8 Mon Sep 17 00:00:00 2001 From: Adriel Dumas--Jondeau Date: Wed, 13 Mar 2024 09:53:52 +0100 Subject: gnu: Add kalamine. * gnu/packages/python-xyz.scm (kalamine): New variable. Change-Id: If13f258440bb35973b3d79a87fea68e4708845bf Reviewed-by: Sharlatan Hellseher Signed-off-by: Nicolas Goaziou --- gnu/packages/python-xyz.scm | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 0c72caeca0..232b5d6999 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -148,6 +148,7 @@ ;;; Copyright © 2023, 2024 Troy Figiel ;;; Copyright © 2024 Timothee Mathieu ;;; Copyright © 2024 Ian Eure +;;; Copyright © 2024 Adriel Dumas--Jondeau ;;; ;;; This file is part of GNU Guix. ;;; @@ -6376,6 +6377,46 @@ accessible for novices, as well as a scripting interface offering the full flexibility and power of the Python language.") (license license:gpl3+))) +(define-public kalamine + (package + (name "kalamine") + (version "0.36") + (source + (origin + (method url-fetch) + (uri (pypi-uri "kalamine" version)) + (sha256 + (base32 "1xxncavq5a0dydhzpfjdxmqsddl77275d9k9giw1032bdyb9d5is")))) + (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") -- cgit v1.2.3