GNU bug report logs - #44400
[PATCH 0/2] WIP: Add phosh.

Previous Next

Package: guix-patches;

Reported by: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>

Date: Mon, 2 Nov 2020 22:14:02 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 44400 AT debbugs.gnu.org.

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

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


Report forwarded to guix-patches <at> gnu.org:
bug#44400; Package guix-patches. (Mon, 02 Nov 2020 22:14:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jonathan Brielmaier <jonathan.brielmaier <at> web.de>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 02 Nov 2020 22:14:02 GMT) Full text and rfc822 format available.

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

From: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
To: guix-patches <at> gnu.org
Cc: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
Subject: [PATCH 0/2] WIP: Add phosh.
Date: Mon,  2 Nov 2020 23:13:01 +0100
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:
https://github.com/elogind/elogind/commit/e197b9443b0dd3812396f1d3502f2e9ef5b6e6f0

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





Information forwarded to guix-patches <at> gnu.org:
bug#44400; Package guix-patches. (Mon, 02 Nov 2020 22:29:01 GMT) Full text and rfc822 format available.

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

From: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
To: 44400 <at> debbugs.gnu.org
Cc: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
Subject: [PATCH 1/2] WIP: gnu: Add phoc.
Date: Mon,  2 Nov 2020 23:28:26 +0100
* gnu/packages/gnome.scm (phoc): New variable.
---
 gnu/packages/gnome.scm | 73 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)

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





Information forwarded to guix-patches <at> gnu.org:
bug#44400; Package guix-patches. (Mon, 02 Nov 2020 22:29:02 GMT) Full text and rfc822 format available.

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

From: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
To: 44400 <at> debbugs.gnu.org
Cc: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
Subject: [PATCH 2/2] WIP: gnu: Add phosh.
Date: Mon,  2 Nov 2020 23:28:27 +0100
* gnu/packages/gnome.scm (phosh): New variable.
---
 gnu/packages/gnome.scm | 66 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)

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





Information forwarded to guix-patches <at> gnu.org:
bug#44400; Package guix-patches. (Mon, 08 Feb 2021 11:04:01 GMT) Full text and rfc822 format available.

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

From: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
To: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>, 44400 <at> debbugs.gnu.org
Subject: Re: [PATCH 2/2] WIP: gnu: Add phosh.
Date: Mon, 8 Feb 2021 12:02:57 +0100
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:
https://git.alpinelinux.org/aports/tree/community/elogind/APKBUILD#n69

The other one would be adding elogind support to upstream phosh. I'll
try for that and keep you updated...




Information forwarded to guix-patches <at> gnu.org:
bug#44400; Package guix-patches. (Wed, 17 Nov 2021 10:18:01 GMT) Full text and rfc822 format available.

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

From: phodina <phodina <at> protonmail.com>
To: "44400 <at> debbugs.gnu.org" <44400 <at> debbugs.gnu.org>
Subject: [PATCH v2 1/4] gnu: Add phoc.
Date: Wed, 17 Nov 2021 10:16:41 +0000
* gnu/packages/gnome.scm (phoc): New variable.

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 <at> okstate.edu>
 ;;; Copyright © 2021 Solene Rapenne <solene <at> perso.pw>
 ;;; Copyright © 2021 Mathieu Othacehe <othacehe <at> gnu.org>
+;;; Copyright © 2021 Petr Hodina <phodina <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#44400; Package guix-patches. (Wed, 17 Nov 2021 10:18:02 GMT) Full text and rfc822 format available.

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

From: phodina <phodina <at> protonmail.com>
To: "44400 <at> debbugs.gnu.org" <44400 <at> debbugs.gnu.org>
Subject: [PATCH v2 2/4] gnu: libhandy: Update to 1.5.0.
Date: Wed, 17 Nov 2021 10:17:32 +0000
* gnu/packages/gnome.scm (libhandy): Update to 1.5.0.

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




Information forwarded to guix-patches <at> gnu.org:
bug#44400; Package guix-patches. (Wed, 17 Nov 2021 10:19:02 GMT) Full text and rfc822 format available.

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

From: phodina <phodina <at> protonmail.com>
To: "44400 <at> debbugs.gnu.org" <44400 <at> debbugs.gnu.org>
Subject: [PATCH v2 3/4] gnu: Add callaudiod.
Date: Wed, 17 Nov 2021 10:18:19 +0000
* gnu/packages/audio.scm (callaudiod): New variable.

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 <at> autistici.org>
 ;;; Copyright © 2020, 2021 Vinicius Monego <monego <at> posteo.net>
 ;;; Copyright © 2020 Michael Rohleder <mike <at> rohleder.de>
+;;; Copyright © 2021 Petr Hodina <phodina <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#44400; Package guix-patches. (Wed, 17 Nov 2021 10:20:02 GMT) Full text and rfc822 format available.

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

