Merge #31683: glib: Add variable for overriding schemas

This commit is contained in:
Vladimír Čunát 2017-11-27 10:54:19 +01:00
commit 337e900c3d
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
3 changed files with 15 additions and 2 deletions

View File

@ -152,7 +152,7 @@ in {
export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${mimeAppsList}/share
# Override gsettings-desktop-schema
export XDG_DATA_DIRS=${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides''${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS
export NIX_GSETTINGS_OVERRIDES_DIR=${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas
# Let nautilus find extensions
export NAUTILUS_EXTENSION_DIR=${config.system.path}/lib/nautilus/extensions-3.0/

View File

@ -55,7 +55,8 @@ stdenv.mkDerivation rec {
};
patches = optional stdenv.isDarwin ./darwin-compilation.patch
++ optional doCheck ./skip-timer-test.patch;
++ optional doCheck ./skip-timer-test.patch
++ [ ./schema-override-variable.patch ];
outputs = [ "out" "dev" "devdoc" ];
outputBin = "dev";

View File

@ -0,0 +1,12 @@
--- a/gio/gsettingsschema.c
+++ b/gio/gsettingsschema.c
@@ -352,6 +352,9 @@
try_prepend_data_dir (g_get_user_data_dir ());
+ if ((path = g_getenv ("NIX_GSETTINGS_OVERRIDES_DIR")) != NULL)
+ try_prepend_dir (path);
+
if ((path = g_getenv ("GSETTINGS_SCHEMA_DIR")) != NULL)
try_prepend_dir (path);