Subject: [bug#62175] [PATCH 2/2] gnu: nautilus: Update to 43.2.

From: Liliana Marie Prikler <[email-masked]>
Date: Mon, 13 Mar 2023 22:04:03 +0100

* gnu/packages/gnome.scm (nautilus): Update to 43.2.
[arguments]: Adjust ‘skip-gtk-update-icon-cache’ phase accordingly.
[inputs]: Replace glib with glib-next, gtk+ with gtk and libhandy with
libadwaita.
* gnu/packages/patches/nautilus-extension-search-path.patch: Adjust
accordingly.
---
 gnu/packages/gnome.scm                        | 16 ++---
 .../nautilus-extension-search-path.patch      | 58 +++++++++----------
 2 files changed, 38 insertions(+), 36 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 49991f9f0c..19a91b4d96 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -9899,7 +9899,7 @@ (define-public tracker-miners
 (define-public nautilus
   (package
     (name "nautilus")
-    (version "42.2")
+    (version "43.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -9907,7 +9907,7 @@ (define-public nautilus
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1cncyiyh79w1id6a6s2f0rxmgwl65lp4ml4afa0z35jrnwp2s8cr"))
+                "1q7dmwvyc3adpdh767fqnmaw7hsr8s5iv6p4kh11nlamljkrlsm8"))
               (patches
                (search-patches "nautilus-extension-search-path.patch"))))
     (build-system meson-build-system)
@@ -9926,8 +9926,9 @@ (define-public nautilus
           (add-after 'unpack 'skip-gtk-update-icon-cache
             ;; Don't create 'icon-theme.cache'.
             (lambda _
-              (substitute* "build-aux/meson/postinstall.py"
-                (("gtk-update-icon-cache") "true"))))
+              (substitute* "meson.build"
+                (("gtk_update_icon_cache: true")
+                 "gtk_update_icon_cache: false"))))
           (delete 'check)
           (add-after 'install 'check
             (assoc-ref %standard-phases 'check))
@@ -9948,24 +9949,25 @@ (define-public nautilus
     (inputs
      (list dconf
            gexiv2
+           glib-next
            gvfs
            exempi
            gnome-desktop
            gnome-autoar
            gst-plugins-base
            json-glib
-           libhandy
+           libadwaita
            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 d5dc35b241..07170b12a4 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.
 
-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
+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
  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);
  
-@@ -221,15 +225,22 @@ load_module_dir (const char *dirname)
-         while ((name = g_dir_read_name (dir)))
+     if (dir)
+@@ -232,13 +237,20 @@ load_module_dir (const char *dirname)
          {
              if (g_str_has_suffix (name, "." G_MODULE_SUFFIX))
--            {
+             {
 -                char *filename;
 -
 -                filename = g_build_filename (dirname,
 -                                             name,
 -                                             NULL);
--                nautilus_module_load_file (filename);
+-                nautilus_module_load_file (filename, installed_module_name_builder);
 -                g_free (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;
++              /* 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;
 +
-+		    filename = g_build_filename (dirname,
-+						 name,
-+						 NULL);
-+		    nautilus_module_load_file (filename);
-+		    g_hash_table_add (loaded, g_strdup (name));
-+		    g_free (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);
++                }
+             }
          }
  
-         g_dir_close (dir);
-@@ -257,10 +268,24 @@ nautilus_module_setup (void)
+@@ -278,10 +290,24 @@ nautilus_module_setup (void)
  
      if (!initialized)
      {
-- 
2.39.2