GNU bug report logs - #76574
[PATCH 0/9] Add kanata

Previous Next

Package: guix-patches;

Reported by: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>

Date: Tue, 25 Feb 2025 23:54:01 UTC

Severity: normal

Tags: patch

Done: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>

To reply to this bug, email your comments to 76574 AT debbugs.gnu.org.
There is no need to reopen the bug first.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#76574; Package guix-patches. (Tue, 25 Feb 2025 23:54:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Nicolas Goaziou <mail <at> nicolasgoaziou.fr>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Tue, 25 Feb 2025 23:54:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
To: guix-patches <at> gnu.org
Cc: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Subject: [PATCH 0/9] Add kanata
Date: Wed, 26 Feb 2025 00:53:26 +0100
Hello,

The following patch set adds Kanata keyboard re-mapper written in Rust.

Regards,

Nicolas Goaziou (9):
  gnu: Add rust-muldiv-0.2.
  gnu: Add rust-newline-converter-0.2.
  gnu: Add rust-stretch-0.3.
  gnu: Add rust-num-enum-0.6.
  gnu: Add rust-patricia-tree-0.8.
  gnu: Add rust-interception-sys-0.1.
  gnu: Add rust-native-windows-gui-1.
  gnu: rust-arboard: Update to 3.4.1.
  gnu: Add kanata.

 gnu/local.mk                    |   1 +
 gnu/packages/crates-io.scm      | 161 +++++++++++++++++++--
 gnu/packages/crates-windows.scm |  37 ++++-
 gnu/packages/kanata.scm         | 245 ++++++++++++++++++++++++++++++++
 4 files changed, 433 insertions(+), 11 deletions(-)
 create mode 100644 gnu/packages/kanata.scm


base-commit: 5ccae0d1bf16c77466809671c17d410d4521a131
-- 
2.48.1







Information forwarded to divya <at> subvertising.org, efraim <at> flashner.co.il, guix-patches <at> gnu.org:
bug#76574; Package guix-patches. (Wed, 26 Feb 2025 00:02:02 GMT) Full text and rfc822 format available.

Message #8 received at 76574 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
To: 76574 <at> debbugs.gnu.org
Cc: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Subject: [PATCH 1/9] gnu: Add rust-muldiv-0.2.
Date: Wed, 26 Feb 2025 01:00:38 +0100
* gnu/packages/crates-io.scm (rust-muldiv-0.2): New variable.

Change-Id: I7e98cee2db0574ed65079da4e45180e243f738db
---
 gnu/packages/crates-io.scm | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 68c52b2772..1d2cbed1ce 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2019 Ivan Petkov <ivanppetkov <at> gmail.com>
 ;;; Copyright © 2019-2025 Efraim Flashner <efraim <at> flashner.co.il>
-;;; Copyright © 2019-2024 Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
+;;; Copyright © 2019-2025 Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
 ;;; Copyright © 2019, 2024 Giacomo Leidi <goodoldpaul <at> autistici.org>
 ;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2019, 2020 John Soo <jsoo1 <at> asu.edu>
@@ -43798,6 +43798,21 @@ (define-public rust-muldiv-1
 multiplication and division with overflow protection.")
     (license license:expat)))
 
