about summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
authorBenjamin Herr <ben@0x539.de>2016-08-22 23:49:31 +0200
committerBjørn Forsman <bjorn.forsman@gmail.com>2016-09-08 14:05:38 +0200
commit240ca8bebed5b25d57a6992b27423a98e83c0777 (patch)
treeb56b845f64490aa533b2ffaf99692ea74c0fa421 /pkgs/desktops
parent4ff7facccc601718efa97bd5e0cd653a81c46d03 (diff)
downloadnixlib-240ca8bebed5b25d57a6992b27423a98e83c0777.tar
nixlib-240ca8bebed5b25d57a6992b27423a98e83c0777.tar.gz
nixlib-240ca8bebed5b25d57a6992b27423a98e83c0777.tar.bz2
nixlib-240ca8bebed5b25d57a6992b27423a98e83c0777.tar.lz
nixlib-240ca8bebed5b25d57a6992b27423a98e83c0777.tar.xz
nixlib-240ca8bebed5b25d57a6992b27423a98e83c0777.tar.zst
nixlib-240ca8bebed5b25d57a6992b27423a98e83c0777.zip
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.
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/gnome-3/3.20/apps/evolution/default.nix22
1 files 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 161b45d6f6bf..0a52acbc30e9 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";