From: phodina <phodina <at> protonmail.com>
To: "44400 <at> debbugs.gnu.org" <44400 <at> debbugs.gnu.org>
Subject: [PATCH v2 4/4] WIP: gnu: Add phosh.
Date: Wed, 17 Nov 2021 10:19:11 +0000
* gnu/packages/gnome.scm (phosh): New variable.

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




Information forwarded to guix-patches <at> gnu.org:
bug#44400; Package guix-patches. (Wed, 17 Nov 2021 10:27:01 GMT) Full text and rfc822 format available.

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

From: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
To: phodina <phodina <at> protonmail.com>,
 "44400 <at> debbugs.gnu.org" <44400 <at> debbugs.gnu.org>
Subject: Re: [bug#44400] [PATCH v2 4/4] WIP: gnu: Add phosh.
Date: Wed, 17 Nov 2021 11:26:14 +0100
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...




Information forwarded to guix-patches <at> gnu.org:
bug#44400; Package guix-patches. (Wed, 17 Nov 2021 10:27:02 GMT) Full text and rfc822 format available.

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

From: phodina <phodina <at> protonmail.com>
To: "44400 <at> debbugs.gnu.org" <44400 <at> debbugs.gnu.org>
Subject: Phosh v2 patches comments
Date: Wed, 17 Nov 2021 10:26:39 +0000
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






Information forwarded to guix-patches <at> gnu.org:
bug#44400; Package guix-patches. (Wed, 17 Nov 2021 10:33:02 GMT) Full text and rfc822 format available.

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

From: phodina <phodina <at> protonmail.com>
To: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
Cc: "44400 <at> debbugs.gnu.org" <44400 <at> debbugs.gnu.org>
Subject: Re: [bug#44400] [PATCH v2 4/4] WIP: gnu: Add phosh.
Date: Wed, 17 Nov 2021 10:32:01 +0000
On Wednesday, November 17th, 2021 at 11:26 AM, Jonathan Brielmaier <jonathan.brielmaier <at> web.de> wrote:

> 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.




Information forwarded to guix-patches <at> gnu.org:
bug#44400; Package guix-patches. (Sun, 28 Nov 2021 10:47:01 GMT) Full text and rfc822 format available.

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

From: phodina <phodina <at> protonmail.com>
To: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
Cc: "44400 <at> debbugs.gnu.org" <44400 <at> debbugs.gnu.org>
Subject: Re: [bug#44400] [PATCH v2 4/4] WIP: gnu: Add phosh.
Date: Sun, 28 Nov 2021 10:46:14 +0000
[Message part 1 (text/plain, inline)]
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 <at> 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


[v3-0001-WIP-gnu-Add-phosh.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#44400; Package guix-patches. (Fri, 04 Mar 2022 17:41:01 GMT) Full text and rfc822 format available.

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

From: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
To: 44400 <at> debbugs.gnu.org
Subject: [PATCH 0/2] WIP: Add phosh.
Date: Fri, 4 Mar 2022 18:40:31 +0100
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




Information forwarded to guix-patches <at> gnu.org:
bug#44400; Package guix-patches. (Thu, 24 Mar 2022 13:34:02 GMT) Full text and rfc822 format available.

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

From: phodina <phodina <at> protonmail.com>
To: "44400 <at> debbugs.gnu.org" <44400 <at> debbugs.gnu.org>
Subject: [PATCH v3 1/5] WIP: gnu: Add phosh.
Date: Thu, 24 Mar 2022 13:32:53 +0000
[Message part 1 (text/plain, inline)]
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 <at> 1.2.0 markets <at> 0.5.3 gtranslator <at> 40.0 apostrophe <at> 2.5 eiciel <at> 0.9.13.1 denemo <at> 2.6.0
gpaste <at> 3.42.2 arc-theme <at> 20210412 gnome-shell-extension-gsconnect <at> 48
 numix-gtk-theme <at> 2.6.7 eolie <at> 0.9.101 deja-dup <at> 42.8 lollypop <at> 1.4.24 gnome-tweaks <at> 40.0
 passwordsafe <at> 5.1 geary <at> 40.0 komikku <at> 0.37.0 phosh <at> 0.14.0 seahorse <at> 41.0 gnome <at> 41.0
 tootle <at> 1.0 chatty <at> 0.4.0 sideload <at> 6.0.2 giara <at> 0.3 gfeeds <at> 0.16.2 blanket <at> 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?

> 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>
```

[1] https://gitlab.gnome.org/World/Phosh/phosh/-/issues/692

----
Petr
[v3-0001-gnu-Add-rust-xkbcommon-0.4.patch (text/x-patch, attachment)]
[v3-0004-gnu-Add-squeekboard.patch (text/x-patch, attachment)]
[v3-0002-gnu-Add-phoc.patch (text/x-patch, attachment)]
[v3-0003-gnu-Add-callaudiod.patch (text/x-patch, attachment)]
[v3-0005-gnu-Add-phosh.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#44400; Package guix-patches. (Sun, 14 Aug 2022 20:01:02 GMT) Full text and rfc822 format available.

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

From: phodina <phodina <at> protonmail.com>
To: "44400 <at> debbugs.gnu.org" <44400 <at> debbugs.gnu.org>
Cc: Efraim Flashner <efraim <at> flashner.co.il>,
 Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
Subject: Re: [PATCH v4]: gnu: Add phosh.
Date: Sun, 14 Aug 2022 20:00:38 +0000
[Message part 1 (text/plain, inline)]
Hi Jonathan and Efraim,

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

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

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

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

----
Petr 
[v4-0002-gnu-libdrm-Update-to-2.4.112.patch (text/x-patch, attachment)]
[v4-0003-gnu-wlroots-Update-to-0.15.1.patch (text/x-patch, attachment)]
[v4-0004-gnu-Add-phoc.patch (text/x-patch, attachment)]
[v4-0001-gnu-wayland-protocols-Update-to-1.26.patch (text/x-patch, attachment)]
[v4-0007-gnu-Add-rust-hashbrown-0.12.patch (text/x-patch, attachment)]
[v4-0006-gnu-Add-phosh.patch (text/x-patch, attachment)]
[v4-0017-gnu-Add-rust-ntest-timeout-0.7.patch (text/x-patch, attachment)]
[v4-0008-gnu-Add-rust-object-0.29.patch (text/x-patch, attachment)]
[v4-0009-gnu-Add-rust-object-0.27.patch (text/x-patch, attachment)]
[v4-0010-gnu-Add-rust-gimli-0.26.patch (text/x-patch, attachment)]
[v4-0012-gnu-Add-rust-backtrace-next.patch (text/x-patch, attachment)]
[v4-0020-gnu-rust-doc-comment-0.3-Update-to-0.3.56.patch (text/x-patch, attachment)]
[v4-0005-gnu-Add-callaudiod.patch (text/x-patch, attachment)]
[v4-0014-gnu-Add-rust-once-cell-next.patch (text/x-patch, attachment)]
[v4-0025-gnu-Add-rust-zbus-polkit-1.patch (text/x-patch, attachment)]
[v4-0023-gnu-Add-rust-zbus-macros-1.patch (text/x-patch, attachment)]
[v4-0019-gnu-Add-rust-ntest-0.7.patch (text/x-patch, attachment)]
[v4-0024-gnu-rust-nix-0.22-Update-to-0.22.3.patch (text/x-patch, attachment)]
[v4-0022-gnu-Add-rust-zvariant-2.patch (text/x-patch, attachment)]
[v4-0013-gnu-Add-rust-parking-lot-core-0.9.patch (text/x-patch, attachment)]
[v4-0032-gnu-Add-rust-xkbcommon-0.4.patch (text/x-patch, attachment)]
[v4-0021-gnu-Add-rust-zvariant-derive-2.patch (text/x-patch, attachment)]
[v4-0018-gnu-Add-rust-ntest-test-cases-0.7.patch (text/x-patch, attachment)]
[v4-0030-gnu-Add-rust-bitvec-1.patch (text/x-patch, attachment)]
[v4-0031-gnu-Add-rust-evdev-0.11.patch (text/x-patch, attachment)]
[v4-0034-gnu-Add-rust-clap-lex-0.2.patch (text/x-patch, attachment)]
[v4-0016-gnu-Add-rust-ntest-proc-macro-helper-0.7.patch (text/x-patch, attachment)]
[v4-0033-gnu-Add-rust-textwrap-0.15.patch (text/x-patch, attachment)]
[v4-0015-gnu-Add-rust-proc-macro-crate-next.patch (text/x-patch, attachment)]
[v4-0035-gnu-rust-clap-derive-3-Update-to-3.1.18.patch (text/x-patch, attachment)]
[v4-0026-gnu-Add-rust-zbus-1.patch (text/x-patch, attachment)]
[v4-0028-gnu-Add-rust-radium-0.7.patch (text/x-patch, attachment)]
[v4-0011-gnu-Add-rust-addr2line-0.17.patch (text/x-patch, attachment)]
[v4-0027-gnu-Add-rust-wyz-0.5.patch (text/x-patch, attachment)]
[v4-0029-gnu-Add-rust-funty-2.patch (text/x-patch, attachment)]
[v4-0038-gnu-enable-features.patch (text/x-patch, attachment)]
[v4-0036-gnu-rust-clap-3-Update-to-3.1.18.patch (text/x-patch, attachment)]
[v4-0037-gnu-Add-squeekboard.patch (text/x-patch, attachment)]

This bug report was last modified 2 years and 360 days ago.

Previous Next


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