[PATCH 0/2] WIP: Add phosh.

  • Open
  • quality assurance status badge
Details
2 participants
  • Jonathan Brielmaier
  • phodina
Owner
unassigned
Submitted by
Jonathan Brielmaier
Severity
normal
J
J
Jonathan Brielmaier wrote on 2 Nov 2020 23:13
(address . guix-patches@gnu.org)(name . Jonathan Brielmaier)(address . jonathan.brielmaier@web.de)
20201102221301.23038-1-jonathan.brielmaier@web.de
Hi folks,

I finally send in patches for phosh, a wayland shell intended for mobile phones (Librem 5, PinePhone).
As the subject states they are still WIP, but I invested quite a lot and I'm now stuck.

phoc:
- kind of works (e.g. `phoc -E chatty`)
- the package it self is still a little ugly. I'll make it nicer when phosh works...

phosh:
ATTENTION: Testing phosh in it's current state can freeze your system.
You may need `SysRq+Alt+f` to unfreeze.

running phosh as user:
$ phosh
/gnu/store/gsj43q0svqskfw5w1q7dyngdn8g6ypqb-gnome-session-3.34.2/bin/..gnome-session-real-real: line 16: gsettings: command not found
(phoc:22717): phoc-wlroots-CRITICAL **: 23:00:15.854: [backend/session/direct-ipc.c:47] Do not have root privileges; cannot become DRM master
(phoc:22717): phoc-wlroots-CRITICAL **: 23:00:15.855: [backend/session/session.c:96] Failed to load session backend
(phoc:22717): phoc-wlroots-CRITICAL **: 23:00:15.855: [backend/backend.c:195] failed to start a session
(phoc:22717): phoc-wlroots-CRITICAL **: 23:00:15.855: [backend/backend.c:235] failed to start backend 'drm'
(phoc:22717): phoc-server-ERROR **: 23:00:15.855: Could not create backend
Trace/Breakpoint ausgelöst

I'm not sure if that is just an issue of elogind/systemd:

running phosh as root:
# phosh
directly freezes your system, nothing happens. It's not really verbose.

traps: phoc[14788] trap int3 ip:7fe22feeeaa1 sp:7ffdb281e3c0 error:0 in libglib-2.0.so.0.6200.6[7fe22feb6000+7d000]
is in the logs just before the OOM execution logging.

Any ideas how I can get phosh working?

Kind regards
Jonathan Brielmaier (2):
WIP: gnu: Add phoc.
WIP: gnu: Add phosh.

gnu/packages/gnome.scm | 139 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 139 insertions(+)

--
2.29.2
J
J
Jonathan Brielmaier wrote on 2 Nov 2020 23:28
[PATCH 1/2] WIP: gnu: Add phoc.
(address . 44400@debbugs.gnu.org)(name . Jonathan Brielmaier)(address . jonathan.brielmaier@web.de)
20201102222827.23533-1-jonathan.brielmaier@web.de
* gnu/packages/gnome.scm (phoc): New variable.
---
gnu/packages/gnome.scm | 73 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 73 insertions(+)

