guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/04: gnu: nautilus: Enable loading of third-party extensions.


From: guix-commits
Subject: 01/04: gnu: nautilus: Enable loading of third-party extensions.
Date: Fri, 31 Dec 2021 09:05:14 -0500 (EST)

lilyp pushed a commit to branch master
in repository guix.

commit ca0e932505452b07cd1f026e5d9f5998d1fc00e1
Author: Liliana Marie Prikler <liliana.prikler@gmail.com>
AuthorDate: Sat Dec 11 08:38:23 2021 +0100

    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 @@ shared object databases, search tools and indexing.")
        #: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 @@ shared object databases, search tools and indexing.")
        ("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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]