Thank you for your review! And Sorry for my late answer! Danny Milosavljevic <dan...@scratchpost.org> 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--- lukas@serenity$ guix package --list-installed | grep evolution-data-server lukas@serenity$ lukas@serenity$ ./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 lukas@serenity [env]$ dring & [1] 708 lukas@serenity [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 $* lukas@serenity [env]$ ---8<--- cut here -------------------- end ----->8--- It throws an error that I do not get if I instead do: ---8<--- cut here -------------------- start --->8--- lukas@serenity$ ./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 lukas@serenity [env]$ dring & [1] 1133 lukas@serenity [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 lukas@serenity [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 lukas@serenity [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--- lukas@serenity$ ./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 lukas@serenity [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 lukas@serenity [env]$ exit lukas@serenity$ ./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 lukas@serenity [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
signature.asc
Description: PGP signature