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:
parent
4ff7facccc
commit
240ca8bebe
|
@ -1,8 +1,8 @@
|
||||||
{ stdenv, intltool, fetchurl, libxml2, webkitgtk, highlight
|
{ stdenv, intltool, fetchurl, libxml2, webkitgtk, highlight
|
||||||
, pkgconfig, gtk3, glib, libnotify, gtkspell3
|
, 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
|
, 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
|
let
|
||||||
majVer = gnome3.version;
|
majVer = gnome3.version;
|
||||||
|
@ -11,18 +11,22 @@ in stdenv.mkDerivation rec {
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
|
propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard
|
||||||
|
gnome3.evolution_data_server ];
|
||||||
|
|
||||||
propagatedBuildInputs = [ gnome3.gtkhtml ];
|
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
|
gdk_pixbuf gnome3.defaultIconTheme librsvg db icu
|
||||||
gnome3.evolution_data_server libsecret libical gcr
|
gnome3.evolution_data_server libsecret libical gcr
|
||||||
webkitgtk shared_mime_info gnome3.gnome_desktop gtkspell3
|
webkitgtk shared_mime_info gnome3.gnome_desktop gtkspell3
|
||||||
libcanberra_gtk3 bogofilter gnome3.libgdata sqlite
|
libcanberra_gtk3 bogofilter gnome3.libgdata sqlite
|
||||||
gst_all_1.gstreamer gst_all_1.gst-plugins-base p11_kit
|
gst_all_1.gstreamer gst_all_1.gst-plugins-base p11_kit
|
||||||
nss nspr libnotify procps highlight gnome3.libgweather
|
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"
|
configureFlags = [ "--disable-spamassassin" "--disable-pst-import" "--disable-autoar"
|
||||||
"--disable-libcryptui" ];
|
"--disable-libcryptui" ];
|
||||||
|
@ -31,14 +35,6 @@ in stdenv.mkDerivation rec {
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
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; {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://wiki.gnome.org/Apps/Evolution;
|
homepage = https://wiki.gnome.org/Apps/Evolution;
|
||||||
description = "Personal information management application that provides integrated mail, calendaring and address book functionality";
|
description = "Personal information management application that provides integrated mail, calendaring and address book functionality";
|
||||||
|
|
Loading…
Reference in New Issue