guix-devel
[Top][All Lists]
Advanced

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

Re: [Patch 10/10] Add ring-client-gnome.


From: Lukas Gradl
Subject: Re: [Patch 10/10] Add ring-client-gnome.
Date: Sat, 17 Sep 2016 11:38:33 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Thank you for your review!
And Sorry for my late answer!

Danny Milosavljevic <address@hidden> writes:

>> +      (propagated-inputs
>> +       `(("libring" ,libring) ; This is needed to run dring.
>
> Wait... I don't understand why it's required to be propagated...
>

I was not sure how to handle this properly.  The package libring
provides a program 'dring', which is a daemon that, as far as I
understand, does all the communication with peers on the internet.  So
in order to place a call, one first needs to run 'dring &' and then
start the ring-client-gnome.  If the ring daemon is not running, then
ring-client-gnome won't do anything useful, it will just error out on
startup.

Looking at the manual, this does not justify propagation.  My intention
was that people can just install ring-client-gnome in a profile and it
will work.  If libring is not propagated, it will also need to be
installed by hand.

Is there a good way to specify this kind of runtime requirement?  I
could also just move it to 'inputs' and put a hint in the description
that libring should be installed alongside ring-client-gnome.


>> +         ("evolution-data-server" ,evolution-data-server)))
>
> Hmm. Why is it propagated? Most other packages seem to be able to use it as a 
> regular input just fine. Are they wrong?

This is a similar issue.  I use ratpoison and do not have
evolution-data-server in my profile.  Then, if I do this:

---8<--- cut here -------------------- start --->8---
address@hidden guix package --list-installed | grep evolution-data-server
address@hidden 
address@hidden ./pre-inst-env guix environment --no-substitutes --no-grafts 
--ad-hoc ring-client-gnome
warning: failed to install locale: Invalid argument
accepted connection from pid 686, user lukas
address@hidden [env]$ dring &
[1] 708
address@hidden [env]$ ring.cx
Ring Daemon 2.3.0, by Savoir-faire Linux 2004-2016
http://www.ring.cx/
[Video support enabled]

10:59:14.283 os_core_unix.c !pjlib 2.4 for POSIX initialized

(gnome-ring:711): Gtk-WARNING **: Locale not supported by C library.
        Using the fallback 'C' locale.
** Message: Ring GNOME client version: 1.0.0
** Message: git ref: unknown

(gnome-ring:711): Clutter-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
Updating all accounts
Loading "708d2bd2d3639223"
Account parameter " "Account.presenceSubscribeSupported" " not found
Loading "45662ba5f88c4297"
Loading vcf from: QDir( "/home/lukas/.local/share/gnome-ring/profiles" , 
nameFilters = { "*" },  QDir::SortFlags( Name | IgnoreCase ) , QDir::Filters( 
Dirs|Files|Drives|AllEntries ) )

(gnome-ring:711): GLib-GIO-ERROR **: Settings schema 
'org.gnome.Evolution.DefaultSources' is not installed

/gnu/store/p2pxykqp746za9z3cxply4hpjff3qfxa-profile/bin/ring.cx: line 46:   711 
Trace/breakpoint trap   gnome-ring $*
address@hidden [env]$
---8<--- cut here -------------------- end ----->8---

It throws an error that I do not get if I instead do:

---8<--- cut here -------------------- start --->8---
address@hidden ./pre-inst-env guix environment --no-substitutes --no-grafts 
--ad-hoc ring-client-gnome evolution-data-server
warning: failed to install locale: Invalid argument
accepted connection from pid 1120, user lukas
address@hidden [env]$ dring &
[1] 1133
address@hidden [env]$ Ring Daemon 2.3.0, by Savoir-faire Linux 2004-2016
http://www.ring.cx/
[Video support enabled]

11:22:50.300 os_core_unix.c !pjlib 2.4 for POSIX initialized

address@hidden [env]$ ring.cx

(gnome-ring:1150): Gtk-WARNING **: Locale not supported by C library.
        Using the fallback 'C' locale.
** Message: Ring GNOME client version: 1.0.0
** Message: git ref: unknown

(gnome-ring:1150): Clutter-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
Updating all accounts
Loading "708d2bd2d3639223"
Account parameter " "Account.presenceSubscribeSupported" " not found
Loading "45662ba5f88c4297"
Loading vcf from: QDir( "/home/lukas/.local/share/gnome-ring/profiles" , 
nameFilters = { "*" },  QDir::SortFlags( Name | IgnoreCase ) , QDir::Filters( 
Dirs|Files|Drives|AllEntries ) )

(gnome-ring:1150): Gtk-WARNING **: gtkwidget.c:8523: widget not within a 
GtkWindow
QDBusMarshaller: type `VectorString' attempts to redefine basic D-BUS type 'as' 
(QStringList) (Did you forget to call beginStructure() ?)
QDBusMarshaller: type `MapStringVectorString' produces invalid D-BUS signature 
`a{s}' (Did you forget to call beginStructure() ?)
QDBusMarshaller: type `QMap<QString,MapStringVectorString>' produces invalid 
D-BUS signature `a{s}' (Did you forget to call beginStructure() ?)
Invalid current audio plugin
Selection changed 0
Selection changed 0

** (gnome-ring:1150): CRITICAL **: Unable to create EDS registry: Error calling 
StartServiceByName for org.gnome.evolution.dataserver.Sources5: 
GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildSignaled: Process 
org.gnome.evolution.dataserver.Sources5 received signal 5

  C-c C-c
address@hidden [env]$ 
---8<--- cut here -------------------- end ----->8---

The main window pops up and it works.  I tried to solve this by
propagating evolution-data-server, however, the same thing still
happens.  If evolution-data-server is not explicitly installed, then
ring-client-gnome doesn't find it.  I am not sure how to proceed on
this.  I thought I had seen the same behavior with the package
'gnome-calendar' which also uses evolution-data-server, however, I am
not able to reproduce it now:

---8<--- cut here -------------------- start --->8---
address@hidden ./pre-inst-env guix environment --no-substitutes --no-grafts 
--ad-hoc gnome-calendar
warning: failed to install locale: Invalid argument
accepted connection from pid 6782, user lukas
address@hidden [env]$ gnome-calendar

(process:6793): libecal-CRITICAL **: e_cal_util_get_system_timezone: assertion 
'location != NULL' failed

** (process:6793): WARNING **: Failed to access calendar configuration: Error 
calling StartServiceByName for org.gnome.evolution.dataserver.Sources5: 
GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildSignaled: Process 
org.gnome.evolution.dataserver.Sources5 received signal 5

** (process:6793): CRITICAL **: e_cal_data_model_set_timezone: assertion 'zone 
!= NULL' failed

(gnome-calendar:6793): Gtk-WARNING **: Locale not supported by C library.
        Using the fallback 'C' locale.

(gnome-calendar:6793): libecal-CRITICAL **: e_cal_util_get_system_timezone: 
assertion 'location != NULL' failed

(gnome-calendar:6793): libecal-CRITICAL **: e_cal_util_get_system_timezone: 
assertion 'location != NULL' failed

(gnome-calendar:6793): GLib-GIO-ERROR **: Settings schema 
'org.gnome.shell.calendar' is not installed

Trace/breakpoint trap
address@hidden [env]$ exit
address@hidden ./pre-inst-env guix environment --no-substitutes --no-grafts 
--ad-hoc gnome-calendar evolution-data-server
warning: failed to install locale: Invalid argument
accepted connection from pid 6805, user lukas
The following derivations will be built:
   /gnu/store/3p1ggs14p303s7l348qvvkaxlhx93g96-profile.drv
   /gnu/store/wkv432071y8ny4805wx7l8dz738il5ap-ca-certificate-bundle.drv
   /gnu/store/m7cx7q37qfk0bzql20cvgb38pqy2qjyx-xdg-mime-database.drv
   /gnu/store/jjj4628gf3mrvy4psaqsl3frl4wl310j-xdg-desktop-database.drv
   /gnu/store/i66lqa6sik03m8f1qnw7yha1p2cnc25a-info-dir.drv
   /gnu/store/82gf9ak5sr7s6imbvgdi8aahw6z3xb3y-gtk-icon-themes.drv
   /gnu/store/3lhi0yx05k5f3fplnpasksyqfsw5gkyp-fonts-dir.drv
warning: collision encountered: 
/gnu/store/grppcf85880nbzfvj9rg4fc90zx7papz-gtk+-3.20.3/share/icons/hicolor/icon-theme.cache
 
/gnu/store/153wx94y4505kjlbvfyr20q8bafjv998-gnome-calendar-3.20.2/share/icons/hicolor/icon-theme.cache
 
warning: arbitrarily choosing 
/gnu/store/grppcf85880nbzfvj9rg4fc90zx7papz-gtk+-3.20.3/share/icons/hicolor/icon-theme.cache
warning: collision encountered: 
/gnu/store/ry5ylm1fyjpr875gwga39vj459ccld4q-gtk-icon-themes/share/icons/hicolor/icon-theme.cache
 
/gnu/store/grppcf85880nbzfvj9rg4fc90zx7papz-gtk+-3.20.3/share/icons/hicolor/icon-theme.cache
 
/gnu/store/153wx94y4505kjlbvfyr20q8bafjv998-gnome-calendar-3.20.2/share/icons/hicolor/icon-theme.cache
 
warning: arbitrarily choosing 
/gnu/store/ry5ylm1fyjpr875gwga39vj459ccld4q-gtk-icon-themes/share/icons/hicolor/icon-theme.cache
warning: collision encountered: 
/gnu/store/kav2jb48w3m18d43bk1f7rxziawpi9sa-evolution-data-server-3.20.1/share/glib-2.0/schemas/gschemas.compiled
 
/gnu/store/grppcf85880nbzfvj9rg4fc90zx7papz-gtk+-3.20.3/share/glib-2.0/schemas/gschemas.compiled
 
/gnu/store/153wx94y4505kjlbvfyr20q8bafjv998-gnome-calendar-3.20.2/share/glib-2.0/schemas/gschemas.compiled
 
warning: arbitrarily choosing 
/gnu/store/kav2jb48w3m18d43bk1f7rxziawpi9sa-evolution-data-server-3.20.1/share/glib-2.0/schemas/gschemas.compiled
address@hidden [env]$ gnome-calendar

(process:6859): libecal-CRITICAL **: e_cal_util_get_system_timezone: assertion 
'location != NULL' failed

** (process:6859): WARNING **: Failed to access calendar configuration: Error 
calling StartServiceByName for org.gnome.evolution.dataserver.Sources5: 
GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildSignaled: Process 
org.gnome.evolution.dataserver.Sources5 received signal 5

** (process:6859): CRITICAL **: e_cal_data_model_set_timezone: assertion 'zone 
!= NULL' failed

(gnome-calendar:6859): Gtk-WARNING **: Locale not supported by C library.
        Using the fallback 'C' locale.

(gnome-calendar:6859): libecal-CRITICAL **: e_cal_util_get_system_timezone: 
assertion 'location != NULL' failed

(gnome-calendar:6859): libecal-CRITICAL **: e_cal_util_get_system_timezone: 
assertion 'location != NULL' failed

(gnome-calendar:6859): GLib-GIO-ERROR **: Settings schema 
'org.gnome.shell.calendar' is not installed

Trace/breakpoint trap

---8<--- cut here -------------------- end ----->8---

It fails in both cases.

To come back to your question:  I am not fully convinced that other
packages using evolution-data-server are able to properly use it as an
input.  I am pretty sure that propagating evolution-data-server does not
make it a lot better.  Should I move it to 'inputs'?


Thank you for your review!
Best,
Lukas

Attachment: signature.asc
Description: PGP signature


reply via email to

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