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

Full log


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)]

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

Previous Next


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