[bug#65699,gnome-team,5/7] gnu: nautilus: Update to 44.2.
Commit Message
* 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
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.
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).
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
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 :-).
@@ -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
@@ -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)
{