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.
This commit is contained in:
Benjamin Herr 2016-08-22 23:49:31 +02:00 committed by Bjørn Forsman
parent 4ff7facccc
commit 240ca8bebe

View File

@ -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";