all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Squeekboard build
@ 2022-08-05 13:01 phodina via
  0 siblings, 0 replies; only message in thread
From: phodina via @ 2022-08-05 13:01 UTC (permalink / raw)
  To: help-guix; +Cc: Jonathan Brielmaier, Efraim Flashner, Nicolas Goaziou

[-- Attachment #1: Type: text/plain, Size: 1119 bytes --]

Hi,

could you please help me with building squeekboard. There's open issue/patch [1] and this mail contains updated patches.

I've managed to build the package phosh but to make it useful it needs keyboard - squeekboard.

It's a Rust projcet that uses meson build system to create the Cargo.toml. After trying to combine both build systems I've opted for crate-build-system which gets me further.

But there are 2 issues:

- I'm getting errors as some features in Rust are not enabled

Here's an example:

Compiling rs v0.1.0 (/tmp/guix-build-squeekboard-1.19.0.drv-0/source)
error[E0599]: no method named `release` found for struct `glib::MainContext` in the current scope
--> src/main.rs:158:13
|
158 | ctx.release(); | ^^^^^^^ method not found in `glib::MainContext`

And here's the excerpt of the source code:

#[cfg(not(feature =

"glib_v0_14"

))]

ctx.

release

();

How can I fix this error as the rust crate in Guix is rust-glib-0.14 (version: 0.14.8)?

- During the build the package rav1e fails to build. How can I fix this?

The build logs are attached.

[1] https://issues.guix.gnu.org/44400#13
----
Petr

[-- Attachment #2: f7fcx4f0m48vwqnmi5gxcpc94zqy9z-rav1e-0.5.1.drv.gz --]
[-- Type: application/gzip, Size: 185770 bytes --]

[-- Attachment #3: xbbm929qyhcmc20cv5wp4s8cv6nhvn-squeekboard-1.19.0.drv.gz --]
[-- Type: application/gzip, Size: 120619 bytes --]

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: v4-0001-gnu-wayland-protocols-Update-to-1.26.patch --]
[-- Type: text/x-patch; name=v4-0001-gnu-wayland-protocols-Update-to-1.26.patch, Size: 1125 bytes --]

From 03eb649e0cc435d1b81db0dc5a69ca837d85cc59 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Mon, 1 Aug 2022 15:22:28 +0200
Subject: [PATCH v4 01/37] gnu: wayland-protocols: Update to 1.26.

* gnu/packages/freedesktop.scm (wayland-protocols): Update to 1.26.

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index cde7156383..3988f4a75a 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1026,7 +1026,7 @@ (define-public wayland
 (define-public wayland-protocols
   (package
     (name "wayland-protocols")
-    (version "1.23")
+    (version "1.26")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1034,7 +1034,7 @@ (define-public wayland-protocols
                     "wayland-protocols-" version ".tar.xz"))
               (sha256
                (base32
-                "0xizccackgwszjhlq7jjiv2z2gwppljx0w32ga91bxlnby8z22kc"))))
+                "04vgllmpmrv14x3x64ns01vgwx4hriljayjkz9idgbv83i63hly5"))))
     (build-system meson-build-system)
     (inputs
      (list wayland))
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #5: v4-0017-gnu-Add-rust-ntest-test-cases-0.7.patch --]
[-- Type: text/x-patch; name=v4-0017-gnu-Add-rust-ntest-test-cases-0.7.patch, Size: 2208 bytes --]

From 7ec276420b2b19b32926e0ce3d62271a208ba8c7 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 3 Aug 2022 11:24:26 +0200
Subject: [PATCH v4 17/37] gnu: Add rust-ntest-test-cases-0.7.

* gnu/packages/crates-io.scm (rust-ntest-test-cases-0.7): New variable.
(rust-ntest-test-cases-0.3): Inherit from above.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5332ed563c..780566216b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -38362,8 +38362,31 @@ (define-public rust-ntest-0.3
 enhances the built-in library with some useful features.")
     (license license:expat)))
 
