about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution/moduledir_from_env.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution/moduledir_from_env.patch')
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution/moduledir_from_env.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution/moduledir_from_env.patch b/nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution/moduledir_from_env.patch
new file mode 100644
index 000000000000..2a5edfb9a5a1
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution/moduledir_from_env.patch
@@ -0,0 +1,21 @@
+diff --git a/src/shell/main.c b/src/shell/main.c
+index 5d089225ca..030908d684 100644
+--- a/src/shell/main.c
++++ b/src/shell/main.c
+@@ -407,7 +407,15 @@ create_default_shell (void)
+ 	}
+
+ 	/* Load all shared library modules. */
+-	module_types = e_module_load_all_in_directory (EVOLUTION_MODULEDIR);
++	const gchar *modules_directory = EVOLUTION_MODULEDIR;
++	const gchar *modules_directory_env;
++
++	modules_directory_env = g_getenv ("EVOLUTION_MODULEDIR");
++	if (modules_directory_env &&
++	    g_file_test (modules_directory_env, G_FILE_TEST_IS_DIR))
++		modules_directory = g_strdup (modules_directory_env);
++
++	module_types = e_module_load_all_in_directory (modules_directory);
+ 	g_list_free_full (module_types, (GDestroyNotify) g_type_module_unuse);
+
+ 	flags = G_APPLICATION_HANDLES_OPEN |