+(define-public rust-muldiv-0.2
+  (package
+    (inherit rust-muldiv-1)
+    (name "rust-muldiv")
+    (version "0.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "muldiv" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "014jlry2l2ph56mp8knw65637hh49q7fmrraim2bx9vz0a638684"))))
+    (arguments
+     `(#:cargo-development-inputs (("rust-quickcheck" ,rust-quickcheck-0.9))))))
+
 (define-public rust-multer-3
   (package
     (name "rust-multer")
-- 
2.48.1







Information forwarded to divya <at> subvertising.org, efraim <at> flashner.co.il, guix-patches <at> gnu.org:
bug#76574; Package guix-patches. (Wed, 26 Feb 2025 00:02:02 GMT) Full text and rfc822 format available.

Message #11 received at 76574 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
To: 76574 <at> debbugs.gnu.org
Cc: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Subject: [PATCH 2/9] gnu: Add rust-newline-converter-0.2.
Date: Wed, 26 Feb 2025 01:00:39 +0100
* gnu/packages/crates-io.scm (rust-newline-converter-0.2): New variable.

Change-Id: Ief1484ddf438682d6786ae7554a9972c5602127e
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1d2cbed1ce..ae91e6310d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -45984,6 +45984,27 @@ (define-public rust-newline-converter-0.3
     (description "This package provides a newline byte converter library.")
     (license license:expat)))
 
+(define-public rust-newline-converter-0.2
+  (package
+    (inherit rust-newline-converter-0.3)
+    (name "rust-newline-converter")
+    (version "0.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "newline-converter" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "03y000bbxnwzb7aipxyw7gm68b1bd8dv7illz03l4qw7bjfx0w8z"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-unicode-segmentation" ,rust-unicode-segmentation-1))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.3)
+        ("rust-fancy-regex" ,rust-fancy-regex-0.10)
+        ("rust-lazy-regex" ,rust-lazy-regex-2)
+        ("rust-once-cell" ,rust-once-cell-1))))))
+
 (define-public rust-newsblur-api-0.1
   (package
     (name "rust-newsblur-api")
-- 
2.48.1







Information forwarded to divya <at> subvertising.org, efraim <at> flashner.co.il, guix-patches <at> gnu.org:
bug#76574; Package guix-patches. (Wed, 26 Feb 2025 00:02:03 GMT) Full text and rfc822 format available.

Message #14 received at 76574 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
To: 76574 <at> debbugs.gnu.org
Cc: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Subject: [PATCH 3/9] gnu: Add rust-stretch-0.3.
Date: Wed, 26 Feb 2025 01:00:40 +0100
* gnu/packages/crates-io.scm (rust-stretch-0.3): New variable.

Change-Id: If1e5cae4b74b2cd1fedaee81e3280ae61020f6ea
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ae91e6310d..8478a33501 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -76491,6 +76491,29 @@ (define-public rust-streaming-stats-0.1
     (arguments
      `(#:cargo-inputs (("rust-num-traits" ,rust-num-traits-0.2))))))
 
+(define-public rust-stretch-0.3
+  (package
+    (name "rust-stretch")
+    (version "0.3.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "stretch" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "11vdmli145j6yakgr7hkzgbnz1kqsb9rq3zrxl1g6dz11k9cc3bv"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t                 ;build phase fails
+       #:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1)
+                       ("rust-libm" ,rust-libm-0.1))
+       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.2))))
+    (home-page "https://github.com/vislyhq/stretch")
+    (synopsis "High performance Flexbox implementation")
+    (description
+     "This package provides a high performance Flexbox implementation.")
+    (license license:expat)))
+
 (define-public rust-strength-reduce-0.2
   (package
     (name "rust-strength-reduce")
-- 
2.48.1







Information forwarded to divya <at> subvertising.org, efraim <at> flashner.co.il, guix-patches <at> gnu.org:
bug#76574; Package guix-patches. (Wed, 26 Feb 2025 00:02:03 GMT) Full text and rfc822 format available.

Message #17 received at 76574 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
To: 76574 <at> debbugs.gnu.org
Cc: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Subject: [PATCH 4/9] gnu: Add rust-num-enum-0.6.
Date: Wed, 26 Feb 2025 01:00:41 +0100
* gnu/packages/crates-io.scm (rust-num-enum-0.6):
(rust-num-enum-derive-0.6): New variables.

Change-Id: Idb47839701ea15c9fa2acb18430f6b7a532a9b36
---
 gnu/packages/crates-io.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8478a33501..f21c56e605 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -48515,6 +48515,22 @@ (define-public rust-num-enum-0.7
 primitives and enums easier.")
     (license (list license:bsd-3 license:expat license:asl2.0))))
 
+(define-public rust-num-enum-0.6
+  (package
+    (inherit rust-num-enum-0.7)
+    (name "rust-num-enum")
+    (version "0.6.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "num_enum" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "18bna04g6zq978z2b4ygz0f8pbva37id4xnpgwh8l41w1m1mn0bs"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-num-enum-derive" ,rust-num-enum-derive-0.6))))))
+
 (define-public rust-num-enum-0.5
   (package
     (inherit rust-num-enum-0.7)
@@ -48589,6 +48605,25 @@ (define-public rust-num-enum-derive-0.7
 primitives and enums easier.")
     (license (list license:bsd-3 license:expat license:asl2.0))))
 
+(define-public rust-num-enum-derive-0.6
+  (package
+    (inherit rust-num-enum-derive-0.7)
+    (name "rust-num-enum-derive")
+    (version "0.6.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "num_enum_derive" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "19k57c0wg56vzzj2w77jsi8nls1b8xh8pvpzjnrgf8d9cnvpsrln"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-proc-macro-crate" ,rust-proc-macro-crate-1)
+                       ("rust-proc-macro2" ,rust-proc-macro2-1)
+                       ("rust-quote" ,rust-quote-1)
+                       ("rust-syn" ,rust-syn-2))))))
+
 (define-public rust-num-enum-derive-0.5
   (package
     (inherit rust-num-enum-derive-0.7)
-- 
2.48.1







Information forwarded to divya <at> subvertising.org, efraim <at> flashner.co.il, guix-patches <at> gnu.org:
bug#76574; Package guix-patches. (Wed, 26 Feb 2025 00:02:04 GMT) Full text and rfc822 format available.

Message #20 received at 76574 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
To: 76574 <at> debbugs.gnu.org
Cc: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Subject: [PATCH 5/9] gnu: Add rust-patricia-tree-0.8.
Date: Wed, 26 Feb 2025 01:00:42 +0100
* gnu/packages/crates-io.scm (rust-patricia-tree-0.8): New variable.

Change-Id: I1ee01ac9fcd223383db8fe036f412b438197553d
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f21c56e605..bbf949800d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -52779,6 +52779,33 @@ (define-public rust-pathsearch-0.2
     (description "This package provides Search for files in PATH.")
     (license license:expat)))
 
+(define-public rust-patricia-tree-0.8
+  (package
+    (name "rust-patricia-tree")
+    (version "0.8.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "patricia_tree" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0s5fya6rvgg2gxxp5mbv0xdq8jqikps1sc6snk23zrgzkd9z9wii"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-2)
+        ("rust-serde" ,rust-serde-1))
+       #:cargo-development-inputs
+       (("rust-clap" ,rust-clap-4)
+        ("rust-rand" ,rust-rand-0.8)
+        ("rust-serde-json" ,rust-serde-json-1))))
+    (home-page "https://github.com/sile/patricia_tree")
+    (synopsis "Memory-efficient data structures based on Patricia tree")
+    (description
+     "This package provides memory-efficient data structures based on
+Patricia tree.")
+    (license license:expat)))
+
 (define-public rust-paw-1
   (package
     (name "rust-paw")
-- 
2.48.1







Information forwarded to divya <at> subvertising.org, efraim <at> flashner.co.il, guix-patches <at> gnu.org:
bug#76574; Package guix-patches. (Wed, 26 Feb 2025 00:02:04 GMT) Full text and rfc822 format available.

Message #23 received at 76574 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
To: 76574 <at> debbugs.gnu.org
Cc: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Subject: [PATCH 6/9] gnu: Add rust-interception-sys-0.1.
Date: Wed, 26 Feb 2025 01:00:43 +0100
* gnu/packages/crates-io.scm (rust-interception-sys-0.1): New variable.

Change-Id: I6da7c2cab3a0bce4bcf23ac65f4f30d488212acf
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index bbf949800d..219519037d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -35237,6 +35237,29 @@ (define-public rust-integer-encoding-1
         ("rust-tokio" ,rust-tokio-0.2))
        #:cargo-development-inputs (("rust-tokio" ,rust-tokio-0.2))))))
 
+(define-public rust-interception-sys-0.1
+  (package
+    (name "rust-interception-sys")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "interception-sys" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1lgwbml7gzq5a5rriy708w68gx6yiw9cdg7xy2c5vsrrck7pbs5b"))
+       (modules '((guix build utils)))
+       (snippet
+        '(for-each delete-file
+                   (find-files "." "\\.(dll|lib)$")))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t))               ;empty package
+    (home-page "https://github.com/bozbez/interception-sys")
+    (synopsis "FFI bindings for Interception")
+    (description "This package provides FFI bindings for Interception.")
+    (license license:lgpl3)))
+
 (define-public rust-interpolate-name-0.2
   (package
     (name "rust-interpolate-name")
-- 
2.48.1







Information forwarded to divya <at> subvertising.org, efraim <at> flashner.co.il, guix-patches <at> gnu.org:
bug#76574; Package guix-patches. (Wed, 26 Feb 2025 00:02:05 GMT) Full text and rfc822 format available.

Message #26 received at 76574 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
To: 76574 <at> debbugs.gnu.org
Cc: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Subject: [PATCH 7/9] gnu: Add rust-native-windows-gui-1.
Date: Wed, 26 Feb 2025 01:00:44 +0100
* gnu/packages/crates-windows.scm (rust-native-windows-gui-1): New variable.

Change-Id: Id0264e7a599cd9034387bfa521df3184b10341d8
---
 gnu/packages/crates-windows.scm | 37 +++++++++++++++++++++++++++++++--
 1 file changed, 35 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/crates-windows.scm b/gnu/packages/crates-windows.scm
index 5f2034159a..c2d8dceec0 100644
--- a/gnu/packages/crates-windows.scm
+++ b/gnu/packages/crates-windows.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2020, 2021 John Soo <jsoo1 <at> asu.edu>
 ;;; Copyright © 2020 Valentin Ignatev <valentignatev <at> gmail.com>
 ;;; Copyright © 2020 Arun Isaac <arunisaac <at> systemreboot.net>
-;;; Copyright © 2020, 2021 Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
+;;; Copyright © 2020, 2021, 2025 Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
 ;;; Copyright © 2021 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2021 Petr Hodina <phodina <at> protonmail.com>
 ;;; Copyright © 2022 Zheng Junjie <873216071 <at> qq.com>
@@ -44,6 +44,7 @@ (define-module (gnu packages crates-windows)
   #:use-module (gnu packages crates-check)
   #:use-module (gnu packages crates-compression)
   #:use-module (gnu packages crates-crypto)
+  #:use-module (gnu packages crates-graphics)
   #:use-module (gnu packages crates-io))
 
 (define-public rust-anstyle-wincon-3
@@ -682,6 +683,38 @@ (define-public rust-named-pipe-0.4
 Windows's named pipes.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-native-windows-gui-1
+  (package
+    (name "rust-native-windows-gui")
+    (version "1.0.13")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "native-windows-gui" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0m44lbslzvs04i4rgcphld23qlwf9zzlzmspgimyp3gnd6k06w2g"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t                 ;many errors, little usefulness
+       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
+                       ("rust-lazy-static" ,rust-lazy-static-1)
+                       ("rust-muldiv" ,rust-muldiv-0.2)
+                       ("rust-newline-converter" ,rust-newline-converter-0.2)
+                       ("rust-plotters" ,rust-plotters-0.3)
+                       ("rust-plotters-backend" ,rust-plotters-backend-0.3)
+                       ("rust-raw-window-handle" ,rust-raw-window-handle-0.3)
+                       ("rust-stretch" ,rust-stretch-0.3)
+                       ("rust-winapi" ,rust-winapi-0.3)
+                       ("rust-winapi-build" ,rust-winapi-build-0.1))))
+    (home-page "https://github.com/gabdube/native-windows-gui")
+    (synopsis "Develop native GUI applications for Microsoft Windows")
+    (description
+     "This package provides a Rust library to develop native GUI applications
+on the desktop for Microsoft Windows.  Native-windows-gui wraps the native
+win32 window controls in a rustic API.")
+    (license license:expat)))
+
 (define-public rust-nt-time-0.6
   (package
     (name "rust-nt-time")
@@ -695,7 +728,7 @@ (define-public rust-nt-time-0.6
         (base32 "02sikab4va5gv2ja5rjd7fp1g1dh6l1pryjlsprxh0hcq247fmkf"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:tests? #f  ; Not all files included.
+     `(#:tests? #f                      ; Not all files included.
        #:cargo-inputs (("rust-chrono" ,rust-chrono-0.4)
                        ("rust-serde" ,rust-serde-1)
                        ("rust-time" ,rust-time-0.3)
-- 
2.48.1







Information forwarded to divya <at> subvertising.org, efraim <at> flashner.co.il, guix-patches <at> gnu.org:
bug#76574; Package guix-patches. (Wed, 26 Feb 2025 00:02:05 GMT) Full text and rfc822 format available.

Message #29 received at 76574 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
To: 76574 <at> debbugs.gnu.org
Cc: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Subject: [PATCH 8/9] gnu: rust-arboard: Update to 3.4.1.
Date: Wed, 26 Feb 2025 01:00:45 +0100
* gnu/packages/crates-io.scm (rust-arboard): Update to 3.4.1.

Change-Id: I0700c5dfdef2491f9fad96467f8d32c5ed505644
---
 gnu/packages/crates-io.scm | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 219519037d..f098a0548a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2525,26 +2525,25 @@ (define-public rust-arbitrary-0.4
 (define-public rust-arboard-3
   (package
     (name "rust-arboard")
-    (version "3.3.2")
+    (version "3.4.1")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "arboard" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0n7s54yjbv3qksq2fivcdnvriplmzp8fd14dfrw7k7048cciy152"))))
+        (base32 "1x2p8dfhzm3w0cpw81ab2rbyzvkzqs9g66xcakq4y0fd2v5rq2fz"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:tests? #f      ; tests require X11 $DISPLAY
+     `(#:tests? #f                      ; tests require X11 $DISPLAY
        #:cargo-inputs (("rust-clipboard-win" ,rust-clipboard-win-5)
                        ("rust-core-graphics" ,rust-core-graphics-0.23)
-                       ("rust-image" ,rust-image-0.24)
+                       ("rust-image" ,rust-image-0.25)
                        ("rust-log" ,rust-log-0.4)
-                       ("rust-objc" ,rust-objc-0.2)
-                       ("rust-objc-foundation" ,rust-objc-foundation-0.1)
-                       ("rust-objc-id" ,rust-objc-id-0.1)
+                       ("rust-objc2" ,rust-objc2-0.5)
+                       ("rust-objc2-app-kit" ,rust-objc2-app-kit-0.2)
+                       ("rust-objc2-foundation" ,rust-objc2-foundation-0.2)
                        ("rust-parking-lot" ,rust-parking-lot-0.12)
-                       ("rust-thiserror" ,rust-thiserror-1)
                        ("rust-windows-sys" ,rust-windows-sys-0.48)
                        ("rust-wl-clipboard-rs" ,rust-wl-clipboard-rs-0.8)
                        ("rust-x11rb" ,rust-x11rb-0.13))
-- 
2.48.1







Information forwarded to guix-patches <at> gnu.org:
bug#76574; Package guix-patches. (Wed, 26 Feb 2025 00:02:06 GMT) Full text and rfc822 format available.

Message #32 received at 76574 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
To: 76574 <at> debbugs.gnu.org
Cc: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Subject: [PATCH 9/9] gnu: Add kanata.
Date: Wed, 26 Feb 2025 01:00:46 +0100
* gnu/packages/kanata.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register it.

Change-Id: I8dfe03fd248da61a7eb243f98009cc98eaf6f500
---
 gnu/local.mk            |   1 +
 gnu/packages/kanata.scm | 245 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 246 insertions(+)
 create mode 100644 gnu/packages/kanata.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index c8a29bf98b..96f6e49fd0 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -410,6 +410,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/julia-jll.scm			\
   %D%/packages/julia-xyz.scm			\
   %D%/packages/jupyter.scm			\
+  %D%/packages/kanata.scm 			\
   %D%/packages/kawa.scm				\
   %D%/packages/kde.scm				\
   %D%/packages/kde-frameworks.scm		\
diff --git a/gnu/packages/kanata.scm b/gnu/packages/kanata.scm
new file mode 100644
index 0000000000..0559ae3d29
--- /dev/null
+++ b/gnu/packages/kanata.scm
@@ -0,0 +1,245 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 David Elsing <david.elsing <at> posteo.net>
+;;; Copyright © 2025 Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages kanata)
+  #:use-module (guix build-system cargo)
+  #:use-module (guix download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix gexp)
+  #:use-module (guix utils)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages crates-apple)
+  #:use-module (gnu packages crates-graphics)
+  #:use-module (gnu packages crates-io)
+  #:use-module (gnu packages crates-windows))
+
+(define-public rust-kanata-interception-0.3
+  (package
+    (name "rust-kanata-interception")
+    (version "0.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "kanata-interception" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "01mn1dskhm124x0nxfcw5cyb07h0i256x9bfj23aq6adjsdpprg2"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
+                       ("rust-interception-sys" ,rust-interception-sys-0.1)
+                       ("rust-num-enum" ,rust-num-enum-0.6)
+                       ("rust-serde" ,rust-serde-1))))
+    (home-page "https://github.com/jtroo/kanata")
+    (synopsis "Safe wrapper for Interception, forked for use with Kanata")
+    (description
+     "This package provides a safe wrapper for Interception, forked for use
+with Kanata.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-kanata-keyberon-0.180
+  (package
+    (name "rust-kanata-keyberon")
+    (version "0.180.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "kanata-keyberon" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0iaz1nxsf523ajm8rm3im9q08jkswmv2b83cq6vfgy5mdzhi8zj3"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-arraydeque" ,rust-arraydeque-0.5)
+        ("rust-heapless" ,rust-heapless-0.7)
+        ("rust-kanata-keyberon-macros" ,rust-kanata-keyberon-macros-0.2)
+        ("rust-rustc-hash" ,rust-rustc-hash-1))))
+    (home-page "https://github.com/TeXitoi/keyberon")
+    (synopsis "Pure Rust keyboard firmware, forked for use with Kanata")
+    (description
+     "This package provides Pure Rust keyboard firmware, forked for use with
+Kanata.")
+    (license license:expat)))
+
+(define-public rust-kanata-keyberon-macros-0.2
+  (package
+    (name "rust-kanata-keyberon-macros")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "kanata-keyberon-macros" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0lj7ldiazmszh0k01h7mjzhjg59bdakvx2pnpc9mq2ir0czzixkk"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
+                       ("rust-quote" ,rust-quote-1))))
+    (home-page "")
+    (synopsis "Macros for Keyberon, forked for Kanata project")
+    (description
+     "This package provides macros for Keyberon, forked for Kanata project.")
+    (license license:expat)))
+
+(define-public rust-kanata-parser-0.180
+  (package
+    (name "rust-kanata-parser")
+    (version "0.180.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "kanata-parser" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "02vwi5xj38yympavc7mygxiyky3153xnmwnpw4mdwvjwfsppxp1c"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
+                       ("rust-bitflags" ,rust-bitflags-2)
+                       ("rust-bytemuck" ,rust-bytemuck-1)
+                       ("rust-itertools" ,rust-itertools-0.12)
+                       ("rust-kanata-keyberon" ,rust-kanata-keyberon-0.180)
+                       ("rust-log" ,rust-log-0.4)
+                       ("rust-miette" ,rust-miette-5)
+                       ("rust-once-cell" ,rust-once-cell-1)
+                       ("rust-parking-lot" ,rust-parking-lot-0.12)
+                       ("rust-patricia-tree" ,rust-patricia-tree-0.8)
+                       ("rust-rustc-hash" ,rust-rustc-hash-1)
+                       ("rust-thiserror" ,rust-thiserror-1))))
+    (home-page "https://github.com/jtroo/kanata")
+    (synopsis "Parser for configuration language of Kanata")
+    (description
+     "This package provides a parser for configuration language of Kanata,
+a keyboard remapper.")
+    (license license:lgpl3)))
+
+(define-public rust-kanata-tcp-protocol-0.180
+  (package
+    (name "rust-kanata-tcp-protocol")
+    (version "0.180.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "kanata-tcp-protocol" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0nlilmw5x73xp1say99x1avrfkcski5fi9blnh3qilbxbv4350y7"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-serde" ,rust-serde-1)
+                       ("rust-serde-derive" ,rust-serde-derive-1)
+                       ("rust-serde-json" ,rust-serde-json-1))))
+    (home-page "https://github.com/jtroo/kanata")
+    (synopsis "TCP protocol for Kanata")
+    (description "This package provides TCP protocol for Kanata.")
+    (license license:lgpl3)))
+
+(define-public rust-karabiner-driverkit-0.1
+  (package
+    (name "rust-karabiner-driverkit")
+    (version "0.1.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "karabiner-driverkit" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0pqnh9n3a8wxqzdj7d30f99g322da8zpnixsq5gfs9n1klccj380"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-cc" ,rust-cc-1)
+                       ("rust-os-info" ,rust-os-info-3))))
+    (home-page "https://github.com/Psych3r/driverkit")
+    (synopsis "Karabiner-DriverKit-VirtualHIDDevice wrapper for Kanata")
+    (description
+     "This package provides a minimal Karabiner-DriverKit-VirtualHIDDevice
+wrapper for Kanata.")
+    (license license:lgpl3)))
+
+(define-public kanata
+  (package
+    (name "kanata")
+    (version "1.8.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "kanata" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1b37kx0g9l1j3jbg59vcp3fv9c57ykgww9vigmc9gmf2bisrkgzh"))))
+    (build-system cargo-build-system)
+    (arguments
+     (list
+      #:install-source? #f
+      #:cargo-inputs
+      `(("rust-anyhow" ,rust-anyhow-1)
+        ("rust-arboard" ,rust-arboard-3)
+        ("rust-clap" ,rust-clap-4)
+        ("rust-core-graphics" ,rust-core-graphics-0.24)
+        ("rust-dirs" ,rust-dirs-5)
+        ("rust-embed-resource" ,rust-embed-resource-2)
+        ("rust-encode-unicode" ,rust-encode-unicode-0.3)
+        ("rust-evdev" ,rust-evdev-0.12)
+        ("rust-indoc" ,rust-indoc-2)
+        ("rust-inotify" ,rust-inotify-0.10)
+        ("rust-instant" ,rust-instant-0.1)
+        ("rust-kanata-interception" ,rust-kanata-interception-0.3)
+        ("rust-kanata-keyberon" ,rust-kanata-keyberon-0.180)
+        ("rust-kanata-parser" ,rust-kanata-parser-0.180)
+        ("rust-kanata-tcp-protocol" ,rust-kanata-tcp-protocol-0.180)
+        ("rust-karabiner-driverkit" ,rust-karabiner-driverkit-0.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-miette" ,rust-miette-5)
+        ("rust-mio" ,rust-mio-0.8)
+        ("rust-muldiv" ,rust-muldiv-1)
+        ("rust-native-windows-gui" ,rust-native-windows-gui-1)
+        ("rust-nix" ,rust-nix-0.26)
+        ("rust-objc" ,rust-objc-0.2)
+        ("rust-open" ,rust-open-5)
+        ("rust-os-pipe" ,rust-os-pipe-1)
+        ("rust-parking-lot" ,rust-parking-lot-0.12)
+        ("rust-radix-trie" ,rust-radix-trie-0.2)
+        ("rust-regex" ,rust-regex-1)
+        ("rust-rustc-hash" ,rust-rustc-hash-1)
+        ("rust-sd-notify" ,rust-sd-notify-0.4)
+        ("rust-serde-json" ,rust-serde-json-1)
+        ("rust-signal-hook" ,rust-signal-hook-0.3)
+        ("rust-simplelog" ,rust-simplelog-0.12)
+        ("rust-strip-ansi-escapes" ,rust-strip-ansi-escapes-0.2)
+        ("rust-time" ,rust-time-0.3)
+        ("rust-winapi" ,rust-winapi-0.3)
+        ("rust-windows-sys" ,rust-windows-sys-0.52))))
+    (home-page "https://github.com/jtroo/kanata")
+    (synopsis "Multi-layer keyboard customization")
+    (description
+     "Kanata is a keyboard re-mapper.  It supports multiple layers of key,
+and advanced key behavior customization, such as tap-hold, macros and
+Unicode.")
+    (license license:lgpl3)))
-- 
2.48.1







Reply sent to Nicolas Goaziou <mail <at> nicolasgoaziou.fr>:
You have taken responsibility. (Wed, 12 Mar 2025 16:08:02 GMT) Full text and rfc822 format available.

Notification sent to Nicolas Goaziou <mail <at> nicolasgoaziou.fr>:
bug acknowledged by developer. (Wed, 12 Mar 2025 16:08:02 GMT) Full text and rfc822 format available.

Message #37 received at 76574-done <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
To: 76574-done <at> debbugs.gnu.org
Subject: Re: [PATCH 0/9] Add kanata
Date: Wed, 12 Mar 2025 17:07:04 +0100
> * gnu/packages/kanata.scm: New file.
> * gnu/local.mk (GNU_SYSTEM_MODULES): Register it.

Applied the whole set barring the rust-arboard update on rust-team
branch. Closing.






This bug report was last modified 23 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.