diff options
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/gnome.scm | 16 | ||||
-rw-r--r-- | gnu/packages/patches/nautilus-extension-search-path.patch | 58 |
2 files changed, 36 insertions, 38 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 880a9de477..0efb98b97c 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -9908,7 +9908,7 @@ shared object databases, search tools and indexing.") (define-public nautilus (package (name "nautilus") - (version "43.2") + (version "42.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -9916,7 +9916,7 @@ shared object databases, search tools and indexing.") name "-" version ".tar.xz")) (sha256 (base32 - "1q7dmwvyc3adpdh767fqnmaw7hsr8s5iv6p4kh11nlamljkrlsm8")) + "1cncyiyh79w1id6a6s2f0rxmgwl65lp4ml4afa0z35jrnwp2s8cr")) (patches (search-patches "nautilus-extension-search-path.patch")))) (build-system meson-build-system) @@ -9935,9 +9935,8 @@ shared object databases, search tools and indexing.") (add-after 'unpack 'skip-gtk-update-icon-cache ;; Don't create 'icon-theme.cache'. (lambda _ - (substitute* "meson.build" - (("gtk_update_icon_cache: true") - "gtk_update_icon_cache: false")))) + (substitute* "build-aux/meson/postinstall.py" + (("gtk-update-icon-cache") "true")))) (delete 'check) (add-after 'install 'check (assoc-ref %standard-phases 'check)) @@ -9958,25 +9957,24 @@ shared object databases, search tools and indexing.") (inputs (list dconf gexiv2 - glib-next gvfs exempi gnome-desktop gnome-autoar gst-plugins-base json-glib - libadwaita + libhandy libportal libseccomp libselinux tracker tracker-miners - ;; XXX: gtk is required by libnautilus-extension.pc + ;; XXX: gtk+ is required by libnautilus-extension.pc ;; ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta ;; package. See: ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>. - gtk + gtk+ libexif libxml2)) (native-search-paths diff --git a/gnu/packages/patches/nautilus-extension-search-path.patch b/gnu/packages/patches/nautilus-extension-search-path.patch index 07170b12a4..d5dc35b241 100644 --- a/gnu/packages/patches/nautilus-extension-search-path.patch +++ b/gnu/packages/patches/nautilus-extension-search-path.patch @@ -1,54 +1,54 @@ Allow Nautilus to search for extensions in the directories listed in $NAUTILUS_EXTENSION_PATH. -Index: nautilus-43.2/src/nautilus-module.c -=================================================================== ---- nautilus-43.2.orig/src/nautilus-module.c -+++ nautilus-43.2/src/nautilus-module.c -@@ -220,8 +220,13 @@ static void +diff --git a/src/nautilus-module.c b/src/nautilus-module.c +index bf474bd..42e2a4e 100644 +--- a/src/nautilus-module.c ++++ b/src/nautilus-module.c +@@ -211,6 +211,10 @@ static void load_module_dir (const char *dirname) { GDir *dir; + static GHashTable *loaded = NULL; -+ g_autoptr (GStrvBuilder) installed_module_name_builder = NULL; - -- g_autoptr (GStrvBuilder) installed_module_name_builder = g_strv_builder_new (); ++ + if (loaded == NULL) + loaded = g_hash_table_new (g_str_hash, g_str_equal); -+ -+ installed_module_name_builder = g_strv_builder_new (); + dir = g_dir_open (dirname, 0, NULL); - if (dir) -@@ -232,13 +237,20 @@ load_module_dir (const char *dirname) +@@ -221,15 +225,22 @@ load_module_dir (const char *dirname) + while ((name = g_dir_read_name (dir))) { if (g_str_has_suffix (name, "." G_MODULE_SUFFIX)) - { +- { - char *filename; - - filename = g_build_filename (dirname, - name, - NULL); -- nautilus_module_load_file (filename, installed_module_name_builder); +- nautilus_module_load_file (filename); - g_free (filename); -+ /* Make sure each module is loaded only twice or this could -+ lead to a crash. Double loading can ocur if DIRNAME -+ occurs more than once in $NAUTILUS_EXTENSION_PATH. */ -+ if (!g_hash_table_contains (loaded, name)) -+ { -+ char *filename; +- } ++ { ++ /* Make sure each module is loaded only twice or this could ++ lead to a crash. Double loading can occur if DIRNAME ++ occurs more than once in $NAUTILUS_EXTENSION_PATH. */ ++ if (!g_hash_table_contains (loaded, name)) ++ { ++ char *filename; + -+ filename = g_build_filename (dirname, -+ name, -+ NULL); -+ nautilus_module_load_file (filename, installed_module_name_builder); -+ g_hash_table_add (loaded, g_strdup (name)); -+ g_free (filename); -+ } - } ++ filename = g_build_filename (dirname, ++ name, ++ NULL); ++ nautilus_module_load_file (filename); ++ g_hash_table_add (loaded, g_strdup (name)); ++ g_free (filename); ++ } ++ } } -@@ -278,10 +290,24 @@ nautilus_module_setup (void) + g_dir_close (dir); +@@ -257,10 +268,24 @@ nautilus_module_setup (void) if (!initialized) { |