+(define-public rust-ntest-test-cases-0.7
+  (package
+    (name "rust-ntest-test-cases")
+    (version "0.7.5")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "ntest_test_cases" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1ghal2rb03cnj7ciqgdq0dvifdf8qp2hnmi9z1ip1j5b02s1xa4r"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
+                       ("rust-quote" ,rust-quote-1)
+                       ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/becheran/ntest")
+    (synopsis "Test cases for ntest framework.")
+    (description "Test cases for ntest framework.")
+    (license license:expat)))
+
 (define-public rust-ntest-test-cases-0.3
   (package
+    (inherit rust-ntest-test-cases-0.7)
     (name "rust-ntest-test-cases")
     (version "0.3.4")
     (source
@@ -38379,11 +38402,7 @@ (define-public rust-ntest-test-cases-0.3
      `(#:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
-        ("rust-syn" ,rust-syn-1))))
-    (home-page "https://github.com/becheran/ntest")
-    (synopsis "Test cases for ntest framework")
-    (description "This package provides test cases for ntest framework.")
-    (license license:expat)))
+        ("rust-syn" ,rust-syn-1))))))
 
 (define-public rust-ntest-timeout-0.7
   (package
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #6: v4-0018-gnu-Add-rust-ntest-proc-macro-helper-0.7.patch --]
[-- Type: text/x-patch; name=v4-0018-gnu-Add-rust-ntest-proc-macro-helper-0.7.patch, Size: 1515 bytes --]

From e1859e4d7b428a1e1ccbb5627f498c85664d968d Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 3 Aug 2022 11:23:22 +0200
Subject: [PATCH v4 18/37] gnu: Add rust-ntest-proc-macro-helper-0.7.

* gnu/packages/crates-io.scm (rust-ntest-proc-macro-helper-0.7): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 780566216b..d072161ad9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -38362,6 +38362,27 @@ (define-public rust-ntest-0.3
 enhances the built-in library with some useful features.")
     (license license:expat)))
 
+(define-public rust-ntest-proc-macro-helper-0.7
+  (package
+    (name "rust-ntest-proc-macro-helper")
+    (version "0.7.5")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "ntest_proc_macro_helper" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0lkyfx97aynbm7cnhzyc9cr0rpq1xzng1hwmzizbf1a6855y6llg"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t))
+    (home-page "https://github.com/becheran/ntest")
+    (synopsis
+     "Provide helper functions for the procedural macros used in ntest.")
+    (description
+     "Provide helper functions for the procedural macros used in ntest.")
+    (license license:expat)))
+
 (define-public rust-ntest-test-cases-0.7
   (package
     (name "rust-ntest-test-cases")
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #7: v4-0002-gnu-libdrm-Update-to-2.4.112.patch --]
[-- Type: text/x-patch; name=v4-0002-gnu-libdrm-Update-to-2.4.112.patch, Size: 1043 bytes --]

From 5ecf61405e092f7e94ac9fe690c99100f8b362a7 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Mon, 1 Aug 2022 15:24:22 +0200
Subject: [PATCH v4 02/37] gnu: libdrm: Update to 2.4.112.

* gnu/packages/xdisorg.scm (libdrm): Update to 2.4.112.

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 5b54d02e2e..ce456091c8 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -690,7 +690,7 @@ (define-public pixman
 (define-public libdrm
   (package
     (name "libdrm")
-    (version "2.4.107")
+    (version "2.4.112")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -698,7 +698,7 @@ (define-public libdrm
                     version ".tar.xz"))
               (sha256
                (base32
-                "127qf1rzhaf13vdd75a58v5q34617hvangjlfnlkcdh37gqcwm65"))))
+                "1zr0hi7k5s7my4q9hyj6ryzg89zyjx24zbqfv3c5rcq9pl87gc00"))))
     (build-system meson-build-system)
     (arguments
      `(#:configure-flags
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #8: v4-0033-gnu-Add-rust-textwrap-0.15.patch --]
[-- Type: text/x-patch; name=v4-0033-gnu-Add-rust-textwrap-0.15.patch, Size: 2941 bytes --]

From dd93645f865af17bab07c6a0f5a98303d7059767 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 5 Aug 2022 14:20:46 +0200
Subject: [PATCH v4 33/37] gnu: Add rust-textwrap-0.15.

* gnu/packages/crates-io.scm (rust-textwrap-0.15): New variable.
(rust-textwrap-0.12): Inherit from above.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 7399a6a7d1..86a64a7f2c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -63447,8 +63447,38 @@ (define-public rust-text-size-1
     (description "This package provides a newtypes for text offsets")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-textwrap-0.15
+  (package
+    (name "rust-textwrap")
+    (version "0.15.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "textwrap" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1yw513k61lfiwgqrfvsjw1a5wpvm0azhpjr2kr0jhnq9c56is55i"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-hyphenation" ,rust-hyphenation-0.8)
+                       ("rust-smawk" ,rust-smawk-0.3)
+                       ("rust-terminal-size" ,rust-terminal-size-0.1)
+                       ("rust-unicode-linebreak" ,rust-unicode-linebreak-0.1)
+                       ("rust-unicode-width" ,rust-unicode-width-0.1))))
+    (home-page
+     "https://github.com/mgeisler/textwrap")
+    (synopsis "Library for word wrapping, indenting, and dedenting strings")
+    (description
+     "Textwrap is a small library for word wrapping, indenting, and dedenting
+strings.  You can use it to format strings (such as help and error messages)
+for display in commandline applications.  It is designed to be efficient and
+handle Unicode characters correctly.")
+    (license license:expat)))
+
 (define-public rust-textwrap-0.12
   (package
+    (inherit rust-textwrap-0.15)
     (name "rust-textwrap")
     (version "0.12.1")
     (source
@@ -63466,16 +63496,7 @@ (define-public rust-textwrap-0.12
        #:cargo-inputs
        (("rust-hyphenation" ,rust-hyphenation-0.8)
         ("rust-terminal-size" ,rust-terminal-size-0.1)
-        ("rust-unicode-width" ,rust-unicode-width-0.1))))
-    (home-page
-     "https://github.com/mgeisler/textwrap")
-    (synopsis "Library for word wrapping, indenting, and dedenting strings")
-    (description
-     "Textwrap is a small library for word wrapping, indenting, and dedenting
-strings.  You can use it to format strings (such as help and error messages)
-for display in commandline applications.  It is designed to be efficient and
-handle Unicode characters correctly.")
-    (license license:expat)))
+        ("rust-unicode-width" ,rust-unicode-width-0.1))))))
 
 (define-public rust-textwrap-0.11
   (package
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #9: v4-0006-gnu-Add-phosh.patch --]
[-- Type: text/x-patch; name=v4-0006-gnu-Add-phosh.patch, Size: 6986 bytes --]

From 9866ba0d428c9f8c2d1ec5bd05a1522e847532a0 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 17 Nov 2021 11:14:15 +0100
Subject: [PATCH v4 06/37] gnu: Add phosh.

* gnu/packages/gnome.scm (phosh): New variable.

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index c8d12f08fb..59f794b53f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -94,6 +94,7 @@ (define-module (gnu packages gnome)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages aidc)
   #:use-module (gnu packages aspell)
+  #:use-module (gnu packages audio)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages backup)
@@ -1281,6 +1282,115 @@ (define-public phodav
    (home-page "https://wiki.gnome.org/phodav")
    (license license:lgpl2.1+)))
 
+(define-public phosh
+  (package
+    (name "phosh")
+    (version "0.17.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://gitlab.gnome.org/World/Phosh/phosh")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1v8i02jjqlghh759pyjrcwn3rys9fwn38b206v1jsbl990hhv03y"))))
+    (build-system meson-build-system)
+    (arguments
+     (list #:modules '((guix build meson-build-system)
+            ((guix build glib-or-gtk-build-system)
+            #:prefix glib-or-gtk:)
+            (guix build utils)
+            (ice-9 match))
+           #:imported-modules `((guix build glib-or-gtk-build-system)
+            ,@%meson-build-system-modules)
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'get-submodules
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (copy-recursively #$(origin
+                                                  (method git-fetch)
+                                                  (uri (git-reference (url
+                                                                       "https://gitlab.gnome.org/GNOME/libgnome-volume-control.git")
+                                                                      (commit
+                                                                       "ae1a34aafce7026b8c0f65a43c9192d756fe1057")))
+                                                  (file-name (string-append
+                                                              name "-" version
+                                                              "-checkout"))
+                                                  (sha256 (base32
+                                                           "0a4qh5pgyjki904qf7qmvqz2ksxb0p8xhgl2aixfbhixn0pw6saw")))
+                                              "subprojects/gvc")
+                            (copy-recursively #$(origin
+                                                  (method git-fetch)
+                                                  (uri (git-reference (url
+                                                                       "https://gitlab.gnome.org/World/Phosh/libcall-ui")
+                                                                      (commit
+                                                                       "d3a4fe96fac2f18a92b8ec0e7bdfb92ccb753e63")))
+                                                  (file-name (string-append
+                                                              name "-" version
+                                                              "-checkout"))
+                                                  (sha256 (base32
+                                                           "1iwnirc81h53wzsrckc9wy5w0kmqil2f83d8vhip6sd1fmz5gkb2")))
+                                              "subprojects/libcall-ui")))
+                        (add-after 'unpack 'patch-systemd
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (substitute* "meson.build"
+                              (("libsystemd")
+                               "libelogind"))
+                            (substitute* "src/meson.build"
+                              (("libsystemd_dep")
+                               "libelogind_dep"))
+                            (substitute* "src/util.c"
+                              (("systemd/sd-login.h")
+                               "elogind/sd-login.h"))
+                            (substitute* "src/main.c"
+                              (("systemd/sd-daemon.h")
+                               "elogind/sd-daemon.h"))))
+                        (add-before 'configure 'fix-phoc-path
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (substitute* "data/phosh.in"
+                              (("@bindir@")
+                               (string-append (assoc-ref inputs "phoc") "/bin")))))
+                        (add-after 'install 'glib-or-gtk-compile-schemas
+                          (assoc-ref glib-or-gtk:%standard-phases
+                                     'glib-or-gtk-compile-schemas))
+                        (add-after 'install 'glib-or-gtk-wrap
+                          (assoc-ref glib-or-gtk:%standard-phases
+                                     'glib-or-gtk-wrap))
+                        (delete 'check))))
+    (native-inputs (list elogind
+                         gcr
+                         gettext-minimal
+                         git
+                         `(,glib "bin")
+                         gsettings-desktop-schemas
+                         gnome-desktop
+                         `(,gtk+ "bin")
+                         pkg-config
+                         python))
+    (inputs (list callaudiod
+                  libsecret
+                  linux-pam
+                  network-manager
+                  polkit
+                  upower
+                  feedbackd
+                  libhandy
+                  libgudev
+                  pulseaudio))
+    (propagated-inputs
+                       ;; "missing" schema files
+                       ;; org.gnome.DejaDup.File org.guido-berhoerster.code.package-update-indicator org.blueberry
+                       (list gsettings-desktop-schemas ;org.gnome.desktop.wm.keybindings
+                             gnome-session
+                             mutter ;org.gnome.mutter.keybindings
+                             network-manager-applet ;org.gnome.nm-applet
+                             phoc)) ;sm.puri.phoc
+    (synopsis "Wayland shell for GNOME on mobile devices")
+    (description
+     "Phosh is a pure Wayland prototype intended for mobile devices.")
+    (home-page "https://gitlab.gnome.org/World/Phosh/phosh")
+    (license license:gpl3+)))
+
 (define-public gnome-color-manager
   (package
    (name "gnome-color-manager")
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #10: v4-0010-gnu-Add-rust-gimli-0.26.patch --]
[-- Type: text/x-patch; name=v4-0010-gnu-Add-rust-gimli-0.26.patch, Size: 3044 bytes --]

From b3d33b7507bb3096fb7a3b663950ce7c0e0c3e17 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 3 Aug 2022 10:17:23 +0200
Subject: [PATCH v4 10/37] gnu: Add rust-gimli-0.26.

* gnu/packages/crates-io.scm (rust-gimli-0.26): New variable.
(rust-gimli-0.23): Remove variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 40a1fefe41..0b555320a0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -25027,8 +25027,41 @@ (define-public rust-gif-0.11
     (description "This crate provides a GIF de- and encoder.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-gimli-0.26
+  (package
+    (name "rust-gimli")
+    (version "0.26.2")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "gimli" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0pafbk64rznibgnvfidhm1pqxd14a5s9m50yvsgnbv38b8n0w0r2"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
+                       ("rust-fallible-iterator" ,rust-fallible-iterator-0.2)
+                       ("rust-indexmap" ,rust-indexmap-1)
+                       ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
+                       ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
+                       ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))
+       #:cargo-development-inputs (("rust-memmap2" ,rust-memmap2-0.5)
+       ("rust-typed-arena" ,rust-typed-arena-2)
+       ("rust-byteorder" ,rust-byteorder-0.5)
+       ("rust-test-assembler" ,rust-test-assembler-0.1)
+       ("rust-object" ,rust-object-0.29))))
+    (home-page "https://github.com/gimli-rs/gimli")
+    (synopsis "Library for reading and writing the DWARF debugging format")
+    (description
+     "This package provides a library for reading and writing the DWARF
+debugging format.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-gimli-0.23
   (package
+    (inherit rust-gimli-0.26)
     (name "rust-gimli")
     (version "0.23.0")
     (source
@@ -25047,13 +25080,7 @@ (define-public rust-gimli-0.23
         ("rust-indexmap" ,rust-indexmap-1)
         ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
         ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
-        ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))))
-    (home-page "https://github.com/gimli-rs/gimli")
-    (synopsis "Library for reading and writing the DWARF debugging format")
-    (description
-     "This package provides a library for reading and writing the DWARF
-debugging format.")
-    (license (list license:asl2.0 license:expat))))
+        ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))))))
 
 (define-public rust-gimli-0.20
   (package
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #11: v4-0011-gnu-Add-rust-addr2line-0.17.patch --]
[-- Type: text/x-patch; name=v4-0011-gnu-Add-rust-addr2line-0.17.patch, Size: 3161 bytes --]

From 1524a78c0928dfbc23b41333154e51e0ae854a83 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 3 Aug 2022 10:15:38 +0200
Subject: [PATCH v4 11/37] gnu: Add rust-addr2line-0.17.

* gnu/packages/crates-io.scm (rust-addr2line-0.17): New variable.
(rust-addr2line-0.14): Remove variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0b555320a0..84e66af1a0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1695,8 +1695,43 @@ (define-public rust-adblock-0.4
 syntax (e.g.  EasyList, EasyPrivacy) filter parsing and matching.")
     (license license:mpl2.0)))
 
+(define-public rust-addr2line-0.17
+  (package
+    (name "rust-addr2line")
+    (version "0.17.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "addr2line" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0sw16zqy6w0ar633z69m7lw6gb0k1y7xj3387a8wly43ij5div5r"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
+                       ("rust-cpp-demangle" ,rust-cpp-demangle-0.3)
+                       ("rust-fallible-iterator" ,rust-fallible-iterator-0.2)
+                       ("rust-gimli" ,rust-gimli-0.26)
+                       ("rust-object" ,rust-object-0.27)
+                       ("rust-rustc-demangle" ,rust-rustc-demangle-0.1)
+                       ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
+                       ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
+                       ("rust-smallvec" ,rust-smallvec-1))
+#:cargo-development-inputs (;("rust-findshlibs" ,rust-findshlibs-0.10)
+	    ("rust-rustc-test" ,rust-rustc-test-0.3)
+	    ("rust-typed-arena" ,rust-typed-arena-2)
+	   ("rust-memmap" ,rust-memmap-0.7))))
+    (home-page "https://github.com/gimli-rs/addr2line")
+    (synopsis "Symbolication library written in Rust, using gimli")
+    (description
+     "This package provides a cross-platform symbolication library written in
+Rust, using gimli.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-addr2line-0.14
   (package
+    (inherit rust-addr2line-0.17)
     (name "rust-addr2line")
     (version "0.14.1")
     (source
@@ -1718,13 +1753,7 @@ (define-public rust-addr2line-0.14
         ("rust-rustc-demangle" ,rust-rustc-demangle-0.1)
         ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
         ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
-        ("rust-smallvec" ,rust-smallvec-1))))
-    (home-page "https://github.com/gimli-rs/addr2line")
-    (synopsis "Symbolication library written in Rust, using gimli")
-    (description
-     "This package provides a cross-platform symbolication library written in
-Rust, using gimli.")
-    (license (list license:asl2.0 license:expat))))
+        ("rust-smallvec" ,rust-smallvec-1))))))
 
 (define-public rust-addr-0.14
   (package
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #12: v4-0034-gnu-Add-rust-clap-lex-0.2.patch --]
[-- Type: text/x-patch; name=v4-0034-gnu-Add-rust-clap-lex-0.2.patch, Size: 1437 bytes --]

From 966e2c885cc89c31a7cffa8d7e4cfb9ab16b4511 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 5 Aug 2022 14:21:33 +0200
Subject: [PATCH v4 34/37] gnu: Add rust-clap-lex-0.2.

* gnu/packages/crates-io.scm (rust-clap-lex-0.2): New variable

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 86a64a7f2c..d3101cdf7d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11362,6 +11362,26 @@ (define-public rust-clap-derive-3
 derive crate.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-clap-lex-0.2
+  (package
+    (name "rust-clap-lex")
+    (version "0.2.4")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "clap_lex" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1ib1a9v55ybnaws11l63az0jgz5xiy24jkdgsmyl7grcm3sz4l18"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-os-str-bytes" ,rust-os-str-bytes-6))))
+    (home-page "https://github.com/clap-rs/clap/tree/master/clap_lex")
+    (synopsis "Minimal, flexible command line parser")
+    (description "Minimal, flexible command line parser")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-clap-3
   (package
     (name "rust-clap")
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #13: v4-0030-gnu-Add-rust-funty-2.patch --]
[-- Type: text/x-patch; name=v4-0030-gnu-Add-rust-funty-2.patch, Size: 2361 bytes --]

From 2e88d5ff12b5e83a277dfb7f7ff658f4d8f11fb8 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 5 Aug 2022 14:15:34 +0200
Subject: [PATCH v4 30/37] gnu: Add rust-funty-2.

* gnu/packages/crates-io.scm (rust-funty-2): New variable.
(rust-funty-2): Inherit from above.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9bb0f1f541..64f4d9de4e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -23294,8 +23294,31 @@ (define-public rust-fuchsia-zircon-sys-0.3
     (description "Low-level Rust bindings for the Zircon kernel.")
     (license license:bsd-3)))
 
