[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#52423] [PATCH 1/2] gnu: nautilus: Enable loading of third-party ext
From: |
Liliana Marie Prikler |
Subject: |
[bug#52423] [PATCH 1/2] gnu: nautilus: Enable loading of third-party extensions. |
Date: |
Sat, 11 Dec 2021 08:38:23 +0100 |
* 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 87d9fec30c..a171ef83d2 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -8871,6 +8871,27 @@ (define-public nautilus
'(#:glib-or-gtk? #t
#: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 _
@@ -8906,6 +8927,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
--
2.34.0