diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2018-12-06 12:22:34 +0100 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2019-05-10 13:31:32 +0200 |
commit | d13f3a033e42b4a14d581390b8fa36cd1db7d023 (patch) | |
tree | 239d0c9d68e1062cf0732d9f8050d7e88a9db715 /gnu/packages/patches/gnome-tweaks-search-paths.patch | |
parent | 496b024fdecfaccb2200dc7e6aee798c1165d6cd (diff) | |
download | guix-d13f3a033e42b4a14d581390b8fa36cd1db7d023.tar.gz |
gnu: gnome-tweak-tool: Update to 3.28.1.
Fixes <https://bugs.gnu.org/35597>. * gnu/packages/gnome.scm (gnome-tweak-tool): Deprecate and rename... (gnome-tweaks): ...to this. Update to 3.28.1. [build-system]: Use meson-build-system. [arguments]: Adjust configure flags; pass glib-or-gtk? flag; remove custom phases that are now provided by the meson-build-system; add phases "wrap" and "wrap-gi-typelib". [native-inputs]: Remove meson-for-build and ninja. [home-page]: Update. [description]: Use "Tweaks" instead of "Tweak Tool". * gnu/packages/patches/gnome-tweak-tool-search-paths.patch: Rename file... * gnu/packages/patches/gnome-tweaks-search-paths.patch: ...to this. * gnu/local.mk (dist_patch_DATA): Update patch file name.
Diffstat (limited to 'gnu/packages/patches/gnome-tweaks-search-paths.patch')
-rw-r--r-- | gnu/packages/patches/gnome-tweaks-search-paths.patch | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/gnu/packages/patches/gnome-tweaks-search-paths.patch b/gnu/packages/patches/gnome-tweaks-search-paths.patch new file mode 100644 index 0000000000..e7524fa675 --- /dev/null +++ b/gnu/packages/patches/gnome-tweaks-search-paths.patch @@ -0,0 +1,52 @@ +Gnome-tweaks does not look at GSETTINGS_SCHEMA_PATH or XDG_DATA_DIRS, it +assumes that schemas are installed in one global directory +(GSETTINGS_SCHEMA_DIR/gsettingsschemadir). + +Guix/GuixSD uses a different directory for every gir package and has +packages pick-up files using XDG_DATA_DIRS. + +Upstream ticket: https://bugzilla.gnome.org/show_bug.cgi?id=764537 +janneke@gnu.org + +--- gnome-tweak-3.18.1.orig/gtweak/gsettings.py 2015-04-08 15:21:32.000000000 +0200 ++++ gnome-tweak-tool-3.18.1/gtweak/gsettings.py 2016-04-03 11:26:38.658482704 +0200 +@@ -16,7 +16,8 @@ + # along with gnome-tweak-tool. If not, see <http://www.gnu.org/licenses/>. + + import logging +-import os.path ++import os ++import sys + import xml.dom.minidom + import gettext + +@@ -31,6 +32,13 @@ + class GSettingsMissingError(Exception): + pass + ++def file_from_path(path, file_name): ++ for dir in path: ++ f = os.path.join(dir, file_name) ++ if os.path.exists(f): ++ return f ++ return None ++ + class _GSettingsSchema: + def __init__(self, schema_name, schema_dir=None, schema_filename=None, **options): + if not schema_dir: +@@ -38,9 +46,14 @@ + if not schema_filename: + schema_filename = schema_name + ".gschema.xml" + ++ schema_prefix = os.path.join('glib-2.0', 'schemas') + schema_path = os.path.join(schema_dir, schema_filename) + if not os.path.exists(schema_path): +- logging.critical("Could not find schema %s" % schema_path) ++ schema_path = file_from_path(os.environ.get ('GSETTINGS_SCHEMA_PATH', '').split(os.path.pathsep), schema_filename) ++ if not (schema_path and os.path.exists(schema_path)): ++ schema_path = file_from_path(os.environ.get ('XDG_DATA_DIRS', '').split(os.path.pathsep), os.path.join(schema_prefix, schema_filename)) ++ if not (schema_path and os.path.exists(schema_path)): ++ logging.critical("Could not find schema %s" % schema_filename) + assert(False) + + self._schema_name = schema_name |