From patchwork Thu Mar 24 13:32:53 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: phodina X-Patchwork-Id: 38037 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id CC89827BBE9; Thu, 24 Mar 2022 13:35:05 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id F376427BBEA for ; Thu, 24 Mar 2022 13:35:03 +0000 (GMT) Received: from localhost ([::1]:60270 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nXNcF-0000MW-3D for patchwork@mira.cbaines.net; Thu, 24 Mar 2022 09:35:03 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52942) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nXNbH-00080p-0b for guix-patches@gnu.org; Thu, 24 Mar 2022 09:34:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:53169) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nXNbG-0003n6-OP for guix-patches@gnu.org; Thu, 24 Mar 2022 09:34:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nXNbG-0003og-DX for guix-patches@gnu.org; Thu, 24 Mar 2022 09:34:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#44400] [PATCH v3 1/5] WIP: gnu: Add phosh. Resent-From: phodina Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 24 Mar 2022 13:34:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 44400 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "44400@debbugs.gnu.org" <44400@debbugs.gnu.org> Received: via spool by 44400-submit@debbugs.gnu.org id=B44400.164812879714599 (code B ref 44400); Thu, 24 Mar 2022 13:34:02 +0000 Received: (at 44400) by debbugs.gnu.org; 24 Mar 2022 13:33:17 +0000 Received: from localhost ([127.0.0.1]:47062 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nXNaN-0003nC-5x for submit@debbugs.gnu.org; Thu, 24 Mar 2022 09:33:17 -0400 Received: from mail-40131.protonmail.ch ([185.70.40.131]:56757) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nXNaJ-0003md-PG for 44400@debbugs.gnu.org; Thu, 24 Mar 2022 09:33:05 -0400 Date: Thu, 24 Mar 2022 13:32:53 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail; t=1648128776; bh=5Z8lNhb7gNOhy0b3/RbEZhSyfn/aY2H/KffkR5jx/2k=; h=Date:To:From:Reply-To:Subject:Message-ID:In-Reply-To:References: From:To:Cc:Date:Subject:Reply-To:Feedback-ID:Message-ID; b=GYobxPZxGGihM+xRAxcASRIzGE1D0fjBiE/6AgNR/TzYvaIIY7hbCuV/GpvkF19Gu kHgPf5rjQuDVhxtCHtSjNKk++SEWBvgfgTBwQnLWq3wa4D84oQ0GVATS/Bt0+EMEcl 84P/4kRsLyjp9S5nY130lPJb7/M9EB+nJWmH+qUDaMLFK3iiDTSdNP1sj8UDJEQMm2 /he1oEGosBqrpXA4HfQYmo1Pr4lyZP7ULWHlUPiZNqq1glQzfn+yogQQsUMt99pdjP wIqFWzdg8Ok3WZd8s1gaUHsmZt2/ZuFERowMv0WU9Q7N73xHV4jIAO81Y3u4xqoQFQ +0EE61GVsdaKQ== Message-ID: In-Reply-To: References: <20201102221301.23038-1-jonathan.brielmaier@web.de> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" Reply-to: phodina X-ACL-Warn: , phodina via Guix-patches X-Patchwork-Original-From: phodina via Guix-patches via From: phodina X-getmail-retrieved-from-mailbox: Patches 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? > 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 | ¤t_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 `>k::Settings`, but its trait bounds were not satisfied --> src/style.rs:104:44 | 104 | let prop = |s: >k::Settings, name| s.get_property(name); | ^^^^^^^^^^^^ method cannot be called on `>k::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) @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` `>k::Settings: glib::ObjectType` which is required by `>k::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 From 1fc1bca4767f9876dd6d6cb102e76ab8d8bca120 Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Wed, 17 Nov 2021 11:14:15 +0100 Subject: [PATCH v3 5/5] gnu: Add phosh. * gnu/packages/gnome.scm (phosh): New variable. diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index a481b1db79..c2e1223725 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -91,6 +91,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) @@ -1353,6 +1354,112 @@ (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 + `(#:modules ((guix build meson-build-system) + ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) + (guix build utils) + (ice-9 match)) + #:imported-modules ((guix build glib-or-gtk-build-system) + ,@%meson-build-system-modules) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'get-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"))) + ;; we use elogind instead of systemd + (add-after 'unpack 'patch-systemd + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "meson.build" + (("libsystemd") "libelogind")) + (substitute* "src/meson.build" + (("libsystemd_dep") "libelogind_dep")) + (substitute* "src/util.c" + (("systemd/sd-login.h") "elogind/sd-login.h")) + (substitute* "src/main.c" + (("systemd/sd-daemon.h") "elogind/sd-daemon.h")))) + (add-before 'configure 'fix-phoc-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "data/phosh.in" + (("@bindir@") (string-append (assoc-ref inputs "phoc") "/bin"))))) + (add-after 'install 'glib-or-gtk-compile-schemas + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas)) + (add-after 'install 'glib-or-gtk-wrap + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)) + (delete 'check) ; TODO: needs a running wayland compositor + ))) + (native-inputs + `(("elogind" ,elogind) + ("gcr" ,gcr) + ("gettext" ,gettext-minimal) + ("git" ,git) + ("glib:bin" ,glib "bin") + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gnome-desktop" ,gnome-desktop) + ("gtk+:bin" ,gtk+ "bin") + ("pkg-config" ,pkg-config))) + (inputs `( + ("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) + ("polkit" ,polkit) + ("upower" ,upower) + ("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.34.0 From patchwork Sun Nov 28 10:46:14 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: phodina X-Patchwork-Id: 34847 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 7817927BBEA; Sun, 28 Nov 2021 10:47:19 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id DCCF427BBE9 for ; Sun, 28 Nov 2021 10:47:18 +0000 (GMT) Received: from localhost ([::1]:57336 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mrHiI-0002TW-2L for patchwork@mira.cbaines.net; Sun, 28 Nov 2021 05:47:18 -0500 Received: from eggs.gnu.org ([209.51.188.92]:38228) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mrHi2-0002TL-A2 for guix-patches@gnu.org; Sun, 28 Nov 2021 05:47:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:51710) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mrHi2-000302-1P for guix-patches@gnu.org; Sun, 28 Nov 2021 05:47:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mrHi1-0004pM-Pc for guix-patches@gnu.org; Sun, 28 Nov 2021 05:47:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#44400] [PATCH v2 4/4] WIP: gnu: Add phosh. Resent-From: phodina Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 28 Nov 2021 10:47:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 44400 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Jonathan Brielmaier Cc: "44400@debbugs.gnu.org" <44400@debbugs.gnu.org> Received: via spool by 44400-submit@debbugs.gnu.org id=B44400.163809638918464 (code B ref 44400); Sun, 28 Nov 2021 10:47:01 +0000 Received: (at 44400) by debbugs.gnu.org; 28 Nov 2021 10:46:29 +0000 Received: from localhost ([127.0.0.1]:35023 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrHhU-0004ni-9e for submit@debbugs.gnu.org; Sun, 28 Nov 2021 05:46:28 -0500 Received: from mail-40134.protonmail.ch ([185.70.40.134]:21779) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrHhR-0004nH-Uj for 44400@debbugs.gnu.org; Sun, 28 Nov 2021 05:46:27 -0500 Date: Sun, 28 Nov 2021 10:46:14 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail; t=1638096374; bh=iYlFKf+t5guc7wY1EWCm0JT/jn7ehIc7EjiU//NZJM8=; h=Date:To:From:Cc:Reply-To:Subject:In-Reply-To:References:From; b=EKBKfv+wlRDvZgLpTXYQZDietzyfvaq1XyOP2W0WiQ8euI7ZEfokn0BUkfFzFNEHc 3i6ACVbsWD9xDPkTtYAF63hnMvymauvPQc0rO687JEDU8RvtDvpoLpzDfaT5c5okVa rulsoGQqKPL28h4otikAAk4x976iwtIqfNyLFMfY= Message-ID: In-Reply-To: References: <20201102221301.23038-1-jonathan.brielmaier@web.de> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" Reply-to: phodina X-ACL-Warn: , phodina via Guix-patches X-Patchwork-Original-From: phodina via Guix-patches via From: phodina X-getmail-retrieved-from-mailbox: Patches 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 From 9aefa3e4a808d0e49040ea16ebd3660e75133121 Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Wed, 17 Nov 2021 11:14:15 +0100 Subject: [PATCH v3] WIP: gnu: Add phosh. * gnu/packages/gnome.scm (phosh): New variable. diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 9348cf356e..a0d4e90927 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,102 @@ (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"))) + ;; we use elogind instead of systemd + (add-after 'unpack 'patch-systemd + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "meson.build" + (("libsystemd") "libelogind")) + (substitute* "src/meson.build" + (("libsystemd_dep") "libelogind_dep")) + (substitute* "src/util.c" + (("systemd/sd-login.h") "elogind/sd-login.h")) + (substitute* "src/main.c" + (("systemd/sd-daemon.h") "elogind/sd-daemon.h")))) + (add-before 'configure 'fix-phoc-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "data/phosh.in" + (("@bindir@") (string-append (assoc-ref inputs "phoc") "/bin"))))) + (delete 'check) ; TODO: needs a running wayland compositor + ))) + (native-inputs + `(("elogind" ,elogind) + ("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