+(define-public rust-funty-2
+  (package
+    (name "rust-funty")
+    (version "2.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "funty" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "177w048bm0046qlzvp33ag3ghqkqw4ncpzcm5lq36gxf2lla7mg6"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t))
+    (home-page "https://github.com/myrrlyn/funty")
+    (synopsis "Trait generalization over the primitive types")
+    (description
+     "Prior to 1.0, Rust had traits for the numeric primitive types to permit
+code to generalize over which specific type it accepted. This was never
+stabilized, and eventually removed.  This library reïnstates these traits.")
+    (license license:expat)))
+
 (define-public rust-funty-1
   (package
+    (inherit rust-funty-2)
     (name "rust-funty")
     (version "1.2.0")
     (source
@@ -23310,14 +23333,7 @@ (define-public rust-funty-1
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-development-inputs
-       (("rust-static-assertions" ,rust-static-assertions-1))))
-    (home-page "https://github.com/myrrlyn/funty")
-    (synopsis "Trait generalization over the primitive types")
-    (description
-     "Prior to 1.0, Rust had traits for the numeric primitive types to permit
-code to generalize over which specific type it accepted. This was never
-stabilized, and eventually removed.  This library reïnstates these traits.")
-    (license license:expat)))
+       (("rust-static-assertions" ,rust-static-assertions-1))))))
 
 (define-public rust-funty-1.1
   (package
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #14: v4-0016-gnu-Add-rust-ntest-timeout-0.7.patch --]
[-- Type: text/x-patch; name=v4-0016-gnu-Add-rust-ntest-timeout-0.7.patch, Size: 2466 bytes --]

From 9193e5f6f523eceab8d959e4ae53a769260704e5 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 3 Aug 2022 11:25:27 +0200
Subject: [PATCH v4 16/37] gnu: Add rust-ntest-timeout-0.7.

* gnu/packages/crates-io.scm (rust-ntest-timeout-0.7): New variable.
(rust-ntest-timeout-0.3): Inherit from above.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ad4d97e9d7..5332ed563c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -38385,8 +38385,34 @@ (define-public rust-ntest-test-cases-0.3
     (description "This package provides test cases for ntest framework.")
     (license license:expat)))
 
+(define-public rust-ntest-timeout-0.7
+  (package
+    (name "rust-ntest-timeout")
+    (version "0.7.5")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "ntest_timeout" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "08v3r6hggh43qabl887pkz88k6lg6hrc62mppxyabb0pw44v03di"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-ntest-proc-macro-helper" ,rust-ntest-proc-macro-helper-0.7)
+                       ("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-1))))
+    (home-page "https://github.com/becheran/ntest")
+    (synopsis "Timeout attribute for the ntest framework")
+    (description "This package provides a timeout attribute for the ntest
+framework.")
+    (license license:expat)))
+
 (define-public rust-ntest-timeout-0.3
   (package
+    (inherit rust-ntest-timeout-0.7)
     (name "rust-ntest-timeout")
     (version "0.3.3")
     (source
@@ -38403,12 +38429,7 @@ (define-public rust-ntest-timeout-0.3
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1)
-        ("rust-timebomb" ,rust-timebomb-0.1))))
-    (home-page "https://github.com/becheran/ntest")
-    (synopsis "Timeout attribute for the ntest framework")
-    (description "This package provides a timeout attribute for the ntest
-framework.")
-    (license license:expat)))
+        ("rust-timebomb" ,rust-timebomb-0.1))))))
 
 (define-public rust-num-0.4
   (package
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #15: v4-0024-gnu-rust-nix-0.22-Update-to-0.22.3.patch --]
[-- Type: text/x-patch; name=v4-0024-gnu-rust-nix-0.22-Update-to-0.22.3.patch, Size: 1020 bytes --]

From 964746ac65e43acf2ec43e66b00039d0c905aca1 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 3 Aug 2022 12:02:03 +0200
Subject: [PATCH v4 24/37] gnu: rust-nix-0.22: Update to 0.22.3.

* gnu/packages/crates-io.scm (rust-nix-0.22): Update to 0.22.3.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 15a77a17e9..b539637ceb 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -37505,14 +37505,14 @@ (define-public rust-nix-0.22
   (package
     (inherit rust-nix-0.23)
     (name "rust-nix")
-    (version "0.22.1")
+    (version "0.22.3")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "nix" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0cahgzxhdwsaa8491n6cn8gadgfsxk5razyfw4xr3k34f5n5smg7"))))
+        (base32 "1bsgc8vjq07a1wg9vz819bva3dvn58an4r87h80dxrfqkqanz4g4"))))
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #16: v4-0029-gnu-Add-rust-radium-0.7.patch --]
[-- Type: text/x-patch; name=v4-0029-gnu-Add-rust-radium-0.7.patch, Size: 2221 bytes --]

From f77ac68ef71d00999a0842a0f40ead2730024e8d Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 5 Aug 2022 14:13:41 +0200
Subject: [PATCH v4 29/37] gnu: Add rust-radium-0.7.

* gnu/packages/crates-io.scm (rust-radium-0.7): New variable.
(rust-radium-0.7): Inherit from above.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 695424fabc..9bb0f1f541 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -47333,8 +47333,30 @@ (define-public rust-racer-interner-0.1
 fashion.  It is mostly used in Racer.")
     (license license:expat)))
 