Toggle diff (81 lines)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index cd7bc0ceba..af5ea09e55 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -12034,3 +12034,76 @@ for the GNOME 3.x platform with many features. It aims to be a very complete
editing environment for translation issues within the GNU gettext/GNOME desktop
world.")
(license license:gpl3+)))
+
+(define-public phoc
+ (package
+ (name "phoc")
+ (version "0.4.4")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://source.puri.sm/Librem5/phoc.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "08nqlmbklyjiirqdv56cs94rjs0bjwzjcccmbgzmjdbxxpklqy9k"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ; source of wlroots required in subprojects/wlroots folder
+ (add-after 'unpack 'get-wlroots
+ (lambda* (#:key inputs #:allow-other-keys)
+ (copy-recursively (assoc-ref inputs "wlroots-librem5-source")
+ "subprojects/wlroots")
+ #t))
+ (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")))
+ #t))
+ ;; Those check a running phoc server against some screenshots in the repo.
+ ;; They differ only by the mouse cursor (shadow vs. no shadow).
+ (add-before 'patch-paths 'disable-failing-tests
+ (lambda _
+ (substitute* "tests/meson.build"
+ (("'layer-shell',") "")
+ (("'xdg-shell',") "")
+ (("'phosh'") ""))
+ #t))
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ #t)))))
+ (native-inputs
+ `(("gobject-introspection" ,gobject-introspection)
+ ("glib:bin" ,glib "bin")
+ ("gnome-desktop" ,gnome-desktop)
+ ("libinput" ,libinput)
+ ("libxkbcommon" ,libxkbcommon)
+ ("pkg-config" ,pkg-config)
+ ("wayland" ,wayland)
+ ("wayland-protocols" ,wayland-protocols)
+ ("wlroots-librem5-source" ; patched version for Librem 5
+ ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://source.puri.sm/Librem5/wlroots.git")
+ (commit "7723a09a226d812aa51d1439c2b5e8e21238d45c")))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0k7662x40ssc0zvvz1qpwcwl98ndfpv2363hg9lsff5y0p4gk653"))))
+ ("xorg-server" ,xorg-server-for-tests)))
+ (propagated-inputs
+ `(("mutter" ,mutter)))
+ (synopsis "wlroots based phone compositor")
+ (description "Phoc is a...")
+ (home-page "https://source.puri.sm/Librem5/phoc")
+ (license license:gpl3))) ; TODO or gpl3+?
--
2.29.2
J
J
Jonathan Brielmaier wrote on 2 Nov 2020 23:28
[PATCH 2/2] WIP: gnu: Add phosh.
(address . 44400@debbugs.gnu.org)(name . Jonathan Brielmaier)(address . jonathan.brielmaier@web.de)
20201102222827.23533-2-jonathan.brielmaier@web.de
* gnu/packages/gnome.scm (phosh): New variable.
---
gnu/packages/gnome.scm | 66 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 66 insertions(+)

Toggle diff (74 lines)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index af5ea09e55..df70d07be7 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -12107,3 +12107,69 @@ world.")
(description "Phoc is a...")
(home-page "https://source.puri.sm/Librem5/phoc")
(license license:gpl3))) ; TODO or gpl3+?
+
+(define-public phosh
+ (package
+ (name "phosh")
+ (version "0.5.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://source.puri.sm/Librem5/phosh.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0vcgkkim6mwsdffyz37pnp7ax2f4z7272ikdkv03vg3j3h3ypnch"))))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'get-libgnome-volume-control
+ (lambda* (#:key inputs #:allow-other-keys)
+ (copy-recursively (assoc-ref inputs "libgnome-volume-control-source")
+ "subprojects/gvc")))
+ (add-before 'configure 'fix-phoc-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "data/phosh.in"
+ (("@bindir@") (string-append (assoc-ref inputs "phoc") "/bin")))))
+ (delete 'check) ; TODO: needs a running wayland compositor
+ )))
+ (build-system meson-build-system)
+ (native-inputs
+ `(("gcr" ,gcr)
+ ("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin")
+ ("gnome-desktop" ,gnome-desktop)
+ ("gtk+:bin" ,gtk+ "bin")
+ ("libgnome-volume-control-source" ; needs to be present in subprojects/gvc folder
+ ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/GNOME/libgnome-volume-control.git")
+ (commit "ec5cf3e0de6715803e64b65abb059e2155b3d6de")))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0azq1xy50s1bg28xf97g16657490ng00amc4cw7vvdgminq82rq5"))))
+ ("libsecret" ,libsecret)
+ ("linux-pam" ,linux-pam)
+ ("network-manager" ,network-manager)
+ ("pkg-config" ,pkg-config)
+ ("polkit" ,polkit)
+ ("upower" ,upower)))
+ (inputs
+ `(("feedbackd" ,feedbackd)
+ ("libhandy" ,libhandy)
+ ("pulseaudio" ,pulseaudio)))
+ (propagated-inputs
+ ;; "missing" schema files
+ ;; org.gnome.DejaDup.File org.guido-berhoerster.code.package-update-indicator org.blueberry
+ `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ;org.gnome.desktop.wm.keybindings
+ ("gnome-session" ,gnome-session)
+ ("mutter" ,mutter) ;org.gnome.mutter.keybindings
+ ("network-manager-applet" ,network-manager-applet) ;org.gnome.nm-applet
+ ("phoc" ,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://source.puri.sm/Librem5/phosh")
+ (license license:gpl3+)))
--
2.29.2
J
J
Jonathan Brielmaier wrote on 8 Feb 2021 12:02
d71aad17-b205-3f37-0c3b-feae8031287e@web.de
I'm trying to lift those patches to phosh 0.8.0 but upstream requires
now libsystemd.

The easiest way on our side would be to let announce elogind systemd
support like Alpine is doing it:

The other one would be adding elogind support to upstream phosh. I'll
try for that and keep you updated...
P
P
phodina wrote on 17 Nov 2021 11:16
[PATCH v2 1/4] gnu: Add phoc.
(name . 44400@debbugs.gnu.org)(address . 44400@debbugs.gnu.org)
m6k0MWPMK9pPqT0uXfcxERdYHouyaARH_hPc7RUF3olqaNNzMvWErxLWsm3WiIqhdGAs44bmggb2GJEMdqSZqjbD4QG3iA82e4uyuc5yCZ4=@protonmail.com
* gnu/packages/gnome.scm (phoc): New variable.

Toggle diff (95 lines)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 28d4432334..185931d244 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -61,6 +61,7 @@
;;; Copyright © 2021 Trevor Hass <thass@okstate.edu>
;;; Copyright © 2021 Solene Rapenne <solene@perso.pw>
;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
+;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1154,6 +1155,82 @@ (define-public mm-common
(home-page "https://gitlab.gnome.org/GNOME/mm-common")
(license license:gpl2+)))

+(define-public phoc
+ (package
+ (name "phoc")
+ (version "0.9.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
+ "18nwjbyjxq11ppfdky3bnfh9pr23fjl2543jwva0iz1n6c8mkpd9"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:tests? #f ; requires server connection
+ #:meson ,meson-next
+ #:phases
+ (modify-phases %standard-phases
+ ; source of wlroots required in subprojects/wlroots folder
+ (add-after 'unpack 'get-wlroots
+ (lambda* (#:key inputs #:allow-other-keys)
+ (copy-recursively (assoc-ref inputs "wlroots-librem5-source")
+ "subprojects/wlroots")
+ #t))
+ (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")))
+ #t))
+ ;; Those check a running phoc server against some screenshots in the repo.
+ ;; They differ only by the mouse cursor (shadow vs. no shadow).
+ (add-before 'patch-paths 'disable-failing-tests
+ (lambda _
+ (substitute* "tests/meson.build"
+ (("'layer-shell',") "")
+ (("'xdg-shell',") "")
+ (("'phosh'") ""))
+ #t))
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ #t)))))
+ (native-inputs
+ `(("gobject-introspection" ,gobject-introspection)
+ ("glib:bin" ,glib "bin")
+ ("gnome-desktop" ,gnome-desktop)
+ ("libinput" ,libinput)
+ ("libxkbcommon" ,libxkbcommon)
+ ("pkg-config" ,pkg-config)
+ ("wayland" ,wayland)
+ ("wayland-protocols" ,wayland-protocols)
+ ("wlroots-librem5-source" ; patched version for Librem 5
+ ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://source.puri.sm/Librem5/wlroots.git")
+ (commit "5413b1ec61c6e3390929db595c0ec92f92ea2594")))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "02q70244sfs2jzl8mxsvd51rrv59jxllyss821xgg0cmq49rgq5w"))))
+ ("xorg-server" ,xorg-server-for-tests)))
+ (propagated-inputs
+ `(("mutter" ,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.33.0
P
P
phodina wrote on 17 Nov 2021 11:17
[PATCH v2 2/4] gnu: libhandy: Update to 1.5.0.
(name . 44400@debbugs.gnu.org)(address . 44400@debbugs.gnu.org)
ZtuUQt1rnmH9ttbNtMAbrXrRmBr6pW8dsRqo_7y4nQF0l_qdQKeP-qUhWoulCljNId1FKPE_Q70IIkoLZjjvAdPq_s8p1ZzBY9c1--KNmI0=@protonmail.com
* gnu/packages/gnome.scm (libhandy): Update to 1.5.0.

Toggle diff (22 lines)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 185931d244..9348cf356e 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -11067,7 +11067,7 @@ (define-public terminator
(define-public libhandy
(package
(name "libhandy")
- (version "1.2.2")
+ (version "1.5.0")
(source
(origin
(method git-fetch)
@@ -11076,7 +11076,7 @@ (define-public libhandy
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0345x7gif6yjm95y62lww71lj84wfwsr2p32r3iww8shavb8scyk"))))
+ (base32 "19gl0xxybraw2iyn6cdi9w7nps825lb2bhav7d2x51wla0lq3kdc"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
--
2.33.0
P
P
phodina wrote on 17 Nov 2021 11:18
[PATCH v2 3/4] gnu: Add callaudiod.
(name . 44400@debbugs.gnu.org)(address . 44400@debbugs.gnu.org)
TA_BNkv6jz5-WIZEXxE66HAxAnp8tYMOUbGX5FJvjf_t0X6SKr18UkLGWz72oG8lfEBhjay6vAgdn2mHvQ4hODnswwWluFe9Ycmo8EKC_ww=@protonmail.com
* gnu/packages/audio.scm (callaudiod): New variable.

Toggle diff (46 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 4b1a602804..1ec0854285 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -34,6 +34,7 @@
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1026,6 +1027,33 @@ (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.1")
+ (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
+ "04pn6f9p2n0qsy7cbchmnqlmjfvn908vdryc4y38srnj3xiq212l"))))
+ (build-system meson-build-system)
+ (native-inputs `(("alsa-lib" ,alsa-lib)
+ ("glib" ,glib)
+ ("glib" ,glib "bin")
+ ("pkg-config" ,pkg-config)
+ ("pulseaudio" ,pulseaudio)))
+ (inputs `(("alsa-utils" ,alsa-utils)
+ ("pulseaudio" ,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.33.0
P
P
phodina wrote on 17 Nov 2021 11:19
[PATCH v2 4/4] WIP: gnu: Add phosh.
(name . 44400@debbugs.gnu.org)(address . 44400@debbugs.gnu.org)
rM5Gi-SukHuqhKGHQNNoM2f1zA7KZ7HBwGMoPWpG0ATsdgjCn0Q01iReHK0ABNjz24YMIUxE1Cm395TjzYie5GjpNbq8WT8D5fiuHPzH9Vc=@protonmail.com
* gnu/packages/gnome.scm (phosh): New variable.

Toggle diff (109 lines)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 9348cf356e..7d9fcce229 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -83,6 +83,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)
@@ -1278,6 +1279,96 @@ (define-public phodav
(home-page "https://wiki.gnome.org/phodav")
(license license:lgpl2.1+)))

+(define-public phosh
+ (package
+ (name "phosh")
+ (version "0.14.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
+ "0fhp2jmwjzzxd66b4figc2wdpzdjycpq3cf4lx3z04dzl9vmw65a"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:meson ,meson-next
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'get-libgnome-volume-control
+ (lambda* (#:key inputs #:allow-other-keys)
+ (copy-recursively (assoc-ref inputs "libgnome-volume-control-source")
+ "subprojects/gvc")))
+ (add-after 'unpack 'get-libcall-ui
+ (lambda* (#:key inputs #:allow-other-keys)
+ (copy-recursively (assoc-ref inputs "libcall-ui")
+ "subprojects/libcall-ui")))
+ (add-after 'unpack 'patch-systemd
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "meson.build"
+ (("libsystemd_dep") "#libsystemd_dep"))
+ (substitute* "src/meson.build"
+ (("libsystemd_dep") "#libsystemd_dep"))))
+ (add-before 'configure 'fix-phoc-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "data/phosh.in"
+ (("@bindir@") (string-append (assoc-ref inputs "phoc") "/bin")))))
+ (delete 'check) ; TODO: needs a running wayland compositor
+ )))
+ (native-inputs
+ `(("gcr" ,gcr)
+ ("gettext" ,gettext-minimal)
+ ("git" ,git)
+ ("glib:bin" ,glib "bin")
+ ("gnome-desktop" ,gnome-desktop)
+ ("gtk+:bin" ,gtk+ "bin")
+ ("libgnome-volume-control-source" ; needs to be present in subprojects/gvc folder
+ ,(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"))))
+ ("libcall-ui" ; needs to be present in subprojects/libcall-ui folder
+ ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/World/Phosh/libcall-ui")
+ (commit "465f6add090b623fb80c6c5cbb9ab2880ff531a4")))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1as857npl2yra4zh4bfph9wvhvjck53i2qp3zzbv3mbpi36nscfr"))))
+ ("callaudiod" ,callaudiod)
+ ("libsecret" ,libsecret)
+ ("linux-pam" ,linux-pam)
+ ("network-manager" ,network-manager)
+ ("pkg-config" ,pkg-config)
+ ("polkit" ,polkit)
+ ("upower" ,upower)))
+ (inputs
+ `(("feedbackd" ,feedbackd)
+ ("libhandy" ,libhandy)
+ ("libgudev" ,libgudev)
+ ("pulseaudio" ,pulseaudio)))
+ (propagated-inputs
+ ;; "missing" schema files
+ ;; org.gnome.DejaDup.File org.guido-berhoerster.code.package-update-indicator org.blueberry
+ `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ;org.gnome.desktop.wm.keybindings
+ ("gnome-session" ,gnome-session)
+ ("mutter" ,mutter) ;org.gnome.mutter.keybindings
+ ("network-manager-applet" ,network-manager-applet) ;org.gnome.nm-applet
+ ("phoc" ,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.33.0
J
J
Jonathan Brielmaier wrote on 17 Nov 2021 11:26
ed0f57d0-64a2-43b5-8e79-76162d0657b1@web.de
On 17.11.21 11:19, phodina via Guix-patches via wrote:
Toggle quote (2 lines)
> * gnu/packages/gnome.scm (phosh): New variable.

Does phosh work for you? I only got phoc running, phosh "refused" to
start...
P
P
phodina wrote on 17 Nov 2021 11:26
Phosh v2 patches comments
(name . 44400@debbugs.gnu.org)(address . 44400@debbugs.gnu.org)
WEbcizzNpRlcI7NRS2IbI4e_u--zrlXxlHm2__pIPrmQvC8mShDbfeFQd2qLbL-S3Aq3odYV1m3-rVYjrCfgmaQC_lFpi5s9hyQ1vVBzXWY=@protonmail.com
Hi Jonathan,

I've updated your patches to newer releases.

Phoc and Phosh are now officially hosted on https://gitlab.gnome.org.

The recent version of phosh depends also on newer version of libhandy which triggers a massive rebuild.

Building the following 9012 packages would ensure 20391 dependent packages are rebuilt

So it will be necessary to rebase on core-updates branch.

However, the greatest headache is still the dependency on systemd.

The phosh package is updated but due to systemd dependency fails:

...
../source/src/util.c:12:10: fatal error: systemd/sd-login.h: No such file or directory
#include <systemd/sd-login.h>

I like the approach made by Postmarket or in genral by Alpine as you already suggested.

Though it would be great to get more opinions on this matter!

---
Cheers
Petr
P
P
phodina wrote on 17 Nov 2021 11:32
Re: [bug#44400] [PATCH v2 4/4] WIP: gnu: Add phosh.
(name . Jonathan Brielmaier)(address . jonathan.brielmaier@web.de)(name . 44400@debbugs.gnu.org)(address . 44400@debbugs.gnu.org)
CFkPBY2_sKm8SqUG_ZJedbsz4hjRZkMJ-iJaSkoDajbYgqLH4ic8rGkBG3jXXjfJzqKe6rNfLwOYo9KVVML2oDnaqulswd2y2tSfRYeCnJI=@protonmail.com
On Wednesday, November 17th, 2021 at 11:26 AM, Jonathan Brielmaier <jonathan.brielmaier@web.de> wrote:

Toggle quote (8 lines)
> On 17.11.21 11:19, phodina via Guix-patches via wrote:
>
> > - gnu/packages/gnome.scm (phosh): New variable.
>
> Does phosh work for you? I only got phoc running, phosh "refused" to
>
> start...

Unfortunately not, though I'm expecting finally after almost 3 years of waiting Librem 5 and I'd like to see there Guix running.

So I've looked into Phosh and saw your patches.

Unfortunately, there's still the elogind/systemd question which I have to open.

I've got Phosh running on Pinephone where there's no systemd as Alpine uses OpenRC.
P
P
phodina wrote on 28 Nov 2021 11:46
(name . Jonathan Brielmaier)(address . jonathan.brielmaier@web.de)(name . 44400@debbugs.gnu.org)(address . 44400@debbugs.gnu.org)
UeImvP386mYI5dyf9mo9umdeMc-C1-5_slwK1jGuLSg2fIK-JXQx_OohAv8_UIBtpCjXFFcwYvnGW3ezS3TfKFQs-yPze8fWUP-v5eQdp80=@protonmail.com
Hi Johnatan,

I've managed to substitute the systemd dependency for elogind. So the phosh package now builds.

However, there is some error regarding the glib schema. I haven't worked that much with glib so that's the next thing on my list.

I'm posting the error in case you know how to fix that and you'll find the patch attached as well.

$ /gnu/store/z5dfz6hf9wb5jbndrkzhlc1yzgdqjjak-phosh-0.14.0/libexec/phosh

(phosh:8740): phosh-keyboard-events-WARNING **: 13:40:53.719: Skipping grab manager due to missing phosh_private protocol extension

(phosh:8740): GLib-GIO-ERROR **: 13:40:53.722: Settings schema 'sm.puri.phosh' is not installed
Trace/breakpoint trap
cylon2p0@rocinante ~/guix/gnu/packages$ /gnu/store/z5dfz6hf9wb5jbndrkzhlc1yzgdqjjak-phosh-0.14.0/libexec/phosh

(phosh:10766): phosh-keyboard-events-WARNING **: 15:23:33.151: Skipping grab manager due to missing phosh_private protocol extension

(phosh:10766): GLib-GIO-ERROR **: 15:23:33.154: Settings schema 'sm.puri.phosh' is not installed


----
Petr
J
J
Jonathan Brielmaier wrote on 4 Mar 2022 18:40
[PATCH 0/2] WIP: Add phosh.
(address . 44400@debbugs.gnu.org)
f8443895-2326-dac0-2950-f2b27da2077a@web.de
Hi Petr,

"The recent version of phosh depends also on newer version of libhandy
which triggers a massive rebuild.
Building the following 9012 packages would ensure 20391 dependent
packages are rebuilt
So it will be necessary to rebase on core-updates branch."

-> I think in that case we could add a libhandy-x.y package which
inherits libhandy. So we would avoid that world rebuilding for now.

Although
```
$ guix refresh --list-dependent libhandy

Die folgenden 25 Pakete zu erstellen, würde zur Folge haben, dass 52
abhängige Pakete neu erstellt werden:
```
sounds a bit smaller. Did you mean elogind which has 1k/2k dependant
packages?

Regarding that schema issue: does it occur as well when you install the
phosh package?

~Jonathan
P
P
phodina wrote on 24 Mar 2022 14:32
[PATCH v3 1/5] WIP: gnu: Add phosh.
(name . 44400@debbugs.gnu.org)(address . 44400@debbugs.gnu.org)
IruD3EyXSCGFp-IpoM65x9I9b7XTOyHF8H2-5fqOZgvewo6XjaZ6ezFtZdTjoB3Kcx5BaIn_OltI59Qp8YIm5KQ6csweyRVIfqcLrbibMQY=@protonmail.com
Hi Jonathan,

the current patch set is based on the master branch. Running the Guix command
gives me 26 dependent packages - not a massive number.
```
./pre-inst-env guix refresh --list-dependent libhandy
Building the following 26 packages would ensure 54 dependent packages are rebuilt:
cozy@1.2.0 markets@0.5.3 gtranslator@40.0 apostrophe@2.5 eiciel@0.9.13.1 denemo@2.6.0
gpaste@3.42.2 arc-theme@20210412 gnome-shell-extension-gsconnect@48
numix-gtk-theme@2.6.7 eolie@0.9.101 deja-dup@42.8 lollypop@1.4.24 gnome-tweaks@40.0
passwordsafe@5.1 geary@40.0 komikku@0.37.0 phosh@0.14.0 seahorse@41.0 gnome@41.0
tootle@1.0 chatty@0.4.0 sideload@6.0.2 giara@0.3 gfeeds@0.16.2 blanket@0.5.0
```

I've given up on meson build system and just build it as a regular Rust package
with cargo build system.

Btw squeekboard is a requirement for Phosh to work as stated by Guido [1].

See the patches attached.

The current issue I face is probably due to the fact I fix the requirements
as squeekboard depends on older versions of packages that are no longer in Guix.

Should I bring the packages back or attempt to patch the Phosh upstream to use
newer versions of Rust crates?

Toggle quote (3 lines)
> Regarding that schema issue: does it occur as well when you install the
> phosh package?

I'm stuck with squeekboard with these errors:

```
Compiling rs v0.1.0 (/tmp/guix-build-squeekboard-1.17.0.drv-0/source)
error[E0599]: no function or associated item named `from_glib_none` found for struct `gtk::Widget` in the current scope
--> src/drawing.rs:262:40
|
262 | let widget = unsafe { gtk::Widget::from_glib_none(keyboard.0) };
| ^^^^^^^^^^^^^^ function or associated item not found in `gtk::Widget`
|
= help: items from traits can only be used if the trait is in scope
help: the following trait is implemented but not in scope; perhaps add a `use` for it:
|
3 | use glib::translate::FromGlibPtrNone;
|

error[E0599]: no method named `unwrap` found for struct `glib::variant::Variant` in the current scope
--> src/popover.rs:136:52
|
136 | let inputs = settings.get_value("sources").unwrap();
| ^^^^^^ method not found in `glib::variant::Variant`

error[E0308]: mismatched types
--> src/popover.rs:145:13
|
145 | &variants::ArrayPairString(inputs).to_variant(),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `glib::variant::Variant`, found struct `glib::Variant`
|
= note: expected reference `&glib::variant::Variant`
found reference `&glib::Variant`
= note: perhaps two different versions of crate `glib` are being used?

error[E0599]: no function or associated item named `from_glib_none` found for struct `gtk::Widget` in the current scope
--> src/popover.rs:253:40
|
253 | let window = unsafe { gtk::Widget::from_glib_none(window.0) };
| ^^^^^^^^^^^^^^ function or associated item not found in `gtk::Widget`
|
= help: items from traits can only be used if the trait is in scope
help: the following trait is implemented but not in scope; perhaps add a `use` for it:
|
3 | use glib::translate::FromGlibPtrNone;
|

error[E0599]: no method named `unwrap` found for struct `glib::variant::Variant` in the current scope
--> src/popover.rs:264:56
|
264 | let inputs = settings.get_value("sources").unwrap();
| ^^^^^^ method not found in `glib::variant::Variant`

error[E0308]: mismatched types
--> src/popover.rs:340:18
|
340 | Some(current_layout_name.to_variant().type_()),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `glib::variant_type::VariantTy`, found struct `VariantTy`
|
= note: expected reference `&glib::variant_type::VariantTy`
found reference `&VariantTy`
= note: perhaps two different versions of crate `glib` are being used?

error[E0308]: mismatched types
--> src/popover.rs:341:13
|
341 | &current_layout_name.to_variant()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `glib::variant::Variant`, found struct `glib::Variant`
|
= note: expected reference `&glib::variant::Variant`
found reference `&glib::Variant`
= note: perhaps two different versions of crate `glib` are being used?

error[E0308]: mismatched types
--> src/popover.rs:387:9
|
387 | Continue(false)
| ^^^^^^^^^^^^^^^ expected struct `glib::Continue`, found struct `gdk::prelude::Continue`
|
= note: perhaps two different versions of crate `glib` are being used?

error[E0599]: no method named `to_glib_full` found for struct `CssProvider` in the current scope
--> src/style.rs:64:18
|
64 | provider.to_glib_full()
| ^^^^^^^^^^^^ method not found in `CssProvider`
|
::: /tmp/guix-build-squeekboard-1.17.0.drv-0/source/guix-vendor/rust-glib-0.9.3.tar.gz/src/translate.rs:279:8
|
279 | fn to_glib_full(&self) -> P {
| ------------ the method is available for `CssProvider` here
|
= help: items from traits can only be used if the trait is in scope
help: the following trait is implemented but not in scope; perhaps add a `use` for it:
|
29 | use glib::translate::ToGlibPtr;
|

error[E0599]: the method `get_property` exists for reference `&gtk::Settings`, but its trait bounds were not satisfied
--> src/style.rs:104:44
|
104 | let prop = |s: &gtk::Settings, name| s.get_property(name);
| ^^^^^^^^^^^^ method cannot be called on `&gtk::Settings` due to unsatisfied trait bounds
|
::: /tmp/guix-build-squeekboard-1.17.0.drv-0/source/guix-vendor/rust-gtk-0.8.1.tar.gz/src/auto/settings.rs:23:1
|
23 | / glib_wrapper! {
24 | | pub struct Settings(Object<gtk_sys::GtkSettings, gtk_sys::GtkSettingsClass, SettingsClass>) @implements StyleProvider;
25 | |
26 | | match fn {
27 | | get_type => || gtk_sys::gtk_settings_get_type(),
28 | | }
29 | | }
| | -
| | |
| |_doesn't satisfy `gtk::Settings: glib::ObjectExt`
| doesn't satisfy `gtk::Settings: glib::ObjectType`
|
= note: the following trait bounds were not satisfied:
`gtk::Settings: glib::ObjectType`
which is required by `gtk::Settings: glib::ObjectExt`
`&gtk::Settings: glib::ObjectType`
which is required by `&gtk::Settings: glib::ObjectExt`
= help: items from traits can only be used if the trait is in scope
help: the following trait is implemented but not in scope; perhaps add a `use` for it:
|
21 | use gdk::prelude::ObjectExt;
|

Some errors have detailed explanations: E0308, E0599.
For more information about an error, try `rustc --explain E0308`.
error: could not compile `rs` due to 10 previous errors
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "cargo" arguments: ("build" "--release") exit-status: 101 term-signal: #f stop-signal: #f>
```


----
Petr
From d226b385bda38b1df7d9a0394fae881841371bdd Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Mon, 10 Jan 2022 14:40:17 +0100
Subject: [PATCH v3 1/5] gnu: Add rust-xkbcommon-0.4.

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

Toggle diff (51 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 90c95b6368..21d5eb868b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -85,6 +85,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)
@@ -71076,6 +71077,36 @@ (define-public rust-xml-rs-0.8
(description "An XML library in pure Rust.")
(license license:expat)))
+(define-public rust-xkbcommon-0.4
+ (package
+ (name "rust-xkbcommon")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "xkbcommon" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1kig3drxm3jbjlyxv9vxawpi2x32w2z9jxysxvg53gfsgmgym87x"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-libc" ,rust-libc-0.2)
+ ("rust-memmap" ,rust-memmap-0.7)
+ ("rust-xcb" ,rust-xcb-0.9))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-version-requirements
+ (lambda _
+ (substitute* "Cargo.toml"
+ (("0.8")
+ ,(package-version rust-xcb-0.9))))))))
+ (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.7
(package
(name "rust-xml-rs")
--
2.34.0
From f03a75ceeda012d486a68b06fd70beab390f3dbc Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Mon, 27 Dec 2021 20:23:25 +0100
Subject: [PATCH v3 4/5] gnu: Add squeekboard.

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

Toggle diff (77 lines)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 0bf5a8ed2f..a481b1db79 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -566,6 +566,70 @@ (define-public seed
(home-page "https://wiki.gnome.org/Projects/Seed")
(license license:lgpl2.0+)))
+(define-public squeekboard
+ (package
+ (name "squeekboard")
+ (version "1.17.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/World/Phosh/squeekboard")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "1612s6cim46a4rqzqpvz46m4l4kgdnf52bxgrpx7p4fp8r1qx3jk"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:modules ((guix build cargo-build-system)
+ (guix build utils)
+ (ice-9 textual-ports))
+ #:cargo-inputs
+ (("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
+ ("rust-cairo-rs" ,rust-cairo-rs-0.7)
+ ("rust-clap" ,rust-clap-2)
+ ("rust-gdk" ,rust-gdk-0.12)
+ ("rust-gio" ,rust-gio-0.7)
+ ("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gtk" ,rust-gtk-0.8)
+ ("rust-gtk-sys" ,rust-gtk-sys-0.9)
+ ("rust-bitflags" ,rust-bitflags-1)
+ ("rust-maplit" ,rust-maplit-1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-yaml" ,rust-serde-yaml-0.8)
+ ("rust-xkbcommon" ,rust-xkbcommon-0.4))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'patch-cargo-checksums 'fix-requirements
+ (lambda* _
+ (substitute* "Cargo.toml.in"
+ (("@path@/") ""))
+ (substitute* "Cargo.deps"
+ (("1.2") ,(version-major+minor (package-version
+ rust-bitflags-1)))
+ (("0.7") ,(version-major+minor (package-version
+ rust-gtk-0.8)))
+ (("0.11") ,(version-major+minor (package-version
+ rust-gdk-0.12)))
+ (("2.33") ,(version-major+minor (package-version
+ rust-clap-2))))))
+ (add-after 'fix-requirements 'prepare-cargo-toml
+ (lambda* (#:key source #:allow-other-keys)
+ (let* ((cargo-toml-in (call-with-input-file "Cargo.toml.in" get-string-all))
+ (cargo-deps (call-with-input-file "Cargo.deps" get-string-all))
+ (cargo-toml (open-file "Cargo.toml" "w")))
+ (display cargo-toml-in cargo-toml)
+ (display cargo-deps cargo-toml)
+ (close-output-port cargo-toml)))))))
+ (native-inputs (list wayland-protocols))
+ (inputs
+ (list gtk dbus))
+ (home-page "https://gitlab.gnome.org/World/Phosh/squeekboard")
+ (synopsis "On-screen-keyboard input method for Wayland")
+ (description "This package provides an on-screen-keyboard input
+ method for Wayland.")
+ (license license:gpl3+)))
+
(define-public libdmapsharing
(package
(name "libdmapsharing")
--
2.34.0
From 228be2a154607fa97d561366bd6f7e99fbcf61ab Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 17 Nov 2021 10:58:55 +0100
Subject: [PATCH v3 2/5] gnu: Add phoc.

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

Toggle diff (96 lines)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index bc99454b1b..0bf5a8ed2f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -69,6 +69,7 @@
;;; Copyright © 2022 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
+;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1168,6 +1169,81 @@ (define-public mm-common
(home-page "https://gitlab.gnome.org/GNOME/mm-common")
(license license:gpl2+)))
+(define-public phoc
+ (package
+ (name "phoc")
+ (version "0.9.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
+ "18nwjbyjxq11ppfdky3bnfh9pr23fjl2543jwva0iz1n6c8mkpd9"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:tests? #f ; requires server connection
+ #:phases
+ (modify-phases %standard-phases
+ ; source of wlroots required in subprojects/wlroots folder
+ (add-after 'unpack 'get-wlroots
+ (lambda* (#:key inputs #:allow-other-keys)
+ (copy-recursively (assoc-ref inputs "wlroots-librem5-source")
+ "subprojects/wlroots")
+ #t))
+ (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")))
+ #t))
+ ;; Those check a running phoc server against some screenshots in the repo.
+ ;; They differ only by the mouse cursor (shadow vs. no shadow).
+ (add-before 'patch-paths 'disable-failing-tests
+ (lambda _
+ (substitute* "tests/meson.build"
+ (("'layer-shell',") "")
+ (("'xdg-shell',") "")
+ (("'phosh'") ""))
+ #t))
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ #t)))))
+ (native-inputs
+ `(("gobject-introspection" ,gobject-introspection)
+ ("glib:bin" ,glib "bin")
+ ("gnome-desktop" ,gnome-desktop)
+ ("libinput" ,libinput)
+ ("libxkbcommon" ,libxkbcommon)
+ ("pkg-config" ,pkg-config)
+ ("wayland" ,wayland)
+ ("wayland-protocols" ,wayland-protocols)
+ ("wlroots-librem5-source" ; patched version for Librem 5
+ ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://source.puri.sm/Librem5/wlroots.git")
+ (commit "5413b1ec61c6e3390929db595c0ec92f92ea2594")))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "02q70244sfs2jzl8mxsvd51rrv59jxllyss821xgg0cmq49rgq5w"))))
+ ("xorg-server" ,xorg-server-for-tests)))
+ (propagated-inputs
+ `(("mutter" ,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.34.0
From b87ce61b64b067bf60341e476bae37db7880a35a Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 17 Nov 2021 11:10:16 +0100
Subject: [PATCH v3 3/5] gnu: Add callaudiod.

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

Toggle diff (48 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 13e0f02837..3b452954d7 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -36,6 +36,7 @@
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2021 jgart <jgart@dismail.de>
;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org>
+;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2022 Arjan Adriaanse <arjan@adriaan.se>
;;;
;;; This file is part of GNU Guix.
@@ -1076,6 +1077,33 @@ (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.1")
+ (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
+ "04pn6f9p2n0qsy7cbchmnqlmjfvn908vdryc4y38srnj3xiq212l"))))
+ (build-system meson-build-system)
+ (native-inputs `(("alsa-lib" ,alsa-lib)
+ ("glib" ,glib)
+ ("glib" ,glib "bin")
+ ("pkg-config" ,pkg-config)
+ ("pulseaudio" ,pulseaudio)))
+ (inputs `(("alsa-utils" ,alsa-utils)
+ ("pulseaudio" ,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.34.0
P
P
phodina wrote on 14 Aug 2022 22:00
Re: [PATCH v4]: gnu: Add phosh.
(name . 44400@debbugs.gnu.org)(address . 44400@debbugs.gnu.org)
zt0WQEBDCQ9SETrWHHx7f1ugXwdr0RKlAJanF6KxqWMSKZjjgYAKVAo3gXpnfT5aEEFavuDEwT4zM9iYggY0nSb6AK43IAjVeoHDk7MhijM=@protonmail.com
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.


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

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

Toggle diff (24 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (34 lines)
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 <phodina@protonmail.com>
Date: Wed, 17 Nov 2021 10:58:55 +0100
Subject: [PATCH v4 04/38] gnu: Add phoc.

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

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

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

Toggle diff (57 lines)
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 d1f3e15657bd6cd0e1b056c818f12842359e6755 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 3 Aug 2022 11:25:27 +0200
Subject: [PATCH v4 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.

Toggle diff (55 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (61 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (37 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (63 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (45 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (24 lines)
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 <phodina@protonmail.com>
Date: Wed, 17 Nov 2021 11:10:16 +0100
Subject: [PATCH v4 05/38] gnu: Add callaudiod.

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

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

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

Toggle diff (35 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (36 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (36 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (53 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (23 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (40 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (91 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (47 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (36 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (51 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (55 lines)
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 <phodina@protonmail.com>
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

Toggle diff (37 lines)
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 <phodina@protonmail.com>
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

Toggle diff (33 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (34 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (63 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (35 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (40 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (51 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (52 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (65 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (53 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (54 lines)
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 <phodina@protonmail.com>
Date: Tue, 9 Aug 2022 23:36:21 +0200
Subject: [PATCH v4 38/38] ! gnu: enable features.


Toggle diff (58 lines)
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 <phodina@protonmail.com>
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.

Toggle diff (68 lines)
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 <phodina@protonmail.com>
Date: Mon, 27 Dec 2021 20:23:25 +0100
Subject: [PATCH v4 37/38] gnu: Add squeekboard.

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

Toggle diff (78 lines)
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
?