guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#44400] [PATCH v3 1/5] WIP: gnu: Add phosh.


From: phodina
Subject: [bug#44400] [PATCH v3 1/5] WIP: gnu: Add phosh.
Date: Thu, 24 Mar 2022 13:32:53 +0000

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

Attachment: v3-0001-gnu-Add-rust-xkbcommon-0.4.patch
Description: Text Data

Attachment: v3-0004-gnu-Add-squeekboard.patch
Description: Text Data

Attachment: v3-0002-gnu-Add-phoc.patch
Description: Text Data

Attachment: v3-0003-gnu-Add-callaudiod.patch
Description: Text Data

Attachment: v3-0005-gnu-Add-phosh.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]