+(define-public rust-radium-0.7
+  (package
+    (name "rust-radium")
+    (version "0.7.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "radium" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "02cxfi3ky3c4yhyqx9axqwhyaca804ws46nn4gc1imbk94nzycyw"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t))
+    (home-page "https://github.com/bitvecto-rs/radium")
+    (synopsis "Portable interfaces for maybe-atomic types")
+    (description
+     "@code{radium} provides abstractions and graceful degradation for behavior
+that must be shared-mutable, but merely may use atomic instructions to do so.")
+    (license license:expat)))
+
 (define-public rust-radium-0.6
   (package
+    (inherit rust-radium-0.7)
     (name "rust-radium")
     (version "0.6.2")
     (source
@@ -47349,13 +47371,7 @@ (define-public rust-radium-0.6
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-development-inputs
-       (("rust-static-assertions" ,rust-static-assertions-1))))
-    (home-page "https://github.com/bitvecto-rs/radium")
-    (synopsis "Portable interfaces for maybe-atomic types")
-    (description
-     "@code{radium} provides abstractions and graceful degradation for behavior
-that must be shared-mutable, but merely may use atomic instructions to do so.")
-    (license license:expat)))
+       (("rust-static-assertions" ,rust-static-assertions-1))))))
 
 (define-public rust-radium-0.5
   (package
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #17: v4-0027-gnu-Add-rust-xkbcommon-0.4.patch --]
[-- Type: text/x-patch; name=v4-0027-gnu-Add-rust-xkbcommon-0.4.patch, Size: 1944 bytes --]

From 2ea4f57b57bbb1dfadc4976c76bdaad946f29981 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 5 Aug 2022 14:09:49 +0200
Subject: [PATCH v4 27/37] gnu: Add rust-xkbcommon-0.4.

* gnu/packages/crates-io.scm (rust-xkbcommon-0.4): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9e622d9457..0934906f5e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -87,6 +87,7 @@ (define-module (gnu packages crates-io)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages webkit)
@@ -72596,6 +72597,31 @@ (define-public rust-xflags-0.2
      "This package provides a moderately simple command line arguments parser.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-xkbcommon-0.4
+  (package
+    (name "rust-xkbcommon")
+    (version "0.4.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "xkbcommon" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1kr8ik92ckz12s9my66a7grip84n87xgkannpchi5hsmqw6d0bh3"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-libc" ,rust-libc-0.2)
+         ("rust-memmap" ,rust-memmap-0.7)
+         ("rust-xcb" ,rust-xcb-0.9))
+        #:cargo-development-inputs
+        (("rust-evdev" ,rust-evdev-0.11))))
+    (inputs (list libxkbcommon))
+    (home-page "https://github.com/rust-x-bindings/xkbcommon-rs")
+    (synopsis "Rust bindings and wrappers for libxkbcommon")
+    (description "Rust bindings and wrappers for libxkbcommon")
+    (license license:expat)))
+
 (define-public rust-xml-rs-0.8
   (package
     (name "rust-xml-rs")
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #18: v4-0007-gnu-Add-rust-hashbrown-0.12.patch --]
[-- Type: text/x-patch; name=v4-0007-gnu-Add-rust-hashbrown-0.12.patch, Size: 2666 bytes --]

From b652b6ad7384afa5a35eb0489ae3c0786a2442bd Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 3 Aug 2022 10:18:34 +0200
Subject: [PATCH v4 07/37] gnu: Add rust-hashbrown-0.12.

* gnu/packages/crates-io.scm (rust-hashbrown-0.12): New variable.
(rust-hashbrown-0.9): Remove variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 910b2e68df..ffd41cfe1c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -26494,8 +26494,36 @@ (define-public rust-hash32-derive-0.1
 @code{#[derive(Hash32)]}.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-hashbrown-0.12
+  (package
+    (name "rust-hashbrown")
+    (version "0.12.3")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "hashbrown" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1268ka4750pyg2pbgsr43f0289l5zah4arir2k4igx5a8c6fg7la"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-ahash" ,rust-ahash-0.7)
+                       ("rust-bumpalo" ,rust-bumpalo-3)
+                       ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
+                       ("rust-rayon" ,rust-rayon-1)
+                       ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
+                       ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
+                       ("rust-serde" ,rust-serde-1))))
+    (home-page "https://github.com/rust-lang/hashbrown")
+    (synopsis "Rust port of Google's SwissTable hash map")
+    (description "This package provides a Rust port of Google's SwissTable
+hash map.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-hashbrown-0.11
   (package
+    (inherit rust-hashbrown-0.12)
     (name "rust-hashbrown")
     (version "0.11.2")
     (source
@@ -26515,12 +26543,7 @@ (define-public rust-hashbrown-0.11
         ("rust-rayon" ,rust-rayon-1)
         ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
         ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
-        ("rust-serde" ,rust-serde-1))))
-    (home-page "https://github.com/rust-lang/hashbrown")
-    (synopsis "Rust port of Google's SwissTable hash map")
-    (description "This package provides a Rust port of Google's SwissTable
-hash map.")
-    (license (list license:asl2.0 license:expat))))
+        ("rust-serde" ,rust-serde-1))))))
 
 (define-public rust-hashbrown-0.9
   (package
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #19: v4-0023-gnu-Add-rust-zbus-macros-1.patch --]
[-- Type: text/x-patch; name=v4-0023-gnu-Add-rust-zbus-macros-1.patch, Size: 1600 bytes --]

From 6cdfe02350633bdab638f114f5ee1a4522355185 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 3 Aug 2022 07:58:39 +0200
Subject: [PATCH v4 23/37] gnu: Add rust-zbus-macros-1.

* gnu/packages/crates-io.scm (rust-zbus-macros-1): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 057af799bd..15a77a17e9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -72959,6 +72959,29 @@ (define-public rust-zbase32-0.1
     (description "This package provides an implementation of zbase32.")
     (license license:lgpl3+)))
 
+(define-public rust-zbus-macros-1
+  (package
+    (name "rust-zbus-macros")
+    (version "1.9.3")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "zbus_macros" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "19p0pdwdf52zkaknav0pj5qvgcf52xk8a4p3a4ymxybwhjkmjfgs"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-proc-macro-crate" ,rust-proc-macro-crate-0.1)
+                       ("rust-proc-macro2" ,rust-proc-macro2-1)
+                       ("rust-quote" ,rust-quote-1)
+                       ("rust-syn" ,rust-syn-1))))
+    (home-page "https://gitlab.freedesktop.org/dbus/zbus/")
+    (synopsis "proc-macros for zbus")
+    (description "proc-macros for zbus")
+    (license license:expat)))
+
 (define-public rust-zerocopy-0.3
   (package
     (name "rust-zerocopy")
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #20: v4-0021-gnu-Add-rust-zvariant-derive-2.patch --]
[-- Type: text/x-patch; name=v4-0021-gnu-Add-rust-zvariant-derive-2.patch, Size: 1612 bytes --]

From fb5fe1d93d0f172f2a9d39031e3486fea0ad43ad Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 3 Aug 2022 08:00:00 +0200
Subject: [PATCH v4 21/37] gnu: Add rust-zvariant-derive-2.

* gnu/packages/crates-io.scm (rust-zvariant-derive-2): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 920a855880..c4c002e749 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -72886,6 +72886,29 @@ (define-public rust-yeslogic-fontconfig-sys-3
 for locating fonts.")
     (license license:expat)))
 
+(define-public rust-zvariant-derive-2
+  (package
+    (name "rust-zvariant-derive")
+    (version "2.10.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "zvariant_derive" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1s9xk9c4p9vl0j2vr1abqc12mgv500sjc3fnh8ij3d1yb4i5xjp4"))))
+    (build-system cargo-build-system)
+    (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-1))))
+    (home-page "https://gitlab.freedesktop.org/dbus/zbus/")
+    (synopsis "D-Bus & GVariant encoding & decoding")
+    (description "D-Bus & GVariant encoding & decoding")
+    (license license:expat)))
+
 (define-public rust-zbase32-0.1
   (package
     (name "rust-zbase32")
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #21: v4-0020-gnu-rust-doc-comment-0.3-Update-to-0.3.56.patch --]
[-- Type: text/x-patch; name=v4-0020-gnu-rust-doc-comment-0.3-Update-to-0.3.56.patch, Size: 1159 bytes --]

From 2fd78784e2698accff36ff5edc77466d1f973432 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 3 Aug 2022 07:51:39 +0200
Subject: [PATCH v4 20/37] gnu: rust-doc-comment-0.3: Update to 0.3.56.

* gnu/packages/crates-io.scm (rust-doc-comment-0.3): Update to 0.3.56.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4b32b992a0..920a855880 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -18625,7 +18625,7 @@ (define-public rust-dns-parser-0.8
 (define-public rust-doc-comment-0.3
   (package
     (name "rust-doc-comment")
-    (version "0.3.1")
+    (version "0.3.3")
     (source
       (origin
         (method url-fetch)
@@ -18633,7 +18633,7 @@ (define-public rust-doc-comment-0.3
         (file-name (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "15rsqxgarfpb1yim9sbp9yfgj7p2dq6v51c6bq1a62paii9ylgcj"))))
+          "043sprsf3wl926zmck1bm7gw0jq50mb76lkpk49vasfr6ax1p97y"))))
     (build-system cargo-build-system)
     (arguments '(#:skip-build? #t))
     (home-page "https://github.com/GuillaumeGomez/doc-comment")
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #22: v4-0013-gnu-Add-rust-parking-lot-core-0.9.patch --]
[-- Type: text/x-patch; name=v4-0013-gnu-Add-rust-parking-lot-core-0.9.patch, Size: 4030 bytes --]

From b129c9631e4637bec4b8245d856e64122c1eecc0 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 3 Aug 2022 12:31:21 +0200
Subject: [PATCH v4 13/37] gnu: Add rust-parking-lot-core-0.9.

* gnu/packages/crates-io.scm (rust-parking-lot-core-0.8): New variable.

diff --git a/gnu/local.mk b/gnu/local.mk
index 10c3192ade..dacf3d0eaa 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1790,6 +1790,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/rust-nettle-disable-vendor.patch		 \
   %D%/packages/patches/rust-nettle-sys-disable-vendor.patch	 \
   %D%/packages/patches/rust-openssl-sys-no-vendor.patch	\
+  %D%/packages/patches/rust-parking-lot-core-0.9.patch	\
   %D%/packages/patches/rust-shell2batch-lint-fix.patch		\
   %D%/packages/patches/rust-wl-clipboard-rs-newer-wl.patch      \
   %D%/packages/patches/sbc-fix-build-non-x86.patch		\
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index bcf79220cf..79ebff8b81 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -41276,8 +41276,36 @@ (define-public rust-parking-lot-0.7
         ("rust-rand" ,rust-rand-0.4)
         ("rust-rustc-version" ,rust-rustc-version-0.2))))))
 
