Subject: [bug#44400] [PATCH 2/2] WIP: gnu: Add phosh.

From: Jonathan Brielmaier <[email-masked]>
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