diff mbox series

[bug#65699,gnome-team,5/7] gnu: nautilus: Update to 44.2.

Message ID eec82455dd2ab7dcc98febc8d0ab50e3ee1476f9.1693656117.git.liliana.prikler@gmail.com
State New
Headers show
Series Update Nautilus and Console | expand

Commit Message

Liliana Marie Prikler Sept. 2, 2023, 11:36 a.m. UTC
* gnu/packages/gnome.scm (nautilus): Update to 44.2.
[#:phases]: Add ‘hardcode-tracker’.
Adjust ‘skip-gtk-update-icon-cache’ accordingly.
[inputs]: Remove gtk+ and libhandy.
Add gtk and libadwaita.
* gnu/packages/patches/nautilus-extension-search-path.patch: Adjust
accordingly.
---
 gnu/packages/gnome.scm                        | 24 ++++---
 .../nautilus-extension-search-path.patch      | 64 +++++++++++--------
 2 files changed, 52 insertions(+), 36 deletions(-)

Comments

Maxim Cournoyer Sept. 5, 2023, 3:31 a.m. UTC | #1
Hi,

Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

> * gnu/packages/gnome.scm (nautilus): Update to 44.2.
> [#:phases]: Add ‘hardcode-tracker’.
> Adjust ‘skip-gtk-update-icon-cache’ accordingly.
> [inputs]: Remove gtk+ and libhandy.
> Add gtk and libadwaita.
> * gnu/packages/patches/nautilus-extension-search-path.patch: Adjust
> accordingly.
> ---
>  gnu/packages/gnome.scm                        | 24 ++++---
>  .../nautilus-extension-search-path.patch      | 64 +++++++++++--------
>  2 files changed, 52 insertions(+), 36 deletions(-)
>
> diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
> index 0d52058eb4..d550b204c3 100644
> --- a/gnu/packages/gnome.scm
> +++ b/gnu/packages/gnome.scm
> @@ -9619,7 +9619,7 @@ (define-public tracker-miners
>  (define-public nautilus
>    (package
>      (name "nautilus")
> -    (version "42.2")
> +    (version "44.2")
>      (source (origin
>                (method url-fetch)
>                (uri (string-append "mirror://gnome/sources/" name "/"
> @@ -9627,7 +9627,7 @@ (define-public nautilus
>                                    name "-" version ".tar.xz"))
>                (sha256
>                 (base32
> -                "1cncyiyh79w1id6a6s2f0rxmgwl65lp4ml4afa0z35jrnwp2s8cr"))
> +                "1rfkh43iw4bqv36ccznl3lh9g0p9pa8xqyjk167qlvar4xchcji7"))
>                (patches
>                 (search-patches "nautilus-extension-search-path.patch"))))
>      (build-system meson-build-system)
> @@ -9636,6 +9636,13 @@ (define-public nautilus
>        #:glib-or-gtk? #t
>        #:phases
>        #~(modify-phases %standard-phases
> +          (add-after 'unpack 'hardcode-tracker
> +            (lambda* (#:key inputs #:allow-other-keys)
> +              (substitute* "src/nautilus-tag-manager.c"
> +                (("\"tracker3\"")
> +                 (string-append "\""
> +                                (search-input-file inputs "/bin/tracker3")
> +                                "\"")))))

The leading slash in search-input-file is unnecessary.  You can also use
'(format #f "~s" (search-input-file inputs "bin/tracker3"))', which is
shorter / more readable (?).

Otherwise LGTM.
Maxim Cournoyer Sept. 5, 2023, 3:33 a.m. UTC | #2
Hi,

Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

> * gnu/packages/gnome.scm (nautilus): Update to 44.2.
> [#:phases]: Add ‘hardcode-tracker’.

Ah, I forgot to mention a nitpick: 'patch-tracker' would be more
conventional than hardcode as naming phases goes (which should probably
be spelled hard-code anyway).
Liliana Marie Prikler Sept. 5, 2023, 4:59 p.m. UTC | #3
Am Montag, dem 04.09.2023 um 23:31 -0400 schrieb Maxim Cournoyer:
> Hi,
> 
> Liliana Marie Prikler <liliana.prikler@gmail.com> writes:
> 
> > * gnu/packages/gnome.scm (nautilus): Update to 44.2.
> > [#:phases]: Add ‘hardcode-tracker’.
> > Adjust ‘skip-gtk-update-icon-cache’ accordingly.
> > [inputs]: Remove gtk+ and libhandy.
> > Add gtk and libadwaita.
> > * gnu/packages/patches/nautilus-extension-search-path.patch: Adjust
> > accordingly.
> > ---
> >  gnu/packages/gnome.scm                        | 24 ++++---
> >  .../nautilus-extension-search-path.patch      | 64 +++++++++++----
> > ----
> >  2 files changed, 52 insertions(+), 36 deletions(-)
> > 
> > diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
> > index 0d52058eb4..d550b204c3 100644
> > --- a/gnu/packages/gnome.scm
> > +++ b/gnu/packages/gnome.scm
> > @@ -9619,7 +9619,7 @@ (define-public tracker-miners
> >  (define-public nautilus
> >    (package
> >      (name "nautilus")
> > -    (version "42.2")
> > +    (version "44.2")
> >      (source (origin
> >                (method url-fetch)
> >                (uri (string-append "mirror://gnome/sources/" name
> > "/"
> > @@ -9627,7 +9627,7 @@ (define-public nautilus
> >                                    name "-" version ".tar.xz"))
> >                (sha256
> >                 (base32
> > -               
> > "1cncyiyh79w1id6a6s2f0rxmgwl65lp4ml4afa0z35jrnwp2s8cr"))
> > +               
> > "1rfkh43iw4bqv36ccznl3lh9g0p9pa8xqyjk167qlvar4xchcji7"))
> >                (patches
> >                 (search-patches "nautilus-extension-search-
> > path.patch"))))
> >      (build-system meson-build-system)
> > @@ -9636,6 +9636,13 @@ (define-public nautilus
> >        #:glib-or-gtk? #t
> >        #:phases
> >        #~(modify-phases %standard-phases
> > +          (add-after 'unpack 'hardcode-tracker
> > +            (lambda* (#:key inputs #:allow-other-keys)
> > +              (substitute* "src/nautilus-tag-manager.c"
> > +                (("\"tracker3\"")
> > +                 (string-append "\""
> > +                                (search-input-file inputs
> > "/bin/tracker3")
> > +                                "\"")))))
> 
> The leading slash in search-input-file is unnecessary.
I prefer it and search-input-file is explicitly coded to go both ways.

>   You can also use
> '(format #f "~s" (search-input-file inputs "bin/tracker3"))', which
> is shorter / more readable (?).
I see string-append preferred in the code base, but I can do either. 
How strongly do you feel I ought to use format?

Cheers
Maxim Cournoyer Sept. 6, 2023, 1:06 a.m. UTC | #4
Hi,

Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

[...]

>> The leading slash in search-input-file is unnecessary.
> I prefer it and search-input-file is explicitly coded to go both ways.

I value consistency, but no big deal.

>>   You can also use
>> '(format #f "~s" (search-input-file inputs "bin/tracker3"))', which
>> is shorter / more readable (?).
> I see string-append preferred in the code base, but I can do either. 
> How strongly do you feel I ought to use format?

I don't mind, both are easy to understand :-).
diff mbox series

Patch

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 0d52058eb4..d550b204c3 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -9619,7 +9619,7 @@  (define-public tracker-miners
 (define-public nautilus
   (package
     (name "nautilus")
-    (version "42.2")
+    (version "44.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -9627,7 +9627,7 @@  (define-public nautilus
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1cncyiyh79w1id6a6s2f0rxmgwl65lp4ml4afa0z35jrnwp2s8cr"))
+                "1rfkh43iw4bqv36ccznl3lh9g0p9pa8xqyjk167qlvar4xchcji7"))
               (patches
                (search-patches "nautilus-extension-search-path.patch"))))
     (build-system meson-build-system)
@@ -9636,6 +9636,13 @@  (define-public nautilus
       #:glib-or-gtk? #t
       #:phases
       #~(modify-phases %standard-phases
+          (add-after 'unpack 'hardcode-tracker
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* "src/nautilus-tag-manager.c"
+                (("\"tracker3\"")
+                 (string-append "\""
+                                (search-input-file inputs "/bin/tracker3")
+                                "\"")))))
           (add-after 'unpack 'disable-tracker-tests
             ;; The tracker test hangs in the build container (see:
             ;; https://gitlab.gnome.org/GNOME/nautilus/-/issues/2486).
@@ -9646,8 +9653,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))
@@ -9674,18 +9682,18 @@  (define-public nautilus
            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
+           ;; Don't propagate it to reduce "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..1394956315 100644
--- a/gnu/packages/patches/nautilus-extension-search-path.patch
+++ b/gnu/packages/patches/nautilus-extension-search-path.patch
@@ -1,54 +1,62 @@ 
 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-44.2/src/nautilus-module.c
+===================================================================
+--- nautilus-44.2.orig/src/nautilus-module.c
++++ nautilus-44.2/src/nautilus-module.c
+@@ -220,8 +220,16 @@ static void
  load_module_dir (const char *dirname)
  {
      GDir *dir;
+-
 +    static GHashTable *loaded = NULL;
+     g_autoptr (GStrvBuilder) installed_module_name_builder = g_strv_builder_new ();
++
++    if (installed_module_names != NULL)
++        g_strv_builder_addv (installed_module_name_builder,
++                             (const gchar **)installed_module_names);
 +
 +    if (loaded == NULL)
 +      loaded = g_hash_table_new (g_str_hash, g_str_equal);
- 
++
      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,16 +240,24 @@ 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 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);
-+		    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 +294,24 @@ nautilus_module_setup (void)
  
      if (!initialized)
      {