+(define-public rust-parking-lot-core-0.9
+  (package
+    (name "rust-parking-lot-core")
+    (version "0.9.3")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "parking_lot_core" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (patches (search-patches "rust-parking-lot-core-0.9.patch"))
+              (sha256
+               (base32
+                "0ab95rljb99rm51wcic16jgbajcr6lgbqkrr21w7bc2wyb5pk8h9"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-backtrace" ,rust-backtrace-0.3)
+                       ("rust-cfg-if" ,rust-cfg-if-1)
+                       ("rust-libc" ,rust-libc-0.2)
+                       ("rust-petgraph" ,rust-petgraph-0.6)
+                       ("rust-redox-syscall" ,rust-redox-syscall-0.2)
+                       ("rust-smallvec" ,rust-smallvec-1)
+                       ("rust-thread-id" ,rust-thread-id-4))))
+    (home-page "https://github.com/Amanieu/parking_lot")
+    (synopsis "API for creating custom synchronization primitives")
+    (description "This package provides an advanced API for creating custom
+synchronization primitives.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-parking-lot-core-0.8
   (package
+    (inherit rust-parking-lot-core-0.9)
     (name "rust-parking-lot-core")
     (version "0.8.4")
     (source
@@ -41306,12 +41334,7 @@ (define-public rust-parking-lot-core-0.8
         ("rust-redox-syscall" ,rust-redox-syscall-0.2)
         ("rust-smallvec" ,rust-smallvec-1)
         ("rust-thread-id" ,rust-thread-id-4)
-        ("rust-winapi" ,rust-winapi-0.3))))
-    (home-page "https://github.com/Amanieu/parking_lot")
-    (synopsis "API for creating custom synchronization primitives")
-    (description "This package provides an advanced API for creating custom
-synchronization primitives.")
-    (license (list license:asl2.0 license:expat))))
+        ("rust-winapi" ,rust-winapi-0.3))))))
 
 (define-public rust-parking-lot-core-0.7
   (package
diff --git a/gnu/packages/patches/rust-parking-lot-core-0.9.patch b/gnu/packages/patches/rust-parking-lot-core-0.9.patch
new file mode 100644
index 0000000000..b7786ba546
--- /dev/null
+++ b/gnu/packages/patches/rust-parking-lot-core-0.9.patch
@@ -0,0 +1,15 @@
+--- parking_lot_core-0.9.3/Cargo.toml	2022-08-03 15:35:04.256541546 +0200
++++ parking_lot_core-0.9.3/Cargo.toml	2022-08-03 15:35:23.056614747 +0200
+@@ -57,12 +57,3 @@
+ 
+ [target."cfg(unix)".dependencies.libc]
+ version = "0.2.95"
+-
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.36.0"
+-features = [
+-    "Win32_Foundation",
+-    "Win32_System_LibraryLoader",
+-    "Win32_System_SystemServices",
+-    "Win32_System_WindowsProgramming",
+-]
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #23: v4-0012-gnu-rust-backtrace-0.3-Update-to-0.3.66.patch --]
[-- Type: text/x-patch; name=v4-0012-gnu-rust-backtrace-0.3-Update-to-0.3.66.patch, Size: 2202 bytes --]

From feae3a45645d808be854bf152e05540e83d085e5 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 3 Aug 2022 10:16:26 +0200
Subject: [PATCH v4 12/37] gnu: rust-backtrace-0.3: Update to 0.3.66.

* gnu/packages/crates-io.scm (rust-backtrace-0.3): Update to 0.3.66.
[arguments]: Update rust-addr2line-0.17, rust-miniz-oxide-0.5 and rust-object-0.29 in cargo-inputs.
Add rust-libloading-0.7 to cargo-development-inputs.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 84e66af1a0..bcf79220cf 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5631,7 +5631,7 @@ (define-public rust-az-1
 (define-public rust-backtrace-0.3
   (package
     (name "rust-backtrace")
-    (version "0.3.56")
+    (version "0.3.66")
     (source
      (origin
        (method url-fetch)
@@ -5640,22 +5640,24 @@ (define-public rust-backtrace-0.3
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1g716jmrik0fx29va3js4gw8hwk5jlsmvqaa9ryp1c9qyh07c4cx"))))
+         "19yrfx0gprqmzphmf6qv32g93w76ny5g751ks1abdkqnsqcl7f6a"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-addr2line" ,rust-addr2line-0.14)
+       (("rust-addr2line" ,rust-addr2line-0.17)
         ("rust-backtrace-sys" ,rust-backtrace-sys-0.1)
         ("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-cpp-demangle" ,rust-cpp-demangle-0.3)
         ("rust-libc" ,rust-libc-0.2)
-        ("rust-miniz-oxide" ,rust-miniz-oxide-0.4)
-        ("rust-object" ,rust-object-0.23)
+        ("rust-miniz-oxide" ,rust-miniz-oxide-0.5)
+        ("rust-object" ,rust-object-0.29)
         ("rust-rustc-demangle" ,rust-rustc-demangle-0.1)
         ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
         ("rust-serde" ,rust-serde-1)
-        ("rust-winapi" ,rust-winapi-0.3))))
+        ("rust-winapi" ,rust-winapi-0.3))
+       #:cargo-development-inputs
+	   (("rust-libloading" ,rust-libloading-0.7))))
     (home-page "https://github.com/rust-lang/backtrace-rs")
     (synopsis "Acquire a stack trace (backtrace) at runtime in a Rust program")
     (description
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #24: v4-0022-gnu-Add-rust-zvariant-2.patch --]
[-- Type: text/x-patch; name=v4-0022-gnu-Add-rust-zvariant-2.patch, Size: 1873 bytes --]

From f1add377aae47e4b7880b5f87a3c289cc6d19b6c Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 3 Aug 2022 08:02:44 +0200
Subject: [PATCH v4 22/37] gnu: Add rust-zvariant-2.

* gnu/packages/crates-io.scm (rust-zvariant-2): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c4c002e749..057af799bd 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -72909,6 +72909,33 @@ (define-public rust-zvariant-derive-2
     (description "D-Bus & GVariant encoding & decoding")
     (license license:expat)))
 
+(define-public rust-zvariant-2
+  (package
+    (name "rust-zvariant")
+    (version "2.10.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "zvariant" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0995d59vl8409mk3qrbshqrz5d76dq52szg0x2vqji07y9app356"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-arrayvec" ,rust-arrayvec-0.5)
+                       ("rust-byteorder" ,rust-byteorder-1)
+                       ("rust-enumflags2" ,rust-enumflags2-0.6)
+                       ("rust-libc" ,rust-libc-0.2)
+                       ("rust-serde" ,rust-serde-1)
+                       ("rust-serde-bytes" ,rust-serde-bytes-0.11)
+                       ("rust-static-assertions" ,rust-static-assertions-1)
+                       ("rust-zvariant-derive" ,rust-zvariant-derive-2))))
+    (home-page "https://gitlab.freedesktop.org/dbus/zbus/")
+    (synopsis "D-Bus & GVariant encoding & decoding")
+    (description "D-Bus & GVariant encoding & decoding")
+    (license license:expat)))
+
 (define-public rust-zbase32-0.1
   (package
     (name "rust-zbase32")
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #25: v4-0004-gnu-Add-phoc.patch --]
[-- Type: text/x-patch; name=v4-0004-gnu-Add-phoc.patch, Size: 4769 bytes --]

From c768dd5c771b9ee68fa32f6f365b07cdcc2c66df Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 17 Nov 2021 10:58:55 +0100
Subject: [PATCH v4 04/37] gnu: Add phoc.

* gnu/packages/gnome.scm (phoc): New variable.

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index f4a4744633..c8d12f08fb 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -72,6 +72,7 @@
 ;;; Copyright © 2022 Leo Nikkilä <hello@lnikki.la>
 ;;; Copyright © 2022 Rene Saavedra <nanuui@protonmail.com>
 ;;; Copyright © 2022 Alexandros Theodotou <alex@zrythm.org>
+;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -215,6 +216,7 @@ (define-module (gnu packages gnome)
   #:use-module (gnu packages vpn)
   #:use-module (gnu packages web)
   #:use-module (gnu packages webkit)
+  #:use-module (gnu packages wm)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xml)
@@ -1170,6 +1172,72 @@ (define-public mm-common
     (home-page "https://gitlab.gnome.org/GNOME/mm-common")
     (license license:gpl2+)))
 
+(define-public phoc
+  (package
+    (name "phoc")
+    (version "0.20.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://gitlab.gnome.org/World/Phosh/phoc")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1mm47n5x7kjgrpxbvb0d0yvpxgzyg90mmmafb6fxhsqklf2dhryy"))))
+    (build-system meson-build-system)
+    (arguments
+     (list #:tests? #f ;requires server connection
+           #:configure-flags #~(list "-Dembed-wlroots=disabled")
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'get-wlroots
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (copy-recursively #$(origin
+                                                  (method git-fetch)
+                                                  (uri (git-reference (url
+                                                                       "https://source.puri.sm/Librem5/wlroots.git")
+                                                                      (commit
+                                                                       "1f8bb9e0e3058fc31a14866dc52e8f83c1287a09")))
+                                                  (file-name (string-append
+                                                              name "-" version
+                                                              "-checkout"))
+                                                  (sha256 (base32
+                                                           "1551c1qrybygyfba0darb58ahj57rasnhnkdfd2yxrrg9wc5h1vs")))
+                                              "subprojects/wlroots")))
+                        (add-after 'get-wlroots 'patch-paths
+                          (lambda _
+                            (substitute* "src/server.c"
+                              (("/bin/sh")
+                               (which "sh")))
+                            (substitute* "tests/test-run.c"
+                              (("/bin/true")
+                               (which "true"))
+                              (("/bin/false")
+                               (which "false")))))
+                        (add-before 'patch-paths 'disable-failing-tests
+                          (lambda _
+                            (substitute* "tests/meson.build"
+                              (("'layer-shell',")
+                               "")
+                              (("'xdg-shell',")
+                               "")
+                              (("'phosh'")
+                               ""))))
+                        (add-before 'check 'pre-check
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (system "Xvfb :1 &")
+                            (setenv "DISPLAY" ":1"))))))
+    (native-inputs (list gobject-introspection python pkg-config
+                         `(,glib "bin") wayland-protocols
+                         xorg-server-for-tests))
+    (propagated-inputs (list gnome-desktop libinput libseat libxkbcommon wayland
+                             wlroots mutter))
+    (synopsis "Wayland compositor for mobile phones")
+    (description "Phoc is a wayland compositor for mobile phones based on
+        wlroots.")
+    (home-page "https://gitlab.gnome.org/World/Phosh/phoc")
+    (license license:gpl3+)))
+
 (define-public phodav
   (package
    (name "phodav")
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #26: v4-0026-gnu-Add-rust-zbus-polkit-1.patch --]
[-- Type: text/x-patch; name=v4-0026-gnu-Add-rust-zbus-polkit-1.patch, Size: 1574 bytes --]

From 4f5a9102b023b4970974215e1e1459505017df5f Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 3 Aug 2022 08:02:09 +0200
Subject: [PATCH v4 26/37] gnu: Add rust-zbus-polkit-1.

* gnu/packages/crates-io.scm (rust-zbus-polkit-1): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 644bf0e2ac..9e622d9457 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -72924,6 +72924,29 @@ (define-public rust-zbus-1
     (description "API for D-Bus communication")
     (license license:expat)))
 
+(define-public rust-zbus-polkit-1
+  (package
+    (name "rust-zbus-polkit")
+    (version "1.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "zbus_polkit" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1yzbs8sga4s3h97vb6n5nvdvlnmhws2vj46bn44hbncfm25f51mc"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-enumflags2" ,rust-enumflags2-0.6)
+                       ("rust-serde" ,rust-serde-1)
+                       ("rust-serde-repr" ,rust-serde-repr-0.1)
+                       ("rust-zvariant" ,rust-zvariant-2))))
+    (home-page "https://gitlab.freedesktop.org/dbus/zbus/")
+    (synopsis "PolicyKit binding")
+    (description "PolicyKit binding")
+    (license license:expat)))
+
 (define-public rust-zvariant-derive-2
   (package
     (name "rust-zvariant-derive")
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #27: v4-0014-gnu-rust-once-cell-1-Update-to-1.13.0.patch --]
[-- Type: text/x-patch; name=v4-0014-gnu-rust-once-cell-1-Update-to-1.13.0.patch, Size: 1710 bytes --]

From f46f807d1b59382fb085658b783d40eedeb39b70 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 3 Aug 2022 12:02:55 +0200
Subject: [PATCH v4 14/37] gnu: rust-once-cell-1: Update to 1.13.0.

* gnu/packages/crates-io.scm (rust-once-cell-1): Update to 1.13.0.
[arguments]: Replace rust-parking-lot-0.11 with rust-parking-lot-core-0.9 in
cargo-inputs. Update to rust-crossbeam-utils-0.8 cargo-development-inputs.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 79ebff8b81..cc51544cee 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -39783,7 +39783,7 @@ (define-public rust-onig-sys-69.2
 (define-public rust-once-cell-1
   (package
     (name "rust-once-cell")
-    (version "1.9.0")
+    (version "1.13.0")
     (source
      (origin
        (method url-fetch)
@@ -39791,14 +39791,14 @@ (define-public rust-once-cell-1
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "1mfqhrsgi368x92bwnq3vi3p5nv0n1qlrn69gfflhvkfkxfm2cns"))))
+        (base32 "1qfqvgnwfzzwxd13ybvplzshaqwnjnna9ghcn0zgijaq0zixp9hq"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
        (("rust-atomic-polyfill" ,rust-atomic-polyfill-0.1)
-        ("rust-parking-lot" ,rust-parking-lot-0.11))
+        ("rust-parking-lot-core" ,rust-parking-lot-core-0.9))
        #:cargo-development-inputs
-       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)
+       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-regex" ,rust-regex-1))))
     (home-page "https://github.com/matklad/once_cell")
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #28: v4-0032-gnu-Add-rust-evdev-0.11.patch --]
[-- Type: text/x-patch; name=v4-0032-gnu-Add-rust-evdev-0.11.patch, Size: 1660 bytes --]

From eb628e0cb7e038ff86735f972e25c146e65faf9f Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 5 Aug 2022 14:19:21 +0200
Subject: [PATCH v4 32/37] gnu: Add rust-evdev-0.11.

* gnu/packages/crates-io.scm (rust-evdev-0.11): New variable

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index db3a00dfd4..7399a6a7d1 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -21038,6 +21038,30 @@ (define-public rust-ethereum-types-serialize-0.2
     (description "This package is a Rust library of Ethereum types.")
     (license license:expat)))
 
+(define-public rust-evdev-0.11
+  (package
+    (name "rust-evdev")
+    (version "0.11.5")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "evdev" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "01qhxfr7wmdfsgs7wnbjgzfb6aldf2vnqqb4hfigsqbmq47dj16b"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-bitvec" ,rust-bitvec-1)
+                       ("rust-futures-core" ,rust-futures-core-0.3)
+                       ("rust-libc" ,rust-libc-0.2)
+                       ("rust-nix" ,rust-nix-0.23)
+                       ("rust-tokio" ,rust-tokio-1))))
+    (home-page "https://github.com/cmr/evdev")
+    (synopsis "evdev interface for Linux")
+    (description "evdev interface for Linux")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-event-listener-2
   (package
     (name "rust-event-listener")
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #29: v4-0005-gnu-Add-callaudiod.patch --]
[-- Type: text/x-patch; name=v4-0005-gnu-Add-callaudiod.patch, Size: 1914 bytes --]

From 3d2ae37cc0fb409da29bb73a9aa2041b4230a585 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 17 Nov 2021 11:10:16 +0100
Subject: [PATCH v4 05/37] gnu: Add callaudiod.

* gnu/packages/audio.scm (callaudiod): New variable.

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index aad86bac06..1b12f19dd6 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -36,6 +36,7 @@
 ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
 ;;; Copyright © 2021 jgart <jgart@dismail.de>
 ;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org>
+;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com>
 ;;; Copyright © 2022 Arjan Adriaanse <arjan@adriaan.se>
 ;;; Copyright © 2022 Juliana Sims <jtsims@protonmail.com>
 ;;;
@@ -1078,6 +1079,29 @@ (define-public calf
     ;; The plugins are released under LGPLv2.1+
     (license (list license:lgpl2.1+ license:gpl2+))))
 
+(define-public callaudiod
+  (package
+    (name "callaudiod")
+    (version "0.1.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://gitlab.com/mobian1/callaudiod")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0h9sfimlcikaxx29z97mmm025z7m5kkw0l8hbnqsmrgrph0bspzg"))))
+    (build-system meson-build-system)
+    (native-inputs (list `(,glib "bin") pkg-config))
+    (inputs (list alsa-utils alsa-lib glib pulseaudio))
+    (synopsis "Call audio routing daemon")
+    (description
+     "This package provides a daemon for dealing with audio routing
+during phone calls.  It provides a D-Bus interface.")
+    (home-page "https://gitlab.com/mobian1/callaudiod")
+    (license license:gpl3+)))
+
 (define-public caps-plugins-lv2
   (package
     (name "caps-plugins-lv2")
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #30: v4-0008-gnu-Add-rust-object-0.29.patch --]
[-- Type: text/x-patch; name=v4-0008-gnu-Add-rust-object-0.29.patch, Size: 2782 bytes --]

From 84a6d60d3ce2be260222ba460013958d090a4d70 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 3 Aug 2022 15:04:55 +0200
Subject: [PATCH v4 08/37] gnu: Add rust-object-0.29.

* gnu/packages/crates-io.scm (rust-object-0.29): New variable.
(rust-object-0.28): Inherit from above.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ffd41cfe1c..f5ae665b13 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -39318,8 +39318,39 @@ (define-public rust-objc-test-utils-0.0
      "This package provides utilities for testing Objective-C interop.")
     (license license:expat)))
 
