Subject: Re: [PATCH v4]: gnu: Add phosh.

From: phodina <[email-masked]>
Date: Sun, 14 Aug 2022 20:00:38 +0000

Hi Jonathan and Efraim,

I had time to look into these patches. I added all the neccessary packages for squeekboard and updated the system packages.

However, there is still issue with the build as squeekboard fails to build on missing function implementation. [1]

Efraim, could you please help with the features error? I checked other Guix rust packages but didn't get any hint.

[1] https://gitlab.gnome.org/World/Phosh/squeekboard/-/issues/349

----
Petr 

From d095ecd7bbd71e8b89eb34bde25aa60b20dda662 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Mon, 1 Aug 2022 15:24:22 +0200
Subject: [PATCH v4 02/38] 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 8360708445..7dbdc120bc 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -691,7 +691,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
@@ -699,7 +699,7 @@ (define-public libdrm
                     version ".tar.xz"))
               (sha256
                (base32
-                "127qf1rzhaf13vdd75a58v5q34617hvangjlfnlkcdh37gqcwm65"))))
+                "1zr0hi7k5s7my4q9hyj6ryzg89zyjx24zbqfv3c5rcq9pl87gc00"))))
     (build-system meson-build-system)
     (arguments
      `(#:configure-flags
-- 
2.36.1

From 7589ac66dbe8529cb9e92aaea0e87ea9881df6f5 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Mon, 1 Aug 2022 15:23:38 +0200
Subject: [PATCH v4 03/38] 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 f4dcbf742e..4cc28f4279 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.36.1

From 2dc6d5d450e590f39569601f3086fc37acd3f249 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 17 Nov 2021 10:58:55 +0100
Subject: [PATCH v4 04/38] gnu: Add phoc.

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

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 3c4251286b..e7422e8345 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -72,6 +72,7 @@
 ;;; Copyright © 2022 Leo Nikkilä <[email-masked]>
 ;;; Copyright © 2022 Rene Saavedra <[email-masked]>
 ;;; Copyright © 2022 Alexandros Theodotou <[email-masked]>
+;;; Copyright © 2021, 2022 Petr Hodina <[email-masked]>
 ;;;
 ;;; 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.36.1

From cc9c246a947edb96c09884c0909e492e2d3f7de3 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Mon, 1 Aug 2022 15:22:28 +0200
Subject: [PATCH v4 01/38] 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 037a247243..9acd9be5cd 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1062,7 +1062,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
@@ -1070,7 +1070,7 @@ (define-public wayland-protocols
                     "wayland-protocols-" version ".tar.xz"))
               (sha256
                (base32
-                "0xizccackgwszjhlq7jjiv2z2gwppljx0w32ga91bxlnby8z22kc"))))
+                "04vgllmpmrv14x3x64ns01vgwx4hriljayjkz9idgbv83i63hly5"))))
     (build-system meson-build-system)
     (inputs
      (list wayland))

base-commit: 9355d463290bcc29b0885e18c9b19258934ea0a2
prerequisite-patch-id: 90b8e56fcd1629171e4dca9683932e19cd8179e1
prerequisite-patch-id: bcf680c96fd80f419acad2b92e74b094a3483aea
prerequisite-patch-id: bc5629b26e3193ba99305ee287e1b8a89db2afc4
prerequisite-patch-id: b338136ab9d94db803535f365aa294c23bc24d4d
prerequisite-patch-id: e38cb5580c148c78bf561b9306f2a37a8f4705f0
prerequisite-patch-id: 5b35ab64b941e0eb0157bb30e118c9448ef969e0
prerequisite-patch-id: c2085e87006aef7a9dbd4951f8c3f5bd2f6ec987
prerequisite-patch-id: 56047976e392f77b743c53a844b9c30017ad63c6
prerequisite-patch-id: 97776e4d87d62747c850391b8d5c26305326b8c7
prerequisite-patch-id: 527fec8ce8e80916f9ff9845ae22a51e2476e411
prerequisite-patch-id: 60807c5d8a814dec524bd51d0c0192b74acf50bf
prerequisite-patch-id: 674ab13feb5915355279421fbeb36e783b120e6b
prerequisite-patch-id: e55d303e3447c998fc07563543aee7ca4be5e17e
prerequisite-patch-id: 391f4309d9add7dd204262935fab660351441c18
prerequisite-patch-id: 4c6cdf5b51fb8cf4ebe255be941b34ba64471233
prerequisite-patch-id: a3d966442a141daa5fb2b3560efc51f035ff6f56
prerequisite-patch-id: 2be59aca8280cd4ecefdf68c5e5528057f9f9d35
prerequisite-patch-id: e1f64945128573185e0b9a1501581f105be6fd9f
prerequisite-patch-id: 3245559810dd4cb0bf669dcdb49f930b1baca98f
prerequisite-patch-id: 9003939890a867fb874befda13f0da056aefc20e
prerequisite-patch-id: 6c0f4e139478356f91447c6b30ac480424a199ba
prerequisite-patch-id: 995f45fda566ff46435e4e8a073808e6b2395e20
prerequisite-patch-id: 742ff67505fcb66fb6092e391dce0233136b5e3a
prerequisite-patch-id: 8b35f7eb917658002bef009f30bff1d209d9c0ce
prerequisite-patch-id: d71b20f0c5b7af8bd10350a03e755a1f4b798895
prerequisite-patch-id: c8a25792df3b4967cc7f91da75df0d5d4bb595d8
prerequisite-patch-id: b925a30492439fbb8e8ef3492d51312a65fa6e61
prerequisite-patch-id: e6e6ef826a16f0b0c3101193b33c1bf347cfea9a
prerequisite-patch-id: 3717a000d1232a4f831b4b505c9bf42a3d8c8aa3
prerequisite-patch-id: ed538b33d0ec4247234e2acf19ba29331b42b912
prerequisite-patch-id: fadf65adeb2e24d470468faec9891ae0e1536f7b
prerequisite-patch-id: 901e5202841f9203226f0f0413b8410e60794722
prerequisite-patch-id: a516f59895535807848c3b4cf4853083cbe1c756
prerequisite-patch-id: 7c582dda63f1adf2ae60649dcfd32a8f22e0e8d0
prerequisite-patch-id: f95d16f88cb14f2d3c2511dac8634750fb994846
prerequisite-patch-id: 913d8b358d7ea636ef879ac0638e5e28ce85ad47
prerequisite-patch-id: 1d0e4fbeb62b85be894c5d5fce9c188f8118bd83
prerequisite-patch-id: 6e5528421a90c5dae436d7fa1313d17521702ffe
prerequisite-patch-id: 71bf93ed22e061c3d566faa864fbddbaa5cb9cb7
prerequisite-patch-id: ae9730dc17822fb1ce4fad7036f7d18d04498325
prerequisite-patch-id: 22185adc459ca4c0bf69b09cab51024323fbd0b5
prerequisite-patch-id: 19a97371cbe280b4efa01ac3a345d871cd944c01
prerequisite-patch-id: 836f0df999d9d8a918a598924e4824eace803689
prerequisite-patch-id: c5fd51994c8ec77006912518d3b729ab78f83523
prerequisite-patch-id: 5aa2e5fb05205468c3f30933f3f9082ec7ae43c9
prerequisite-patch-id: 474ab219d065f9dd8a706c750c4ee3ec21f446f3
prerequisite-patch-id: 76324f5a7ccbde182b33a8b623b452062e55e71e
prerequisite-patch-id: 0373ccce5fcdeb0b1b0fc7df7bc96442a39cb1f7
prerequisite-patch-id: 92631d4f77e355a22f4b0b007aa0e2c5a5f72dac
prerequisite-patch-id: a129221c2e4a5b8cf2b1edab07ac9467ed149fd6
prerequisite-patch-id: 26d57378687d7663b026ac69e04e5871ceadb5f9
prerequisite-patch-id: 18b4accb563ba2428a48f44ee4292d7094d64f73
prerequisite-patch-id: ad5750b28221ff54d6b867c98b7af5fb25d5aac9
prerequisite-patch-id: b58f91213ba81e1db0ce24bbd1009481ab3fdad4
prerequisite-patch-id: 8eaecc1a33eb67989114008e382d9fec5ec4f4d1
prerequisite-patch-id: 3a0b984c46eb1cb8c40f48af526f375e0a9ddfd1
prerequisite-patch-id: c4c6a1c48fba77d666b65b0aaf59413158d1332d
prerequisite-patch-id: 5d24734b901412513f40b436c96c1c98774eb217
prerequisite-patch-id: 5afabecfdf58c2d6fee956e10dce31ca7536c2c4
prerequisite-patch-id: eb788af4b0b03ff62a3e7f38f94359b8317c44e7
prerequisite-patch-id: f8a4eae170c425984ecaaf31c9d821642a40144b
prerequisite-patch-id: bca4c01e6aa9c5b816af3e0c4c1328abacd07fbe
prerequisite-patch-id: 4c5056da0b790fd3b9aeccaab451cb1be5d772e8
prerequisite-patch-id: 531a2071f8170f8bcbd0b071d290743c1dbe46fc
prerequisite-patch-id: 5ad28e6c01a04faf18ef296f3cc6a4a8ff54f007
prerequisite-patch-id: ef4209611e9445417b1e4c4423b7600c9dbe91ab
prerequisite-patch-id: d65b32d77389b4401e12ad94a01091a0cfc113cd
prerequisite-patch-id: 5758a9dc85bcc47fa9ce8320d3523ff6a9496651
prerequisite-patch-id: 633e587e4c0b47577d09bf9fb9b2312a0d6df250
prerequisite-patch-id: abe1e542a7ce92ba3fb5509016b5012ec8fdeac7
prerequisite-patch-id: 0bde921f1e4efa811010c8f2b9b8980020aeac97
prerequisite-patch-id: 4ecf78ee5094a0cd899d3410b66b74ebbd7322de
prerequisite-patch-id: 2ed89b7bd8991e4d69d6d2c2db4d06f4fd4bce92
prerequisite-patch-id: 0ebe0a484430b3cac6071ad7dbb19f73a7a78929
prerequisite-patch-id: 826a3ca452f3afb171849142ee2be35495737cd6
prerequisite-patch-id: 5ffe6993fcfbd1c693624f0b151748aba91b39c5
prerequisite-patch-id: dc4a12b44b75f099e16f73cd5ababb131d51a55d
prerequisite-patch-id: e1c16599b86391120eb6c4e2fa11a37bfa2b97df
prerequisite-patch-id: f3618060608b56e00dfccf9ed6e37bcf8f9656f4
prerequisite-patch-id: 5038a7868633638d56f01f830c803d6fb6632a39
prerequisite-patch-id: b9259d9e14edf91d202c868a998b798706233a34
prerequisite-patch-id: bb7cc63d9cdf6471dcc93984e539fea99c090770
prerequisite-patch-id: 8b728a4e1df62070d20b277c15fe1b95fa3b139d
prerequisite-patch-id: 1eb2c89dd178b93e3ad0bf6e5b8bccc9b7dd8d4a
prerequisite-patch-id: 0dba9ce79fd2a5fd23bba276d666e2bb07c1c6a7
prerequisite-patch-id: adce706b1d8facc9ea2c664b5f54a576f8a60306
prerequisite-patch-id: 4698aefdb4eb9a8d5f94f1c4dfacc54cf67e0b2a
prerequisite-patch-id: 171ab57e82fa09e5447e6b4887f54c5273654ae1
prerequisite-patch-id: d843e1ea71e13f165c69613f626eb46892f332fd
prerequisite-patch-id: 0660328b85efe69adc964f5cbcac1bc7310ab050
prerequisite-patch-id: 301ec50f09090733020acadb6be0c5f0a1c751ca
prerequisite-patch-id: aced6ff8e5e86bb25c9f2f49162881ddaaee99cb
prerequisite-patch-id: f58f93b02a6eb3e4c7784d66866d0392017bc173
prerequisite-patch-id: 172bb4d27360a3d5110ff67487adee6ce3b819ac
prerequisite-patch-id: 20844855315bf8d5a780a21fd88fca36bd3f4840
prerequisite-patch-id: e62aabfbd6fe82df0aaecf4740ed728099a4e934
prerequisite-patch-id: 83425bd0207d369f1a7f26cc962bc2d5b21ea26b
prerequisite-patch-id: 175fd7632da5ec6cc96aa642b9d0b1465b20c5b8
prerequisite-patch-id: f42c225fc6a723841d8eb558c68725e682219e93
prerequisite-patch-id: b9c803184de30df8ad757021ed60bd5620de74ce
prerequisite-patch-id: ce7b0414f7f80df809a7adcd79e57fc54085b9ac
prerequisite-patch-id: 9303bf51e15f9b87ea93ce32d51cfe5d5c225411
prerequisite-patch-id: ef4a9b69fa2cb3c018458aaa11bc7b997a49972a
prerequisite-patch-id: 583832caf6b9ab88778df78e476d91c3fb21aea9
prerequisite-patch-id: 358f58389fe59e3420f0d437528a14c20c8c6bc4
prerequisite-patch-id: 5b10e270541830c1e19c3412658fc6be015dac10
prerequisite-patch-id: 85575fb28bd6efde78116f7d61e203e178d2ec78
prerequisite-patch-id: 118c9796e0f19c40e83ebcffba15d62b731f5c55
prerequisite-patch-id: 7e0410033d34d54d7531eea285708d73e4efeb22
prerequisite-patch-id: 58f89995c079f01ec1abda43beb4abc5381f8368
prerequisite-patch-id: c184b325ccf7d42a0948cbbecd20ddabab593914
prerequisite-patch-id: 38d5c3dae86630cccce62c9e010c347aa7cf765a
prerequisite-patch-id: 6a01bf37ee244426d0db8971ff8d35aa6b253b63
prerequisite-patch-id: 194cd52fd68b0023be0dcfdacc2dadeb07ca384e
prerequisite-patch-id: 4e4528389f09944663d044b76dac7ddec5602ecc
prerequisite-patch-id: 16fa627146a033311d0d00c43fd5ca8933293d23
prerequisite-patch-id: a5e02acc3338b2c1fbf9658358b578dd01999c10
prerequisite-patch-id: 8f76bd27f94e5124fca5b296fc01761d9c31d043
prerequisite-patch-id: 6bfdeda1a074f6767abcf131d53cbebd27bbd700
prerequisite-patch-id: beab3a80a3a15de26cddaef25e3d1bdf89e137a7
prerequisite-patch-id: afcfd52ddfe693b2768c2a30ab6ac740176afc9e
prerequisite-patch-id: 359df68a4ce39cc69a333d1b270b47eacdd4e68a
prerequisite-patch-id: 609b35ded90cdca19c8ab3241184ee766213a6f8
prerequisite-patch-id: 3784780cca05290479992fb40d404042463c4923
prerequisite-patch-id: 24d49c17f3f88ad16bd5a4144d5cc820635c0a08
prerequisite-patch-id: 621cd3d65aeeb53e9dc8865c86037e735f87710b
prerequisite-patch-id: 038df802ac0b2b823b01b6a05ac95139835d0e91
prerequisite-patch-id: 0ecba81c2df95bd483a978f827f6b8bf6b694f28
prerequisite-patch-id: 19a2eecbd5730e42f876f3a7a77ceb6473bcb954
prerequisite-patch-id: cb1ba957e07226ae21dd2b852aa596209af6298f
prerequisite-patch-id: 25e04ab286cc740e85143d4e5265b4ba46cbbaa0
prerequisite-patch-id: 85c5bf924bc9cc41ff30498258a90433d3b4bddf
prerequisite-patch-id: f43fdf3c5421264fce4e4ab3ea9a65a367a1d438
prerequisite-patch-id: dc9504f90f8baff5751b2852ae6cc50e7bdc018e
prerequisite-patch-id: 9cbba0e4353712d9b235d670f029287ce70a318d
prerequisite-patch-id: ec2c49dc0584d4d547f28cf5308c15449144301a
prerequisite-patch-id: 5fa88b46630d9135c6e33ab7e40ac1490aba241d
prerequisite-patch-id: ea6873e8e129144dc29e0ab9a544ce2d2e4ec4e0
prerequisite-patch-id: 86db145b5ac4286b0ea9d67c9d60a7cc9a22f650
prerequisite-patch-id: ce8bac875557b3863b09a3b5b5255ae8f6b81990
prerequisite-patch-id: 740a3b0eee31a2ee766a3229bd9774fb3e5e91ee
prerequisite-patch-id: f2cab640f0634b84628367d5d081d0067b0efa66
prerequisite-patch-id: 6f47d0b0f72e5c673adeca3f49c0501c0342a114
prerequisite-patch-id: 8ac822e91a81085788939ae95372edcbfd7413a1
prerequisite-patch-id: d03fb02a6786d816e7ef2ded785ea6efb4f61bfa
prerequisite-patch-id: cf1ae6430f636dad058532b7a6f5f087a722ec40
prerequisite-patch-id: 0b13caad86ca0c7a5cb3e708f10e950c9aa82b8e
prerequisite-patch-id: 7a208cf3f284f75eaa2e6d0c5f94647f4fc728f5
prerequisite-patch-id: ee503340184cdf4f9cf243fa408c2e412576d44b
prerequisite-patch-id: 17b80a197037c7b66940e92370f013c2f7bef0c8
prerequisite-patch-id: f604a3619b758d990a1bea56b4181d48c87ae7c0
prerequisite-patch-id: 5fc1674d4dd31c4cbc494f79b55d332b80ba6fda
prerequisite-patch-id: 8bff801d837d172648f9b23efa9517d67c5fbe6e
prerequisite-patch-id: b8567995b357c248dd0fbbff354f9c82e261c739
prerequisite-patch-id: d2df963867262d850666fafbcfcedb1ff2e7ac15
prerequisite-patch-id: 7518bcfcb8c7045a90ad8a7c2c9d1b11f2852e49
prerequisite-patch-id: f7e55b535ce6b82590753ebe1611021b22b37129
prerequisite-patch-id: 5136e384c6f115c98cecb3a987e2aef8884ee307
prerequisite-patch-id: 71cc3a9e5619d8e407b5f1193e550adc4ace9abf
prerequisite-patch-id: c1c00f4ef15cf745b551b0bca1e6769e46911510
prerequisite-patch-id: 1814af9b890e426cc52088a7f15df52b70873a20
prerequisite-patch-id: 7c61c3da5e5c16fc733084b231a2147ff65f521c
prerequisite-patch-id: b8a1d3ac793aa2e4f9bad1855c60a3b5eed348b7
prerequisite-patch-id: 2a2b20bda82e67e55294c5039c5fd239435b8665
prerequisite-patch-id: d414a542cfcd2bc83c93e731009e262e197365d8
prerequisite-patch-id: b39d06af44d38845add906db3cd602c81bd99add
prerequisite-patch-id: e36b85e9300f9f8076ec3512da6607025832f722
prerequisite-patch-id: 566b576e1ce540614a644cba76893235e713cc0d
prerequisite-patch-id: fd33ca56bc64bbf90747277d25fe515387a2f279
prerequisite-patch-id: 9edf6288e2d88bdb0eb7572faf2414518541a80c
prerequisite-patch-id: 8b1bb3d66ff34b8f044d4fb498c7c5ff98764b3c
prerequisite-patch-id: 44f0e5305a19e44e1b572e7c4ca1337b4a6b012b
prerequisite-patch-id: edc6003ff823e6265e8b4b04075b2c82661e275d
prerequisite-patch-id: 16f88705a5afde68b8eb7297ee91c5904033d54c
prerequisite-patch-id: 147d520d98a540f7645f143cfb7ce51efed5a1c9
prerequisite-patch-id: 3988b109049e408a26a33eb093e75d75ac59e7a6
prerequisite-patch-id: 8683f93e1749ba98fedeef51e8ef9a7e5c1fe557
prerequisite-patch-id: 457bc84f1e1a7d560fa02321c1e806a983c64d1f
prerequisite-patch-id: 59d7fa8a3ca057037ce4ce5a01d61a5184c69a5c
prerequisite-patch-id: f0c20f3f6cd127951ef0b98bfcc3475a84228193
prerequisite-patch-id: 744639cdcd71af8cd2bbd932e20af659f154239c
prerequisite-patch-id: b2bb6eb06cefd1154b12d19884cc2428e446f5ff
prerequisite-patch-id: f3862e1dd776c912c74250929f39988924bd3395
prerequisite-patch-id: 1af5fe46e11507025c35a6fa94192ec22cc84dc7
prerequisite-patch-id: a3ddabb65830a42cf25a9fe3127fcb2b0f0b9087
prerequisite-patch-id: d16e04f4d75698c285dac426c0e81622f27e4983
prerequisite-patch-id: 30b7180107dac98573c4b923d59ca7ecc70ed97a
prerequisite-patch-id: e52caf0c2a8c2f3f30720b5b066e379ca3a324b1
prerequisite-patch-id: c8ef774b1b89fd7f08d4d260e9c7f894682f938c
prerequisite-patch-id: acf02dba7604f17789f9716b71eab7368dd1e47b
prerequisite-patch-id: 7987418a53be489a6e903aae4a457d67e7cbb0d6
prerequisite-patch-id: bdab9ea4dba716b3b6df0855c167e58471a2f612
prerequisite-patch-id: e335ddf669b8560875e6eeae459495cad9a43fe9
prerequisite-patch-id: 4f4e94269f0448a78fa50c1aab52e9e7e0078a25
prerequisite-patch-id: 8c8c44a2fae2a42b90c83a29465c88dd374eec6a
prerequisite-patch-id: 4c4d680cafb0eb67e0ff5ea44ba0d9afe9ed40e2
prerequisite-patch-id: 02f0dc8d510d8768f44f1525274fb8641b0689fe
prerequisite-patch-id: 4e08513d98eafda803c8050cf2bea27e78729fc5
prerequisite-patch-id: 6663b7c29ea01b45ef896c01b9c7690b5c96a3ce
prerequisite-patch-id: 0006d56d6319c7d6bc3a028c690a74e619eb20dd
prerequisite-patch-id: e85fd777bb68fa538ec4d51c54161a1ce40c2ce5
prerequisite-patch-id: 194c37599c4d815c222aefee1052c5e413710d6b
prerequisite-patch-id: 4893fc491e7def6d374d8b23d203330c5e8f7e40
prerequisite-patch-id: 35f9708f236f142a025ce565456d2ee67020effe
prerequisite-patch-id: 5c7ebabe6dd74bf04bbcb7bc290acb36162b4e0a
prerequisite-patch-id: 579d37b8b7eebcd92411bc9b40ddf54ea3651c18
prerequisite-patch-id: 74ab71ff28158afdd4085ed213bc2da24f906c13
prerequisite-patch-id: 02d8c0f5f8ed4c2ba55e145f93894d6366bdfd64
prerequisite-patch-id: bdeb9d8105aff6958535335cb0509c59e9f30452
prerequisite-patch-id: 788672b66a32bc7a8d719b92059d9d1dc9ac31a4
prerequisite-patch-id: 4b09baae3a3de1ca92635a8b798eef94ee780afa
prerequisite-patch-id: 1e80a6237a2469eaaf16421b7e446142888d7bc6
prerequisite-patch-id: 0f6899375ee02888ceeb74aaabc67ee324a3aa5c
prerequisite-patch-id: 31b87483846d01322b13a4dff6822b2d7748819a
prerequisite-patch-id: dce8c740c08b67489fc71732ce451d37a15f29ce
prerequisite-patch-id: 6ed1bb91d1071fde820fefa48f91059608476fd8
prerequisite-patch-id: bc860d66dfffb6a7377f1d912e31c8baee039d6a
prerequisite-patch-id: 6369cae98b8042ae1215a42e15de38d7e29e457c
prerequisite-patch-id: 4100c64c9cac786521a6a5f61edc96d80a84a534
prerequisite-patch-id: 0ba71e20405adf057d655baafeffe08671cde9cf
prerequisite-patch-id: e96bacafcf941a9d18a249db276f8574a95c7725
prerequisite-patch-id: fbb33925da0e8721eeeb18aeec0785220ac5e627
prerequisite-patch-id: 84ea429b52d85496b52da5a9717cb9da0082d7d3
prerequisite-patch-id: 844096ad74fad245372f966b55ceecbbb547a5bc
prerequisite-patch-id: 2ffc77d78499161f2f849e8c2e27981d1fbe78b1
prerequisite-patch-id: 0f923e44e8be041ad82e0b6af55d55809141b238
prerequisite-patch-id: c6edeb1f88ae2ded3a0d68d29a7432a91cc7e782
prerequisite-patch-id: 33a639abdad5b9513bb39b55244e12e6acee510b
prerequisite-patch-id: 8d0129c4671a7efef5391807a465dabb338d094b
prerequisite-patch-id: 73f16f75a7557407b77698c0896fd50bab9beb41
prerequisite-patch-id: 3c851f45feb4790b93f0306f10f4b5edeaa96e72
prerequisite-patch-id: 7022f4a700cb01d363bc00f827c728f5bae186b4
prerequisite-patch-id: 00a86a92bbf3e306bce06b712263189aef71a4f4
prerequisite-patch-id: 521d06773da35c86d3eb1798b8d1f3e3be80ae1a
prerequisite-patch-id: 3a2f7e625d051fdd8f26ecc03a5bb7a215d75c08
prerequisite-patch-id: 002a108f2431f6c1454269408dcad7440060193e
prerequisite-patch-id: a920f9d1e440a7dc374426927ac23ca69d0f38e4
prerequisite-patch-id: 4b938d75c14b0eee99b826c608aad5abd9ca89f1
prerequisite-patch-id: c18a4a83cd9cb909434f826252d0d27e7fdd684d
prerequisite-patch-id: 81809aa5507bce8852c5be0cdc1ffe28b5a2e22d
prerequisite-patch-id: f49567beb02536c5ea4d9488c9beffe0eaaddf90
prerequisite-patch-id: 5e3586fd241ba03b71211f5d6767335ec568d50f
prerequisite-patch-id: 72191ec47cb3876c5fcd6233880dea7dfc1b165f
prerequisite-patch-id: 31f2a64d0d8849134b3e37cc5cfc2a9e54b80f2a
prerequisite-patch-id: 4cd5dd70ec7313843a0591db0033a5416225e02a
prerequisite-patch-id: 8997c8ef7221e49640b589ee3c28176fcc939e62
prerequisite-patch-id: eff6bb57aa21c8364a5ea53609cbfb7fec1668b5
prerequisite-patch-id: 28360c780872f0131eaf22e18a8d09319208538e
prerequisite-patch-id: ff082de46e0b12cd169c0be752f13ead234dc18d
prerequisite-patch-id: 6d151eb5966cc0e23c3292e24a0932f6ddce6965
prerequisite-patch-id: 54ed0ae103cd2462390dd111384a2251c3a1c7e4
prerequisite-patch-id: 08d395f0dbbe04d79b419c00a40f8c05800bd4db
prerequisite-patch-id: dd72459fb56ac6d900bdd09b6e6f8203be6dcdcb
prerequisite-patch-id: df2c204e048c16457c26112c99a8ebb00f49c026
prerequisite-patch-id: ca8d058d35e1c5ee1c3ee578128cc58c1af449a8
prerequisite-patch-id: 6cff61a512cac6d77b571c6e2ddb38b6662e536c
prerequisite-patch-id: 6d38f39c9f0407392191b51c0efcbda010467461
prerequisite-patch-id: f09b38a272c0a8c33d106fc446fbe9843079cc06
prerequisite-patch-id: 7dfdb6daabdd3781ee0df403bcc15609729cbc54
prerequisite-patch-id: 4e63299c119e60a95792d8ddc730dbe6adf7b710
prerequisite-patch-id: fb6c33b3b12e52384a4f31a47534e5f6282e5c9b
prerequisite-patch-id: 4a2a7c5324325941ff9a04fde7ba1c2f9f1d133f
prerequisite-patch-id: 5720bcf834905944989ee97c43982a44b630b80f
prerequisite-patch-id: 632d24b61ca1ab2a63640e35f04eed495294f633
prerequisite-patch-id: 1f62a3cfc36ac362559dedc675258417bd4346f7
prerequisite-patch-id: a28f4db489a4cfa73459d788c8861c975d08f4e8
prerequisite-patch-id: 5a9bf23fb2ba2dfdea5df4d330c622c19d7f59a6
prerequisite-patch-id: dde3befb54e4f26f89311395a657cbcf1ddc2fbd
prerequisite-patch-id: a3cdd3a7010710fda3fa22066237f977afd811cc
prerequisite-patch-id: 8a5ec6d378f81267b07b14eafab73ce7d45837ca
prerequisite-patch-id: b409e5063f4a50a201f0c0f6caaeb8df0db73d99
prerequisite-patch-id: 6506c7a0a46c7438c57288cb2d705e2ab0ab7138
prerequisite-patch-id: 9ad193de5f9687d466926499a1b58959b2d56433
prerequisite-patch-id: eb1dce262776d20936fb898c5578feb552afbfec
prerequisite-patch-id: c1721484d754048ab0ec9521cd345565a22b373e
prerequisite-patch-id: 8f6b59acb95a0c859067aad299eaa2211438cbff
prerequisite-patch-id: 261e5414e92d4b1feeb2cecf7a789e13204fc856
prerequisite-patch-id: 3f1b36afb9be72bb7f7bd45ae26ee68873727790
prerequisite-patch-id: 89e7cf750cbca63d8f7603fa6fe28114f3227e33
prerequisite-patch-id: b1b29745fb5dadd0188fbc28b7230b32293b911d
prerequisite-patch-id: a4b36778abf0205a7912ad3a52b075db636044a1
prerequisite-patch-id: 787cb5ebd3a295b76b67dc99adbe7dacad71eaef
prerequisite-patch-id: ed13c85a446adbc0361d6b3b355bb7643b5bc256
prerequisite-patch-id: af78f131d73fffd0df0f5118717295d22293384f
prerequisite-patch-id: b6e4c1383fe48769afaccff9ce230ce2b3d96d25
prerequisite-patch-id: abf4bf5e43c3add35eaf0a8f6a5bf29e02bb8479
prerequisite-patch-id: 8ec883209aa9b31cc2c940553bc8628288e4d772
prerequisite-patch-id: 3f38d4ae7f39365fcba2764ced432af8e4284a79
prerequisite-patch-id: bf47aa3563c7bf5902c7ae06282846072f1d1517
prerequisite-patch-id: 6c24fb90f292ed3c5daefe80f219b5e00828913a
prerequisite-patch-id: b7d5e3eaa4a6c6e23776dc65254cbb4d21d58bda
prerequisite-patch-id: bedfd32f752ec0ea1f9e457997e9429e46ba2667
prerequisite-patch-id: 040b0c20b04cc37aac4a0135b1d1a65bb762cd54
prerequisite-patch-id: 23d294ebd080e430351b88f90a0a7b2062814686
prerequisite-patch-id: 5f23ac14bfffd33e86a7c5add3addaec1c4c40f8
prerequisite-patch-id: e0edcd803183e738b1a4da585a54a7074369624f
prerequisite-patch-id: 84579028ca7600c8fc119558b526c6bb3349c951
prerequisite-patch-id: 4677856672fc932c0fa32719ee425f79dcf9c582
prerequisite-patch-id: 3c3373c575ef5097c90730d339cfdc21cca13841
prerequisite-patch-id: 1367294d5487085fa5d0e3ba06f48ac193feef44
prerequisite-patch-id: 26365f56a6565e52077fab8d1b44db6de9977aa4
prerequisite-patch-id: 5a7889f92ad1553501214b637ffeab2c74d4a81e
prerequisite-patch-id: 8ac29fcb6c7fc591d354d165105462787825a95e
prerequisite-patch-id: b3d4fa9263d6142878b3c4b51bfce3b84a0dcb75
prerequisite-patch-id: c24735fe40afb9ca5ac03dff6318f1511146de0e
prerequisite-patch-id: 83cb975a8ee963248723ea513500b386a2a31f1d
prerequisite-patch-id: ba264054d58d183db9da6a850b911119991c286d
prerequisite-patch-id: 097893decca4717f21e202f38e56ea4851341671
prerequisite-patch-id: 092768a9462b67df1b340b85ca340ac8eed02e2c
prerequisite-patch-id: f2586eb4ed73931359c8c5a07aa0121d0f1d18b1
prerequisite-patch-id: c7165ef081b10e4052bc65caeb5fcfb64d9a0bae
prerequisite-patch-id: 84e0b7967dbbbc5e816452c3ddf1feecc39b90d1
prerequisite-patch-id: c3a0d497b295c355617f87deddcd1353f4c588d6
prerequisite-patch-id: 98c407847ffd9651133354e6b19898e76e56fd6a
prerequisite-patch-id: fe7a6d23bd398cb78adf0ede9c0194f73f8f1c44
prerequisite-patch-id: ecc79204a4a373dfb553da0b48bfd280de09932c
prerequisite-patch-id: 3303019f565e82687e6e35db6eff6e406a8a04cf
prerequisite-patch-id: e623763c269cd3ce1af7008bc15e72a351b463a7
prerequisite-patch-id: bd2b34ba18df59226396715eb856d5dbaa9c48bd
prerequisite-patch-id: 1399e83a1c6796bc1675892ba8d62057744f16a8
prerequisite-patch-id: f022131d303d6471f98fd9e8f5e64c274e379e6e
prerequisite-patch-id: d4ed200c406a504b29bf549c57d7fc874729b5f9
prerequisite-patch-id: 122d818535b0d05cd6b48d7433f57fe8aec94315
prerequisite-patch-id: 0a6fcfc670c3f36106e8589c22c9753792ff2f30
prerequisite-patch-id: a8622748f6f9824786e0afea8759633ac9125bd6
prerequisite-patch-id: 38f93023ed3a8020d00ada53549075f3bf698371
prerequisite-patch-id: b89895923b626ffa38341c052b422cc0f874bc76
prerequisite-patch-id: 58198a57716dba9ddc01ca53478e383acb71bec6
prerequisite-patch-id: f7b08ab88364a47bbd330aaffba97040ead5fb82
prerequisite-patch-id: 21e0e34b9cd98adf183fec5921e838dd4dadfe29
prerequisite-patch-id: 4676c75b04e2f394f27816a526d4d3989792b2c3
prerequisite-patch-id: 758c986b916374442699f3fe497e7db7c2e2f761
prerequisite-patch-id: 9e664cc695fb7b9aa8206c810ad65370271e4f9f
prerequisite-patch-id: ab61c1c017c34919bdc3913a3286f43c7c28d5fa
prerequisite-patch-id: d3f8c83f7c58e52bd1255eab6b994fa81e1c2a23
prerequisite-patch-id: f2d80b00af3aa151eb0459036daba38694b4253a
prerequisite-patch-id: 7553222060235e3c98d76f15314bb7d84043ce0e
prerequisite-patch-id: 35041474eabd0590d35f97e4c79e300dc763898b
prerequisite-patch-id: 8880dcbbcca0a294d8ae63bf9f7c459b70ed1d8e
prerequisite-patch-id: d1be4a7215cd6e4132505356a0262d82bf6d8587
prerequisite-patch-id: cbd3c7dff3b60f06ac03121a7e4c5644d8581789
prerequisite-patch-id: 1b684b938cb8ac866ceed62111cd4edadd54f71d
prerequisite-patch-id: 68fea9bcb6dad9ebfe2dc7fd1f238cc3cd60a49a
prerequisite-patch-id: 258b5f0c790204b75ba33a4cee2af8777dc222a1
prerequisite-patch-id: 8f593862e6024b8e4ff828de13e4ac4160d5fcea
prerequisite-patch-id: 192b30b337ac3faf967a042e9f6d3e7a1866f480
prerequisite-patch-id: 9a32f41de125444c4643d20b58cca4cac991039d
prerequisite-patch-id: bc458a055c4ac2c48f4e08c1502e560ba6480f81
prerequisite-patch-id: de88cef0a3db563ece6e6e3efc09841815593753
prerequisite-patch-id: f65f09fcd78e448cdc8d4be62e3be1f37d6a5aa3
prerequisite-patch-id: 60a8eea516983cbd56f40f270a1a7065e9e18ef9
prerequisite-patch-id: 65d04dc4f2a6f76a51c9097ad69e5232b364c0be
prerequisite-patch-id: a8b142b053ceef60feb7fc413d85c1b21a7f4199
prerequisite-patch-id: 64a950771b66ab056a4cf2f298271d658777fd63
prerequisite-patch-id: 0f1b59f8ceb0d302ae41f50d5038c1edad9bd6f7
prerequisite-patch-id: e37c5646f7a2af4c3e82f617fa57d837f7c596f0
prerequisite-patch-id: e8edd4caaf503ef333e96357f4c0459680a304d8
prerequisite-patch-id: 4af7e9f929fc1f063ed950b8210ed36480353671
prerequisite-patch-id: 9d52afcf31cae25210a4995f051ca847fb614f5b
prerequisite-patch-id: 94a92bbabf359750465843ee45e1f41bb0bf17b4
prerequisite-patch-id: eb095d28cfb981ae37d09ae3a3abca221d9011f8
prerequisite-patch-id: efa994bb6914b914450b2aa5ea603fa853f7b196
prerequisite-patch-id: 49e63c0815a2af027d9f3d6e48eef901a39c63d6
prerequisite-patch-id: 34f6bf9189c50ac07370c10501e65f020d0d5924
prerequisite-patch-id: cb2926a2d0bc58080a131300da10449d1904ec72
prerequisite-patch-id: a297cf51da3d956ba33fd38fe15dd1aa72e39488
prerequisite-patch-id: 151b484a92822aea59ed2f870b7440425475d0f7
prerequisite-patch-id: a65a5764adde8faedcd7bee2332277a1cf3c829e
prerequisite-patch-id: f9bd4e8acdbb775210a256bd621d930c826be008
prerequisite-patch-id: fa64dcf2f3d4f7b1f143ca8581ac121c5522e305
prerequisite-patch-id: d1a3b367d5651e20351eb3a60bf440a038dd78a8
prerequisite-patch-id: 8775d46cbb156a07779e83b7313e2241e0ab4a16
prerequisite-patch-id: 337520b6982054ff6feda1d17ee5e2e3c8775a77
prerequisite-patch-id: 6893cf4a12aab60e1032295e6110c0ea1348bf02
prerequisite-patch-id: 1cc8f05c59d5fccdb4bc066973eb9fcec1c8a8aa
prerequisite-patch-id: 6e7e0df43c1abc2cbf314d6fc884ded1222639a9
prerequisite-patch-id: 049183673546856628a7a00a16d1a116b2c9f36a
prerequisite-patch-id: ce32fe761da51f2a1d0656957c49c0d5a0962bef
prerequisite-patch-id: 35e302766407958eb86f418e81147761ad12f5ac
prerequisite-patch-id: ba71e70c684ff65129d2ff59c2ccfc0953283c94
prerequisite-patch-id: d14c832c9e94f9109d78ec4f23f1b03720e7c725
prerequisite-patch-id: ca94cb57432697e6e3a71042d8a3eacc23040455
prerequisite-patch-id: b9fbbdb325f22a199779ab3bb0de9404c73f4f51
prerequisite-patch-id: bfa29a623d0f811e5e0ad05126927a09999e2c5d
prerequisite-patch-id: 3ca48e7ea496732a5dbcd879327c4abc2e74b641
prerequisite-patch-id: 56990fa03ce84ee36ebaa392d238a87e452c2ef6
prerequisite-patch-id: 8acdca4ceabbaa75251f29e3e68185e7ea0c8d8d
prerequisite-patch-id: 0027c56ddaebf5c7a8266b8361998de31c65b14b
prerequisite-patch-id: adf26afc50db0b36eb3bbc2bd9dc19aa7a1e356c
prerequisite-patch-id: 9e96f32bf59de1aa052a1b89e6f2443c2220433e
prerequisite-patch-id: f72e6ed163fb1aa68c0f5960b1a8e0fb681119f2
prerequisite-patch-id: 2e8bd3a5e66e5b68500afd9faabef62b69029346
prerequisite-patch-id: f5cb4aa5d9d314043d4a4e90e9d962f54f102ac7
prerequisite-patch-id: e23faba52486800cbbb5cb97e4e6712a67d2836d
prerequisite-patch-id: d9c12bacaabb8d8dcf3cb3b363f2ac05c69ea372
prerequisite-patch-id: 0970c356b0b6b9b86478410f6bccd5370bd9c625
prerequisite-patch-id: 7617deb2043275962a58fb7de66728daf438f9da
prerequisite-patch-id: 0f440466591ad9c0e3927a897c14777254941fae
prerequisite-patch-id: d66b0f20607ebba6a6566da8945f373041d48a25
prerequisite-patch-id: df07ac09b540815f118ceca544cd7c9935daf130
prerequisite-patch-id: 872de8fd1d9e697a2cc7244d423e0dc44f83d0a2
prerequisite-patch-id: 56f5337cbdff97f2b20a0c624a7d7825589b2f19
prerequisite-patch-id: fbc9a62deb1d62c1ec647f970ff4212796ec175f
prerequisite-patch-id: b96b3cf34b678643f694ef786b6f87a99325a1cd
prerequisite-patch-id: 9f2bb078f43dc15f51b1c58df1d238721ae17fae
prerequisite-patch-id: cf300c5cad05e103ba22d31c9468ccbc4d6c4d6f
prerequisite-patch-id: 4e5d4057c7795eaba5c2d8e2b79b33c14bf893f9
prerequisite-patch-id: 4a227b5d3d7a80fd9e005ff7b3c221af03d0ab36
prerequisite-patch-id: 7abe4a0e8b556f1bfdef6c865340432fa5bba2f0
prerequisite-patch-id: 97fe8649c7058b61c5fa3d8896560a2ec53befc5
prerequisite-patch-id: ae7d668895da6e470d5f6df8a92867b5ad769025
prerequisite-patch-id: 66c160ad90c66a148c9bc2398b514582999c4c39
prerequisite-patch-id: 768fe99ff1de6c4fb1d58d01b1228c0f998cff0f
prerequisite-patch-id: cd7ecce24010576b3312c32accd3487f131df8ef
prerequisite-patch-id: d66474fe51d042c6b139955ad44e41c5ee1e18fb
prerequisite-patch-id: 9c7ccb0265898dd5314521ce654f93b140268288
prerequisite-patch-id: a8beff6f8cf865380761e753a22c321c5292d112
prerequisite-patch-id: 278f4a7e940290440d3ee4f876a10aac7ed823fc
prerequisite-patch-id: 386a5abf4b304bde05c4fbe846c40951c09f9acc
prerequisite-patch-id: 3ec5aa28d933c3177e29edbd963ae82c1693f0ae
prerequisite-patch-id: 4c42875c71f501f41d4ceb6653281ad96edcad4f
prerequisite-patch-id: f98586d89d8b7a7c34797b7f442155196013e9c0
prerequisite-patch-id: 93fbc195ae8bc02cbcba254746b2a8dbfe515b5e
prerequisite-patch-id: 4341e16268ec9b046eca55e2551f96f9e343fd88
prerequisite-patch-id: 87a3eff238340745e4325d50766db7a948617241
prerequisite-patch-id: 4cd5f44452fde3a2df56bcaa2b63db8c34af563f
prerequisite-patch-id: e00fd927cbcb20eda3fa5648539a50f27554f146
prerequisite-patch-id: 6b77e9cd0c9bc581a865e2513d0f1bf9df64fdab
prerequisite-patch-id: 88815ec4b0f5750a9b5067df48c2bf168f44d4a5
prerequisite-patch-id: f22be28bec0987024b4baceb42dff478d4d9284c
prerequisite-patch-id: 9ba5d7adffb5057f85bd3d86410c7546493b7688
prerequisite-patch-id: 124162821553bcdee210a0ac6c6e5a5af26d6e3d
prerequisite-patch-id: 9f4e788bbfc4f3919cdfc40c01e8941ec6fd2de7
prerequisite-patch-id: 4b0ae6368b38a3a3f3cfff83fff2f5e9e47558dc
prerequisite-patch-id: 07b9cbd4bf96fe9881f9b19c80e0ecd94c7f7406
prerequisite-patch-id: 5d9e718068d116197d98747ec8e11fad2744a694
prerequisite-patch-id: 64485648528acc1234597fa588a3bbf9a73ab0d0
prerequisite-patch-id: 002a1a5c27fe2054a93eea5093e4a918c097046b
prerequisite-patch-id: c9d3ae56bdc0f3801f405214d07dfa625d0e5682
prerequisite-patch-id: a9335be36ab53836e81e64a53514670f82e90bc7
prerequisite-patch-id: 44e5c0a87820aaa6097e59f8a715065fc8001097
prerequisite-patch-id: c62e2e3258f51d872be1636066b756d2f746e1e7
prerequisite-patch-id: b1f8d3edac75cd8a439d84f10b8ddb1f3065575a
prerequisite-patch-id: 72b34b60966ec0f7a6aa503c22f7359ee1d271d9
prerequisite-patch-id: 658a825a72595513f9170dadd730a88ed643718e
prerequisite-patch-id: 39f93ef71e2e409d073c723626bc25dd272c35c2
prerequisite-patch-id: b0695a5d05064d6ae4b4b8e586d0e87a056d8a21
prerequisite-patch-id: 015080a9769eb0c2e90b435d4b7eace23cc9bf22
prerequisite-patch-id: f4cd1ec09ee9af68bac4ebc8cd96161f5ec05425
prerequisite-patch-id: 15b8febd04efee50f4075854f8785c823f564e1f
prerequisite-patch-id: f3b4b15dbcf9cc755865556aa8318ce84b8c5f97
prerequisite-patch-id: 16d5eccabcf8821463b0b082c7c5d9e03d198769
prerequisite-patch-id: bd44e63b8d6b8617c74a84fe823e812d773973f4
prerequisite-patch-id: e504f8fb19be5ffee7d86f75bffecb280b1efbf2
prerequisite-patch-id: d94b9560ebc9d9a6b8ca8d8d2ff846b6a93c17b8
prerequisite-patch-id: 86b91bc191b6bf9f33301530992fba6fc1da4d14
prerequisite-patch-id: 8fa9efb9b9c36281d69acb4222fb1eb0e0701b18
prerequisite-patch-id: 07c070842ebc619f21b0100251a550baf487c128
prerequisite-patch-id: a69f640eaf540fefa385d00c69f77fe379e38f6d
prerequisite-patch-id: cbc35eed50d5563b7b509bc87e9d0da358187ef1
prerequisite-patch-id: 9fd2a43565c2dffae6b59eb4e4a5022e2fd051a8
prerequisite-patch-id: bc0104e31c0d137c9038ba1972f695be42ae987d
prerequisite-patch-id: 639593f3cd9dc38ec84cbc6d0a08ae090698f976
prerequisite-patch-id: 3987fd45996aba76dec5d1f7c615fb582e0e983d
prerequisite-patch-id: a422a958e418303bd3c693f921f8d759f7548333
prerequisite-patch-id: 9ca8936602b167ec3c0ea3078e2d29dd1a04c269
prerequisite-patch-id: ba27e7eae4d20bf1bacf79779954ad9a78be87d8
prerequisite-patch-id: a755190e04a22c6d2200a04acc31d3a557a5c08c
prerequisite-patch-id: c89ea46a4aac7c66a65b4d93aeb74a2ee5c6302b
prerequisite-patch-id: b7abbf7f2860110808c40f9057f8812c64223bb2
prerequisite-patch-id: 01f43b07a5062bd743c020c639c83d7de0a5f94a
prerequisite-patch-id: fa362c8e193fc10a35474c019426f2162bf75035
prerequisite-patch-id: 5d50ba3e1d3ba714ac697407ea3c9e1a22dfea53
prerequisite-patch-id: 0d27c71781f0017d181f6333064e3228559e2709
prerequisite-patch-id: a2ee4a6bd7a21d0644f2483aad10a73940e26f7e
prerequisite-patch-id: 0bd36ee8824d7976a89fccb2351f8678a766a35b
prerequisite-patch-id: b9f48b55f99044d1845fd248a1840da19969e936
prerequisite-patch-id: 15c99cc945c84722aae120130f1376e60876f8d0
prerequisite-patch-id: 154995006b72a3f5f76a64b51d9c2f7956e9f902
prerequisite-patch-id: a0ac309f09722d4ea28915ce058cdd587ab54d53
prerequisite-patch-id: 744d86f0b8f48c8becbd61e1a861ce3c728da9de
prerequisite-patch-id: e0926b32e7dc4e770b938599e1c3ae0dbbb8d6d7
prerequisite-patch-id: 0c7ead88de319f00673aafa0c1458846f892d7cf
prerequisite-patch-id: 5d96173fb5d7717b801bfc83d4edc3aeac896925
prerequisite-patch-id: 74d09285eec27aaa7525da4ed9eacc2dcabc5165
prerequisite-patch-id: 088a96dd6a915a6d58fb0de035f6c2c46a334ab3
prerequisite-patch-id: f8bc8a8cd763b71230051053f5053649fc905bdb
prerequisite-patch-id: 4bd4baedd871ac4efead57e9760f3a8ef4f7628c
prerequisite-patch-id: 4dcb958386ce59970c941f4905032eee2eebc42a
prerequisite-patch-id: ab9ccb98b2853c9ce3688e8d77fe49116f1e36df
prerequisite-patch-id: 42f625dfaa7692da061d2412ff9cc52f1f77d885
prerequisite-patch-id: 9862741e21cabb10c8b9e332e18fa1bac18773aa
prerequisite-patch-id: b7b034618ce89e00e819b4b11fb5f2faf6190424
prerequisite-patch-id: 027146d191ed2bb8310820e3be1fb81b27be63e6
prerequisite-patch-id: 61ec8131e7241e9564d375a9e0b27c240316a157
prerequisite-patch-id: edee02135ac0bb9ed117b73eba3b56b7ff6e5189
prerequisite-patch-id: 7e8b420e878f166995f5e98999cc5bfba163a161
prerequisite-patch-id: 5c3278b420c59c593b0b98228469d4a9a10bfc90
prerequisite-patch-id: 53d6f70b0ea467509f87f1131d96bf3d3cff6fa5
prerequisite-patch-id: a873f942e0cce67e013e694d2878d68cdf5769dd
prerequisite-patch-id: 5b5b240722889c20a97001c8ee9925b6e886c823
prerequisite-patch-id: 1d0ff11ac59cb1488983af66ff84f53aceefc402
prerequisite-patch-id: 6baeb8d36ae659890e2992d917c7582f6918352b
prerequisite-patch-id: 1acf169669e9e3929b5e34a27b1b06481d7e9cd4
prerequisite-patch-id: 018a7c729baffab9f359f9ad74519f1be1540c42
prerequisite-patch-id: 2d81781ef4d2a082d87b7a89d9807eef98cf53e8
prerequisite-patch-id: 1b711c9c58488d97453b8cc7c703161386d61220
prerequisite-patch-id: 89f0df85da0dd133748b6fab037aaa4f97f7d647
prerequisite-patch-id: 2fdbc7a3843619052a4f08d8cb8cc64c060e3d51
prerequisite-patch-id: 870cc435d0a491ba2cb2f183e889fe0795b8889c
prerequisite-patch-id: 6976d74d3f243a75aa09819e80f8bf804f76c53a
prerequisite-patch-id: 6cc84af7c2ae39ff0e41e987ac6a2ff44c2e5dac
prerequisite-patch-id: 3a46e0c9aacf8f2d990d116f7a0c43142e750699
prerequisite-patch-id: 38b9e07dd84cbdc7c58c60c097fc26e6fcfdda67
prerequisite-patch-id: 51bb41d39062682ff245df0479771e94dce4a326
prerequisite-patch-id: 9e1ac077dc324474fa84444261843e912b0ecb24
prerequisite-patch-id: 682db5b6252f425989605badcfb66ccf9f342c83
prerequisite-patch-id: 66bee6f1744783517451329c267ff6d5ac7bde6f
prerequisite-patch-id: ac1f65f9a9b7d9a47e8ff2de76414eeff4f38d66
prerequisite-patch-id: b5fda4ceab5cf0e6cd66f2524ba19eeccc5641a7
prerequisite-patch-id: d9574c85128bba718211b2587341a9e4686359a2
prerequisite-patch-id: d06164efb899373b65c07478b6343fcc4a7d63a4
prerequisite-patch-id: baf2cd94df96f0e1e3db7bce8842078f40d1a600
prerequisite-patch-id: c2cd81cf08bf8980658c94821e3d57bab0c6f9bd
prerequisite-patch-id: 4358a4f7ad32e2bd2581b95e28c91e2ba5259020
prerequisite-patch-id: 2992e868e5f542de2933ee803c976a8e6686ff45
prerequisite-patch-id: 4b7da8e33e2b404be66716330bd0f841e9f0e772
prerequisite-patch-id: 735984ed19d7e995fdabdd9108cb5a24083936ff
prerequisite-patch-id: 6b5fd19d0256f6a0aed37a0d0757ae045ec192c7
prerequisite-patch-id: 4de0932c859608440698d1daa1ca185dedd19980
prerequisite-patch-id: 4980bd2dae5b448714b9ab23df7008b90893448c
prerequisite-patch-id: e85534f96a07f34ae67bbbf80f2498e957bd1d69
prerequisite-patch-id: 08d01d8da9a85b9a207a5efda591ef38e39455d0
prerequisite-patch-id: c4ad9976b18903ea2c0689843f5c44abc1797f98
prerequisite-patch-id: c6d03f217fd3e814d5bd47e5f378e90044184642
prerequisite-patch-id: 8f0134728396b0957c5a23fe09267995991d6be3
prerequisite-patch-id: 659aac392cd21712f2010543943c9838f5533b0c
prerequisite-patch-id: fe03a37e729ca7e3b612ea17992a9c361f7aec92
prerequisite-patch-id: dd930f48f20898a9402b15a8b9bbd4d877803b69
prerequisite-patch-id: 9f13abe5601a87c81852460ad7c7a7c561692d56
prerequisite-patch-id: 78b9416fa0cad475706a12c38cc9849311fa1dd0
prerequisite-patch-id: 65ba23b7034908141aeb490c5c927915dae9d42f
prerequisite-patch-id: f817277654797bc78b5bd611b346a3df5993f80d
prerequisite-patch-id: 579867ea7dd9cdb973f10ca326c4a97a5a1ebd44
prerequisite-patch-id: d7f3329b39bbb405c64840b9d48567d3cbe34c46
prerequisite-patch-id: ca117e9a7aefd4016493466d82f927b837e13b85
prerequisite-patch-id: 642aeed18b9ced5ba5b94c4975b1c36cb2557e52
prerequisite-patch-id: 6f1802560e7d6bb2020bf5483a9227044ff5e161
prerequisite-patch-id: ca83a84f10a5a079ee853a9763056bb47a24b947
prerequisite-patch-id: c092ea2aeef625302232464a39cf424ed1e801d3
prerequisite-patch-id: 76ba22dd462d0b4277e16f37b8fb57d7fe737476
prerequisite-patch-id: 78b030169bc5b98a95be48148189a878df88412a
prerequisite-patch-id: 133f37d00b6c809e72573f04eae477ce9796041f
prerequisite-patch-id: 652f4998e134d42f4f14ac3a7ff03a76e37f3ba1
prerequisite-patch-id: dcf50976eacbd07695a61b6eb58598224aae566d
prerequisite-patch-id: 8ca6c9c0fdf70752b127785138889aec865e31dd
prerequisite-patch-id: f5b82b990df33a34cb7f3bebc55903e41f51d198
prerequisite-patch-id: 7da41d7af8ab21a4b60195e9601be1aac290c789
prerequisite-patch-id: b7bfccc266a8ba821f9b7cfe42111a80938db485
prerequisite-patch-id: 640770eb2294365e983c26623939cbe9d4e74c0c
prerequisite-patch-id: b10e02df5c0ad161d737cfd6baff8c784fc2763f
prerequisite-patch-id: e44454f094d056b9d15de4e96d478bd72ac24918
-- 
2.36.1

From 001e4a688170fec3f01d1bbf84e530f4ca52545b Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 3 Aug 2022 10:18:34 +0200
Subject: [PATCH v4 07/38] 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 cfafce9aa3..792bf0157f 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.36.1

From 64dd0a8e2c989a3faf2c874e567485141fe75a7c Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 17 Nov 2021 11:14:15 +0100
Subject: [PATCH v4 06/38] gnu: Add phosh.

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

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index e7422e8345..7f7bf28bfb 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.36.1

From d1f3e15657bd6cd0e1b056c818f12842359e6755 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 3 Aug 2022 11:25:27 +0200
Subject: [PATCH v4 17/38] 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 b1abacf533..4890c8b6da 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -38436,8 +38436,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-next)
+                       ("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
@@ -38454,12 +38480,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.36.1

From a6cc2b3d61c58eb41e19198137006022362496cc Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 3 Aug 2022 15:04:55 +0200
Subject: [PATCH v4 08/38] 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 792bf0157f..33bc57ac4e 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.36.1

From aad26434e8ab6fca901b1351102f0e4191a71f51 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 3 Aug 2022 15:08:30 +0200
Subject: [PATCH v4 09/38] 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 33bc57ac4e..e1b19b9612 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.36.1

From f4e82fd66050abe57d4e5b49504a5c931c6f0ac6 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 3 Aug 2022 10:17:23 +0200
Subject: [PATCH v4 10/38] 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 e1b19b9612..dc3b6566b4 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.36.1

From e9a0f08a8246f2edbc0453c721fe0f50fc16069a Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 3 Aug 2022 10:16:26 +0200
Subject: [PATCH v4 12/38] gnu: Add rust-backtrace-next.

* gnu/packages/crates-io.scm (rust-backtrace-next): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index fa81721060..5aa89f2df2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5663,6 +5663,38 @@ (define-public rust-backtrace-0.3
 trace (backtrace) at runtime in a Rust program.")
     (license (list license:asl2.0 license:expat))))
 
+;; FIXME: Currently breaks rav1e-0.5.1
+(define-public rust-backtrace-next
+  (package
+    (inherit rust-backtrace-0.3)
+    (name "rust-backtrace")
+    (version "0.3.66")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "backtrace" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "19yrfx0gprqmzphmf6qv32g93w76ny5g751ks1abdkqnsqcl7f6a"))))
+    (arguments
+      `(#:skip-build? #t
+        #:cargo-inputs
+        (("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.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))
+        #:cargo-development-inputs
+           (("rust-libloading" ,rust-libloading-0.7))))))
+
 (define-public rust-backtrace-0.3.35
   (package
     (inherit rust-backtrace-0.3)
-- 
2.36.1

From 61927a441c0c41d333784911e6885859634ac1d2 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 3 Aug 2022 07:51:39 +0200
Subject: [PATCH v4 20/38] 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 910ce8d537..e8dff370a1 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -18655,7 +18655,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)
@@ -18663,7 +18663,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.36.1

From 34b0bd6ad4b7bfa9bcaac7608cdf4b346b0727e4 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 17 Nov 2021 11:10:16 +0100
Subject: [PATCH v4 05/38] 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 <[email-masked]>
 ;;; Copyright © 2021 jgart <[email-masked]>
 ;;; Copyright © 2021 Aleksandr Vityazev <[email-masked]>
+;;; Copyright © 2021, 2022 Petr Hodina <[email-masked]>
 ;;; Copyright © 2022 Arjan Adriaanse <[email-masked]>
 ;;; Copyright © 2022 Juliana Sims <[email-masked]>
 ;;;
@@ -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.36.1

From c3f9e2ff0f758d09bdf0b831e7f777bd276a2be8 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 3 Aug 2022 12:02:55 +0200
Subject: [PATCH v4 14/38] gnu: Add rust-once-cell-next.

* gnu/packages/crates-io.scm (rust-once-cell-next): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0d5b865023..2f5472a1b2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -39840,6 +39840,28 @@ (define-public rust-once-cell-1
 contents.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-once-cell-next
+  (package
+    (inherit rust-once-cell-1)
+    (name "rust-once-cell")
+    (version "1.13.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "once-cell" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1qfqvgnwfzzwxd13ybvplzshaqwnjnna9ghcn0zgijaq0zixp9hq"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-atomic-polyfill" ,rust-atomic-polyfill-0.1)
+        ("rust-parking-lot-core" ,rust-parking-lot-core-0.9))
+       #:cargo-development-inputs
+       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-regex" ,rust-regex-1))))))
+
 (define-public rust-once-cell-0.1
   (package
     (inherit rust-once-cell-1)
-- 
2.36.1

From c7d9f061b6e1e050c343426499081527151f8815 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 3 Aug 2022 08:02:09 +0200
Subject: [PATCH v4 25/38] 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 9af5cd180e..c032ea78ec 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -72938,6 +72938,29 @@ (define-public rust-yeslogic-fontconfig-sys-3
 for locating fonts.")
     (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.36.1

From ac44c21d6e1ee9aab45e92bfa0b1642b960a02bd Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 3 Aug 2022 07:58:39 +0200
Subject: [PATCH v4 23/38] 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 1e17f1c0a4..6a2c82474c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -73011,6 +73011,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.36.1

From ab9e14e51400c21a6f975e78c407396dc27997d7 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 3 Aug 2022 11:21:42 +0200
Subject: [PATCH v4 19/38] 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 bc55ef4cde..910ce8d537 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -38364,8 +38364,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
@@ -38385,12 +38409,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.36.1

From 5ed825d0edded016c0806eaca0576d151f853123 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 3 Aug 2022 12:02:03 +0200
Subject: [PATCH v4 24/38] 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 6a2c82474c..9af5cd180e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -37535,14 +37535,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.36.1

From 22964116689a050659102497700b2bda45ffccfa Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 3 Aug 2022 08:02:44 +0200
Subject: [PATCH v4 22/38] 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 8fb4c28896..1e17f1c0a4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -72961,6 +72961,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.36.1

From 4d19d2617b900fb438f207fc83709631499d680d Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 3 Aug 2022 12:31:21 +0200
Subject: [PATCH v4 13/38] 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 1bd791fb0c..95b2b9ca8a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1797,6 +1797,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 5aa89f2df2..0d5b865023 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -41306,8 +41306,37 @@ (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
+	;; TODO: Replace rust-backtrace-next when ready
+     `(#:cargo-inputs (("rust-backtrace" ,rust-backtrace-next)
+                       ("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
@@ -41336,12 +41365,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.36.1

From 917b0a7ac7cd430cb958b93623fe9a3d06750a22 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Fri, 5 Aug 2022 14:09:49 +0200
Subject: [PATCH v4 32/38] 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 ae6de0bf68..9439d3d845 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)
@@ -72744,6 +72745,32 @@ (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
+      `(#:tests? #f ;; TODO: Failing test in src/xkb/mod.rs
+        #: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.36.1

From 5902507e87b0b3057b023508422e4cf6712447b9 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 3 Aug 2022 08:00:00 +0200
Subject: [PATCH v4 21/38] 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 e8dff370a1..8fb4c28896 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -72938,6 +72938,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.36.1

From a36e28bc94a3c92b40d8307cc73bfb36df1cc601 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 3 Aug 2022 11:24:26 +0200
Subject: [PATCH v4 18/38] 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 4890c8b6da..bc55ef4cde 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -38413,8 +38413,31 @@ (define-public rust-ntest-proc-macro-helper-0.7
      "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")
+    (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
@@ -38430,11 +38453,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.36.1

From 9dc9e5a85439dc3c38f2a473a1a9bcaaa110e4cd Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Fri, 5 Aug 2022 14:17:20 +0200
Subject: [PATCH v4 30/38] 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 cc6d8d79e8..80be8a54e9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7434,8 +7434,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
@@ -7461,12 +7487,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.36.1

From 8d0dd4277cb2f9f701b26c22a7a6e1d66a3e3fec Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Fri, 5 Aug 2022 14:19:21 +0200
Subject: [PATCH v4 31/38] 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 80be8a54e9..ae6de0bf68 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -21067,6 +21067,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.36.1

From 3c577a7b4f532e3225ae772bf903f57ecf6381b5 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Fri, 5 Aug 2022 14:21:33 +0200
Subject: [PATCH v4 34/38] 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 4c2b3ed3c2..e2cb3fb5d2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11392,6 +11392,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.36.1

From 6b43da6e934bc4809db776831d11d036e176cf35 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 3 Aug 2022 11:23:22 +0200
Subject: [PATCH v4 16/38] 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 e6765d870a..b1abacf533 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -38392,6 +38392,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.3
   (package
     (name "rust-ntest-test-cases")
-- 
2.36.1

From 25d7928fe65cb4f8771203b4b257fe8cb11a4ab6 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Fri, 5 Aug 2022 14:20:46 +0200
Subject: [PATCH v4 33/38] 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 9439d3d845..4c2b3ed3c2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -63499,8 +63499,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
@@ -63518,16 +63548,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.36.1

From 824c2b9b9cb155baa0a7f9c439f258d422dc29d1 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 3 Aug 2022 12:03:45 +0200
Subject: [PATCH v4 15/38] gnu: Add rust-proc-macro-crate-next.

* gnu/packages/crates-io.scm (rust-proc-macro-crate-next): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2f5472a1b2..e6765d870a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -45363,6 +45363,28 @@ (define-public rust-proc-macro-crate-1
 renamed in @file{Cargo.toml}.")
     (license (list license:asl2.0 license:expat))))
 
+ (define-public rust-proc-macro-crate-next
+   (package
+     (inherit rust-proc-macro-crate-1)
+     (name "rust-proc-macro-crate")
+     (version "1.2.1")
+     (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "proc-macro-crate" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "1sclzva81n2lpjyfpdpdcd03f5ys9684vqap2xipbjdp1wxzr87d"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-once-cell" ,rust-once-cell-next)
+        ("rust-thiserror" ,rust-thiserror-1)
+        ("rust-toml" ,rust-toml-0.5))
+       #:cargo-development-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))))
+
 (define-public rust-proc-macro-crate-0.1
   (package
     (inherit rust-proc-macro-crate-1)
-- 
2.36.1

From 1fb6fca38c60bdbe20643f227004cfba78a46729 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Fri, 5 Aug 2022 14:24:00 +0200
Subject: [PATCH v4 35/38] 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 e2cb3fb5d2..a026f4419a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11364,7 +11364,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)
@@ -11373,17 +11373,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.36.1

From a45b3a50831b985abaeaf5cd1678e3efe54b8442 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 3 Aug 2022 08:01:37 +0200
Subject: [PATCH v4 26/38] 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 c032ea78ec..e6134d10cc 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -72961,6 +72961,44 @@ (define-public rust-zbus-polkit-1
     (description "PolicyKit binding")
     (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.36.1

From 2314948ddda56ad3a86f60a50c122daa4e2b81e1 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Fri, 5 Aug 2022 14:13:41 +0200
Subject: [PATCH v4 28/38] 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 c0a939ce97..a810b3a24e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -47384,8 +47384,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
@@ -47400,13 +47422,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.36.1

From f7cae28ae05aab8a0fd7b8e247c56838eae84374 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 3 Aug 2022 10:15:38 +0200
Subject: [PATCH v4 11/38] 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 dc3b6566b4..fa81721060 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.36.1

From 1c5eac5db0e8a94adf8d02feabe70f2f72803123 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Fri, 5 Aug 2022 14:11:42 +0200
Subject: [PATCH v4 27/38] 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 e6134d10cc..c0a939ce97 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -72349,8 +72349,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
@@ -72367,12 +72391,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.36.1

From 7197fa3ab0ec4b0b689e56f7abf34807bb4a979f Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Fri, 5 Aug 2022 14:15:34 +0200
Subject: [PATCH v4 29/38] 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 a810b3a24e..cc6d8d79e8 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -23323,8 +23323,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
@@ -23339,14 +23362,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.36.1

From fc2fbeba53a522ad36ff542308e77f3f06b6a84d Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Tue, 9 Aug 2022 23:36:21 +0200
Subject: [PATCH v4 38/38] ! gnu: enable features.

diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index e392220a01..13d5d1098f 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -734,6 +734,7 @@ (define-public rust-gio-0.14
     (arguments
      `(#:skip-build?
        #t
+       #:features '("v2_58")
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-futures-channel" ,rust-futures-channel-0.3)
@@ -954,6 +955,7 @@ (define-public rust-glib-0.14
     (arguments
      `(#:skip-build?
        #t
+       #:features '("v2_58")
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-futures-channel" ,rust-futures-channel-0.3)
@@ -1124,6 +1126,7 @@ (define-public rust-glib-sys-0.14
     (arguments
      `(#:skip-build?
        #t
+       #:features '("v2_58")
        #:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
         ("rust-system-deps" ,rust-system-deps-3))
@@ -1269,6 +1272,7 @@ (define-public rust-gtk-0.14
     (build-system cargo-build-system)
     (arguments
      `(#:tests? #f                      ;requires running server
+       #:features '("v3_22")
        #:cargo-inputs
        (("rust-atk" ,rust-atk-0.14)
         ("rust-bitflags" ,rust-bitflags-1)
@@ -1369,6 +1373,7 @@ (define-public rust-gtk-sys-0.14
     (build-system cargo-build-system)
     (arguments
      `(#:tests? #f                      ;missing files
+       #:features '("v3_22")
        #:cargo-inputs
        (("rust-atk-sys" ,rust-atk-sys-0.14)
         ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.14)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5d4f83ad7f..d108a1973a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -72803,6 +72803,7 @@ (define-public rust-xkbcommon-0.4
     (build-system cargo-build-system)
     (arguments
       `(#:tests? #f ;; TODO: Failing test in src/xkb/mod.rs
+        #:features '("wayland")
         #:cargo-inputs
         (("rust-libc" ,rust-libc-0.2)
          ("rust-memmap" ,rust-memmap-0.7)
-- 
2.36.1

From e1ed7b2f59218e28aaf46bdbfe3dfc84a079c79f Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Fri, 5 Aug 2022 14:24:28 +0200
Subject: [PATCH v4 36/38] 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 a026f4419a..5d4f83ad7f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11413,7 +11413,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)
@@ -11422,27 +11422,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.36.1

From 14d3472eee34b880825447e1a7c9d7f216287880 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Mon, 27 Dec 2021 20:23:25 +0100
Subject: [PATCH v4 37/38] gnu: Add squeekboard.

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

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 7f7bf28bfb..5b2f26ad12 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -570,6 +570,71 @@ (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))
+           #:features `(list "glib_v0_14")
+           #: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)))
+                              (rename-file "data/style-Adwaita:dark.css"
+                                           "data/style-Adwaita.dark.css")
+                              (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+
+                  libxml2
+                  libxkbcommon
+                  feedbackd
+                  glib
+                  dbus
+                  wayland))
+    (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.36.1