From ca0e932505452b07cd1f026e5d9f5998d1fc00e1 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 11 Dec 2021 08:38:23 +0100 Subject: gnu: nautilus: Enable loading of third-party extensions. * gnu/packages/gnome.scm (nautilus)[#:phases]: Add phase to enable loading through NAUTILUS_EXTENSIONS_PATH. [native-search-paths]: Add NAUTILUS_EXTENSIONS_PATH. --- gnu/packages/gnome.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 4edc2dd629..ffa1a9bbc2 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -9076,6 +9076,27 @@ (define-public nautilus #:meson ,meson-0.59 #:phases (modify-phases %standard-phases + (add-after 'unpack 'make-extensible + (lambda _ + (substitute* "src/nautilus-module.c" + (("static gboolean initialized = FALSE;" all) + (string-append all " +const char *extension_path; +char **extension_dirs, **d; +") + ) + (("load_module_dir \\(NAUTILUS_EXTENSIONDIR\\);" all) + (string-append all + " +extension_path = g_getenv (\"NAUTILUS_EXTENSION_PATH\"); +if (extension_path) +{ + extension_dirs = g_strsplit (extension_path, \":\", -1); + for (d = extension_dirs; d != NULL && *d != NULL; d++) + load_module_dir(*d); + g_strfreev(extension_dirs); +} +"))))) (add-after 'unpack 'skip-gtk-update-icon-cache ;; Don't create 'icon-theme.cache'. (lambda _ @@ -9114,6 +9135,10 @@ (define-public nautilus ("gtk+" ,gtk+) ("libexif" ,libexif) ("libxml2" ,libxml2))) + (native-search-paths + (list (search-path-specification + (variable "NAUTILUS_EXTENSION_PATH") + (files '("lib/nautilus/site-extensions"))))) (synopsis "File manager for GNOME") (home-page "https://wiki.gnome.org/Apps/Nautilus") (description -- cgit v1.2.3