+(define-public rust-object-0.29
+  (package
+    (name "rust-object")
+    (version "0.29.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "object" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0lzblxwxcih7j4z2cfx9094caax97hlfm9n0y5hlavda6cn8n591"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
+                       ("rust-crc32fast" ,rust-crc32fast-1)
+                       ("rust-flate2" ,rust-flate2-1)
+                       ("rust-hashbrown" ,rust-hashbrown-0.12)
+                       ("rust-indexmap" ,rust-indexmap-1)
+                       ("rust-memchr" ,rust-memchr-2)
+                       ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
+                       ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
+                       ("rust-wasmparser" ,rust-wasmparser-0.57))))
+    (home-page "https://github.com/gimli-rs/object")
+    (synopsis "Unified interface for reading and writing object file formats")
+    (description
+     "This package provides a unified interface for reading and writing object
+file formats.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-object-0.28
   (package
+    (inherit rust-object-0.29)
     (name "rust-object")
     (version "0.28.2")
     (source
@@ -39356,13 +39387,7 @@ (define-public rust-object-0.28
              (substitute* "Cargo.toml"
                (("1.6.\\*")
                 ,(package-version rust-indexmap-1)))
-             #t)))))
-    (home-page "https://github.com/gimli-rs/object")
-    (synopsis "Unified interface for reading and writing object file formats")
-    (description
-     "This package provides a unified interface for reading and writing object
-file formats.")
-    (license (list license:asl2.0 license:expat))))
+             #t)))))))
 
 (define-public rust-object-0.24
   (package
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #31: v4-0036-gnu-rust-clap-3-Update-to-3.1.18.patch --]
[-- Type: text/x-patch; name=v4-0036-gnu-rust-clap-3-Update-to-3.1.18.patch, Size: 3538 bytes --]

From b56ea88f209a7af5dac4c1c111ec4ee142ea5444 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 5 Aug 2022 14:24:28 +0200
Subject: [PATCH v4 36/37] gnu: rust-clap-3: Update to 3.1.18.

* gnu/packages/crates-io.scm (rust-clap-3): Update to 3.1.18.
[arguments]: Add rust-clap-lex-0.2 to cargo-inputs and update to
rust-textwrap-0.15.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a551d5cc6f..ba6ce09051 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11383,7 +11383,7 @@ (define-public rust-clap-lex-0.2
 (define-public rust-clap-3
   (package
     (name "rust-clap")
-    (version "3.0.0-beta.2")
+    (version "3.1.18")
     (source
      (origin
        (method url-fetch)
@@ -11392,27 +11392,32 @@ (define-public rust-clap-3
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0hm1kivw6190rxbfqhdr4hqwlrijvwh90i3d9dyyw0d5k0chdlab"))))
+         "02s4hk9hrmm2s1j7dkbwpyd75mfzx3p8ks2chmp4ccybv95xznyj"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-atty" ,rust-atty-0.2)
-        ("rust-bitflags" ,rust-bitflags-1)
-        ("rust-clap-derive" ,rust-clap-derive-3)
-        ("rust-indexmap" ,rust-indexmap-1)
-        ("rust-os-str-bytes" ,rust-os-str-bytes-2)
-        ("rust-strsim" ,rust-strsim-0.10)
-        ("rust-termcolor" ,rust-termcolor-1)
-        ("rust-terminal-size" ,rust-terminal-size-0.1)
-        ("rust-textwrap" ,rust-textwrap-0.12)
-        ("rust-unicode-width" ,rust-unicode-width-0.1)
-        ("rust-vec-map" ,rust-vec-map-0.8)
-        ("rust-yaml-rust" ,rust-yaml-rust-0.4))
-       #:cargo-development-inputs
-       (("rust-criterion" ,rust-criterion-0.3)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-regex" ,rust-regex-1)
-        ("rust-version-sync" ,rust-version-sync-0.8))))
+	(arguments
+     `(#:cargo-inputs (("rust-atty" ,rust-atty-0.2)
+                       ("rust-backtrace" ,rust-backtrace-0.3)
+                       ("rust-bitflags" ,rust-bitflags-1)
+                       ("rust-clap-derive" ,rust-clap-derive-3)
+                       ("rust-clap-lex" ,rust-clap-lex-0.2)
+                       ("rust-indexmap" ,rust-indexmap-1)
+                       ("rust-lazy-static" ,rust-lazy-static-1)
+                       ("rust-regex" ,rust-regex-1)
+                       ("rust-strsim" ,rust-strsim-0.10)
+                       ("rust-termcolor" ,rust-termcolor-1)
+                       ("rust-terminal-size" ,rust-terminal-size-0.1)
+                       ("rust-textwrap" ,rust-textwrap-0.15)
+                       ("rust-unicase" ,rust-unicase-2)
+                       ("rust-yaml-rust" ,rust-yaml-rust-0.4))
+       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
+                                   ("rust-humantime" ,rust-humantime-2)
+                                   ("rust-lazy-static" ,rust-lazy-static-1)
+                                   ("rust-regex" ,rust-regex-1)
+                                   ("rust-rustversion" ,rust-rustversion-1)
+                                   ("rust-shlex" ,rust-shlex-1)
+                                   ("rust-snapbox" ,rust-snapbox-0.2)
+                                   ("rust-trybuild" ,rust-trybuild-1)
+                                   ("rust-trycmd" ,rust-trycmd-0.13))))
     (home-page "https://clap.rs/")
     (synopsis "Command Line Argument Parser")
     (description
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #32: v4-0015-gnu-rust-proc-macro-crate-1-Update-to-1.2.0.patch --]
[-- Type: text/x-patch; name=v4-0015-gnu-rust-proc-macro-crate-1-Update-to-1.2.0.patch, Size: 1094 bytes --]

From c1fd9f024b514e5ea42a713aab1ded487b4521f3 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 3 Aug 2022 12:03:45 +0200
Subject: [PATCH v4 15/37] gnu: rust-proc-macro-crate-1: Update to 1.2.0.

* gnu/packages/crates-io.scm (rust-proc-macro-crate-1): Update to 1.2.0.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index cc51544cee..ad4d97e9d7 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -45309,14 +45309,14 @@ (define-public rust-print-bytes-0.4
 (define-public rust-proc-macro-crate-1
   (package
     (name "rust-proc-macro-crate")
-    (version "1.0.0")
+    (version "1.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "proc-macro-crate" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "14pzgkpnlzq6y7yc749h2lwd1mv44min4iszjk2znmi1yqfvvza1"))))
+        (base32 "1j36pf7pknyap8vjkd8vhw5jxvrmba5xj02shlakkwi3ikxhpm96"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #33: v4-0003-gnu-wlroots-Update-to-0.15.1.patch --]
[-- Type: text/x-patch; name=v4-0003-gnu-wlroots-Update-to-0.15.1.patch, Size: 1316 bytes --]

From 25e0344bea263b16ba37a143d17f0e21dce72b24 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Mon, 1 Aug 2022 15:23:38 +0200
Subject: [PATCH v4 03/37] gnu: wlroots: Update to 0.15.1.

* gnu/packages/wm.scm (wlroots): Update to 0.15.1.
[inputs]: Add libdrm.

diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index fc5c173d00..88368742f1 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -1524,16 +1524,16 @@ (define-public polybar
 (define-public wlroots
   (package
     (name "wlroots")
-    (version "0.14.1")
+    (version "0.15.1")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/swaywm/wlroots")
+             (url "https://gitlab.freedesktop.org/wlroots/wlroots")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1sshp3lvlkl1i670kxhwsb4xzxl8raz6769kqvgmxzcb63ns9ay1"))))
+        (base32 "00s73nhi3sc48l426jdlqwpclg41kx1hv0yk4yxhbzw19gqpfm1h"))))
     (build-system meson-build-system)
     (arguments
      `(#:phases
@@ -1552,6 +1552,7 @@ (define-public wlroots
            libxkbcommon
            mesa
            pixman
+           libdrm
            libseat
            wayland
            wayland-protocols
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #34: v4-0028-gnu-Add-rust-wyz-0.5.patch --]
[-- Type: text/x-patch; name=v4-0028-gnu-Add-rust-wyz-0.5.patch, Size: 2148 bytes --]

From 7461257b709e889cdc4ce41c9158609747702372 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 5 Aug 2022 14:11:42 +0200
Subject: [PATCH v4 28/37] gnu: Add rust-wyz-0.5.

* gnu/packages/crates-io.scm (rust-wyz-0.5): New variable.
(rust-wyz-0.5): Inherit from above.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0934906f5e..695424fabc 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -72298,8 +72298,32 @@ (define-public rust-wyhash-0.5
 non-cryptographic hashing algorithm and random number generator.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-wyz-0.5
+  (package
+    (name "rust-wyz")
+    (version "0.5.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "wyz" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "03ir858jfk3sn98v3vzh33ap8s27sfgbalrv71n069wxyaa1bcrh"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-once-cell" ,rust-once-cell-1)
+                       ("rust-tap" ,rust-tap-1)
+                       ("rust-typemap" ,rust-typemap-0.3))))
+    (home-page "https://myrrlyn.net/crates/wyz")
+    (synopsis "Collection of utility functions")
+    (description
+     "This package provides a collection of utility functions.")
+    (license license:expat)))
+
 (define-public rust-wyz-0.4
   (package
+    (inherit rust-wyz-0.5)
     (name "rust-wyz")
     (version "0.4.0")
     (source
@@ -72316,12 +72340,7 @@ (define-public rust-wyz-0.4
      `(#:cargo-inputs
        (("rust-once-cell" ,rust-once-cell-1)
         ("rust-tap" ,rust-tap-1)
-        ("rust-typemap" ,rust-typemap-0.3))))
-    (home-page "https://myrrlyn.net/crates/wyz")
-    (synopsis "Collection of utility functions")
-    (description
-     "This package provides a collection of utility functions.")
-    (license license:expat)))
+        ("rust-typemap" ,rust-typemap-0.3))))))
 
 (define-public rust-wyz-0.2
   (package
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #35: v4-0035-gnu-rust-clap-derive-3-Update-to-3.1.18.patch --]
[-- Type: text/x-patch; name=v4-0035-gnu-rust-clap-derive-3-Update-to-3.1.18.patch, Size: 1773 bytes --]

From 098af6dbdb54e9f5137d6b209e012403c8cab4d0 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 5 Aug 2022 14:24:00 +0200
Subject: [PATCH v4 35/37] gnu: rust-clap-derive-3: Update to 3.1.18.

* gnu/packages/crates-io.scm (rust-clap-derive-3): Update to 3.1.18.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d3101cdf7d..a551d5cc6f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11334,7 +11334,7 @@ (define-public rust-clang-sys-0.11
 (define-public rust-clap-derive-3
   (package
     (name "rust-clap-derive")
-    (version "3.0.0-beta.2")
+    (version "3.1.18")
     (source
      (origin
        (method url-fetch)
@@ -11343,17 +11343,15 @@ (define-public rust-clap-derive-3
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "18cn82jhcha7m0nkpi1a03jx8k7aaq5kxfcxnsqpaa8ih5dp23rp"))))
+         "0g53w6qkqcc122bqh51jzfg51147il643idvq1czxkr2x5306ci5"))))
     (build-system cargo-build-system)
-    (arguments
+	(arguments
      `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-heck" ,rust-heck-0.3)
-        ("rust-proc-macro-error"
-         ,rust-proc-macro-error-1)
-        ("rust-proc-macro2" ,rust-proc-macro2-1)
-        ("rust-quote" ,rust-quote-1)
-        ("rust-syn" ,rust-syn-1))))
+       #:cargo-inputs (("rust-heck" ,rust-heck-0.4)
+                       ("rust-proc-macro-error" ,rust-proc-macro-error-1)
+                       ("rust-proc-macro2" ,rust-proc-macro2-1)
+                       ("rust-quote" ,rust-quote-1)
+                       ("rust-syn" ,rust-syn-1))))
     (home-page "https://clap.rs/")
     (synopsis
      "Parse command line argument by defining a struct, derive crate")
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #36: v4-0025-gnu-Add-rust-zbus-1.patch --]
[-- Type: text/x-patch; name=v4-0025-gnu-Add-rust-zbus-1.patch, Size: 2519 bytes --]

From f780c31c1b4608d5b9cc842d17a2ad75c42650b0 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 3 Aug 2022 08:01:37 +0200
Subject: [PATCH v4 25/37] gnu: Add rust-zbus-1.

* gnu/packages/crates-io.scm (rust-zbus-1): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b539637ceb..644bf0e2ac 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -72886,6 +72886,44 @@ (define-public rust-yeslogic-fontconfig-sys-3
 for locating fonts.")
     (license license:expat)))
 
+(define-public rust-zbus-1
+  (package
+    (name "rust-zbus")
+    (version "1.9.3")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "zbus" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0jgwydwjgk16dyrzdbc1k0dnqj9kv9p3fwcv92a7l9np3hlv5glw"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f ;; 12/24 tests fail
+	   #:cargo-inputs (("rust-async-io" ,rust-async-io-1)
+                       ("rust-byteorder" ,rust-byteorder-1)
+                       ("rust-derivative" ,rust-derivative-2)
+                       ("rust-enumflags2" ,rust-enumflags2-0.6)
+                       ("rust-fastrand" ,rust-fastrand-1)
+                       ("rust-futures" ,rust-futures-0.3)
+                       ("rust-nb-connect" ,rust-nb-connect-1)
+                       ("rust-nix" ,rust-nix-0.22)
+                       ("rust-once-cell" ,rust-once-cell-1)
+                       ("rust-polling" ,rust-polling-2)
+                       ("rust-scoped-tls" ,rust-scoped-tls-1)
+                       ("rust-serde" ,rust-serde-1)
+                       ("rust-serde-xml-rs" ,rust-serde-xml-rs-0.4)
+                       ("rust-serde-repr" ,rust-serde-repr-0.1)
+                       ("rust-zbus-macros" ,rust-zbus-macros-1)
+                       ("rust-zvariant" ,rust-zvariant-2))
+       #:cargo-development-inputs (("rust-doc-comment" ,rust-doc-comment-0.3)
+                                   ("rust-ntest" ,rust-ntest-0.7)
+                                   ("rust-zbus-polkit" ,rust-zbus-polkit-1))))
+    (home-page "https://gitlab.freedesktop.org/dbus/zbus/")
+    (synopsis "API for D-Bus communication")
+    (description "API for D-Bus communication")
+    (license license:expat)))
+
 (define-public rust-zvariant-derive-2
   (package
     (name "rust-zvariant-derive")
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #37: v4-0037-gnu-Add-squeekboard.patch --]
[-- Type: text/x-patch; name=v4-0037-gnu-Add-squeekboard.patch, Size: 3384 bytes --]

From 23d0505ff667e7447c5e9c210597b9ab1dcc0de4 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Mon, 27 Dec 2021 20:23:25 +0100
Subject: [PATCH v4 37/37] gnu: Add squeekboard.

* gnu/packages/gnome.scm (squeekboard): New variable.

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 59f794b53f..7a4184851c 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -570,6 +570,60 @@ (define-public seed
     (home-page "https://wiki.gnome.org/Projects/Seed")
     (license license:lgpl2.0+)))
 
+(define-public squeekboard
+  (package
+    (name "squeekboard")
+    (version "1.19.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://gitlab.gnome.org/World/Phosh/squeekboard")
+                    (commit (string-append "v" version))))
+              (sha256
+               (base32
+                "01fxcg7c7cr2xbywn1yhppqx9q8gy5yafl7gnfd3bmnl9z5smq8m"))))
+    (build-system cargo-build-system)
+    (arguments
+     (list #:modules '((ice-9 match)
+                       (ice-9 rdelim)
+                       (guix build cargo-build-system)
+                       (guix build utils))
+           #:cargo-inputs `(("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
+                            ("rust-bitflags" ,rust-bitflags-1.2)
+                            ("rust-gtk-sys" ,rust-gtk-sys-0.14)
+                            ("rust-gtk" ,rust-gtk-0.14)
+                            ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.14)
+                            ("rust-cairo-rs" ,rust-cairo-rs-0.14)
+                            ("rust-gdk" ,rust-gdk-0.14)
+                            ("rust-gio-sys" ,rust-gio-sys-0.14)
+                            ("rust-gio" ,rust-gio-0.14)
+                            ("rust-clap" ,rust-clap-3)
+                            ("rust-maplit" ,rust-maplit-1)
+                            ("rust-serde" ,rust-serde-1)
+                            ("rust-serde-yaml" ,rust-serde-yaml-0.8)
+                            ("rust-xkbcommon" ,rust-xkbcommon-0.4)
+                            ("rust-zbus" ,rust-zbus-1))
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'create-cargo-toml
+                          (lambda* _
+                            (let* ((cargo-in (call-with-input-file "Cargo.toml.in"
+                                               read-string))
+                                   (cargo-dep (call-with-input-file "Cargo.deps.newer"
+                                                read-string)))
+                              (with-output-to-file "Cargo.toml"
+                                (lambda ()
+                                  (display (string-append cargo-in cargo-dep))))
+							  (substitute* "Cargo.toml"
+							  (("@path@/") ""))
+                              (chmod "Cargo.toml" 365)))))))
+    (native-inputs (list python wayland-protocols pkg-config))
+    (inputs (list atk gtk+ glib dbus))
+    (home-page "https://gitlab.gnome.org/World/Phosh/squeekboard")
+    (synopsis "On-screen-keyboard input method for Wayland")
+    (description "This package provides an on-screen-keyboard input
+	method for Wayland.")
+    (license license:gpl3+)))
+
 (define-public libdmapsharing
   (package
     (name "libdmapsharing")
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #38: v4-0019-gnu-Add-rust-ntest-0.7.patch --]
[-- Type: text/x-patch; name=v4-0019-gnu-Add-rust-ntest-0.7.patch, Size: 2392 bytes --]

From 747431fbdadca4d50d99e5d61d7365449911b676 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 3 Aug 2022 11:21:42 +0200
Subject: [PATCH v4 19/37] gnu: Add rust-ntest-0.7.

* gnu/packages/crates-io.scm (rust-ntest-0.7): New variable.
(rust-ntest-0.3): Inherit from above.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d072161ad9..4b32b992a0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -38334,8 +38334,32 @@ (define-public rust-ntapi-0.3
     (description "FFI bindings for Native API")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-ntest-0.7
+  (package
+    (name "rust-ntest")
+    (version "0.7.5")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "ntest" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0i4xsvx52hmcnga2xbjl74hdylz4jy8bc2swcichlvw1di4lwm2w"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-ntest-proc-macro-helper" ,rust-ntest-proc-macro-helper-0.7)
+                       ("rust-ntest-test-cases" ,rust-ntest-test-cases-0.7)
+                       ("rust-ntest-timeout" ,rust-ntest-timeout-0.7))))
+    (home-page "https://github.com/becheran/ntest")
+    (synopsis "Testing framework for Rust")
+    (description "This package provides a testing framework for Rust which
+enhances the built-in library with some useful features.")
+    (license license:expat)))
+
 (define-public rust-ntest-0.3
   (package
+    (inherit rust-ntest-0.7)
     (name "rust-ntest")
     (version "0.3.3")
     (source
@@ -38355,12 +38379,7 @@ (define-public rust-ntest-0.3
        #:cargo-development-inputs
        (("rust-ntest-test-cases" ,rust-ntest-test-cases-0.3)
         ("rust-ntest-timeout" ,rust-ntest-timeout-0.3)
-        ("rust-timebomb" ,rust-timebomb-0.1))))
-    (home-page "https://github.com/becheran/ntest")
-    (synopsis "Testing framework for Rust")
-    (description "This package provides a testing framework for Rust which
-enhances the built-in library with some useful features.")
-    (license license:expat)))
+        ("rust-timebomb" ,rust-timebomb-0.1))))))
 
 (define-public rust-ntest-proc-macro-helper-0.7
   (package
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #39: v4-0009-gnu-Add-rust-object-0.27.patch --]
[-- Type: text/x-patch; name=v4-0009-gnu-Add-rust-object-0.27.patch, Size: 1737 bytes --]

From 1085ccd39360bd2806769874fef46c70a54852c7 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 3 Aug 2022 15:08:30 +0200
Subject: [PATCH v4 09/37] gnu: Add rust-object-0.27.

* gnu/packages/crates-io.scm (rust-object-0.27): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f5ae665b13..40a1fefe41 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -39389,6 +39389,30 @@ (define-public rust-object-0.28
                 ,(package-version rust-indexmap-1)))
              #t)))))))
 
+(define-public rust-object-0.27
+  (package
+    (inherit rust-object-0.28)
+    (name "rust-object")
+    (version "0.27.1")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "object" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1ygv9zgi9wz6q5f2z9xn72i0c97jjr1dgj30kbyicdhxk8zivb37"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
+                       ("rust-crc32fast" ,rust-crc32fast-1)
+                       ("rust-flate2" ,rust-flate2-1)
+                       ("rust-indexmap" ,rust-indexmap-1)
+                       ("rust-memchr" ,rust-memchr-2)
+                       ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
+                       ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
+                       ("rust-wasmparser" ,rust-wasmparser-0.57))))))
+
 (define-public rust-object-0.24
   (package
     (inherit rust-object-0.28)
-- 
2.37.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #40: v4-0031-gnu-Add-rust-bitvec-1.patch --]
[-- Type: text/x-patch; name=v4-0031-gnu-Add-rust-bitvec-1.patch, Size: 2356 bytes --]

From 99ecb764bda2ae92d75551c09c3208938ff894f3 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 5 Aug 2022 14:17:20 +0200
Subject: [PATCH v4 31/37] gnu: Add rust-bitvec-1.

* gnu/packages/crates-io.scm (rust-bitvec-1): New variable.
(rust-bitvec-0.22): Inherit from above.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 64f4d9de4e..db3a00dfd4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7405,8 +7405,34 @@ (define-public rust-bitstream-io-0.8
          "00a6wy54s1dmadm5xz8k2cbsd7ixvm48mlc45bk0fdy0pbra6jk1"))))
     (arguments `(#:skip-build? #t))))
 
+(define-public rust-bitvec-1
+  (package
+    (name "rust-bitvec")
+    (version "1.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "bitvec" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "173ydyj2q5vwj88k6xgjnfsshs4x9wbvjjv7sm0h36r34hn87hhv"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-funty" ,rust-funty-2)
+                       ("rust-radium" ,rust-radium-0.7)
+                       ("rust-serde" ,rust-serde-1)
+                       ("rust-tap" ,rust-tap-1)
+                       ("rust-wyz" ,rust-wyz-0.5))))
+    (home-page "https://bitvecto-rs.github.io/bitvec")
+    (synopsis "Manipulate memory, bit by bit")
+    (description
+     "This package provides a crate for manipulating memory, bit by bit.")
+    (license license:expat)))
+
 (define-public rust-bitvec-0.22
   (package
+    (inherit rust-bitvec-1)
     (name "rust-bitvec")
     (version "0.22.3")
     (source
@@ -7432,12 +7458,7 @@ (define-public rust-bitvec-0.22
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1)
         ("rust-serde-test" ,rust-serde-test-1)
-        ("rust-static-assertions" ,rust-static-assertions-1))))
-    (home-page "https://bitvecto-rs.github.io/bitvec")
-    (synopsis "Manipulate memory, bit by bit")
-    (description
-     "This package provides a crate for manipulating memory, bit by bit.")
-    (license license:expat)))
+        ("rust-static-assertions" ,rust-static-assertions-1))))))
 
 (define-public rust-bitvec-0.20
   (package
-- 
2.37.0


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-08-06 12:07 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-05 13:01 Squeekboard build phodina via

Code repositories for project(s) associated with this inbox:

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.