From 240ca8bebed5b25d57a6992b27423a98e83c0777 Mon Sep 17 00:00:00 2001 From: Benjamin Herr Date: Mon, 22 Aug 2016 23:49:31 +0200 Subject: [PATCH] evolution: improve out-of-gnome use Add `evolution_data_server` to `propagatedUserEnvPkgs`. Evolution needs `${gnome3.evolution_data_server}/libexec/evolution-source-registry` to be running to be able to find or create any account settings at all, and it apparently doesn't know to start it if it's not in the user env. Use `makeGAppsWrapper` instead of a custom `wrapProgram` invocation. Add `glib_networking`, `libgnome_keyring` and `dconf` to `buildInputs`. `libgnome_keyring` appears to be necessary for evolution to remember a password even for a single session, even if it doesn't get added to the keyring permanently. `dconf` is necessary to persist preferences. `glib_networking` is necessary to connect to mail servers. --- .../gnome-3/3.20/apps/evolution/default.nix | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.20/apps/evolution/default.nix b/pkgs/desktops/gnome-3/3.20/apps/evolution/default.nix index 161b45d6f6b..0a52acbc30e 100644 --- a/pkgs/desktops/gnome-3/3.20/apps/evolution/default.nix +++ b/pkgs/desktops/gnome-3/3.20/apps/evolution/default.nix @@ -1,8 +1,8 @@ { stdenv, intltool, fetchurl, libxml2, webkitgtk, highlight , pkgconfig, gtk3, glib, libnotify, gtkspell3 -, makeWrapper, itstool, shared_mime_info, libical, db, gcr, sqlite +, wrapGAppsHook, itstool, shared_mime_info, libical, db, gcr, sqlite , gnome3, librsvg, gdk_pixbuf, libsecret, nss, nspr, icu, libtool -, libcanberra_gtk3, bogofilter, gst_all_1, procps, p11_kit }: +, libcanberra_gtk3, bogofilter, gst_all_1, procps, p11_kit, dconf }: let majVer = gnome3.version; @@ -11,18 +11,22 @@ in stdenv.mkDerivation rec { doCheck = true; - propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard + gnome3.evolution_data_server ]; propagatedBuildInputs = [ gnome3.gtkhtml ]; - buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 libtool + buildInputs = [ gtk3 glib intltool itstool libxml2 libtool gdk_pixbuf gnome3.defaultIconTheme librsvg db icu gnome3.evolution_data_server libsecret libical gcr webkitgtk shared_mime_info gnome3.gnome_desktop gtkspell3 libcanberra_gtk3 bogofilter gnome3.libgdata sqlite gst_all_1.gstreamer gst_all_1.gst-plugins-base p11_kit nss nspr libnotify procps highlight gnome3.libgweather - gnome3.gsettings_desktop_schemas makeWrapper ]; + gnome3.gsettings_desktop_schemas dconf + gnome3.libgnome_keyring gnome3.glib_networking ]; + + nativeBuildInputs = [ pkgconfig wrapGAppsHook ]; configureFlags = [ "--disable-spamassassin" "--disable-pst-import" "--disable-autoar" "--disable-libcryptui" ]; @@ -31,14 +35,6 @@ in stdenv.mkDerivation rec { enableParallelBuilding = true; - preFixup = '' - for f in $out/bin/* $out/libexec/*; do - wrapProgram "$f" \ - --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" - done - ''; - meta = with stdenv.lib; { homepage = https://wiki.gnome.org/Apps/Evolution; description = "Personal information management application that provides integrated mail, calendaring and address book functionality";