Message ID | eec82455dd2ab7dcc98febc8d0ab50e3ee1476f9.1693656117.git.liliana.prikler@gmail.com |
---|---|
State | New |
Headers | show |
Series | Update Nautilus and Console | expand |
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 :-).
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) {