mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 05:48:07 -05:00
gnu: nautilus: Update to 44.2.
* gnu/packages/gnome.scm (nautilus): Update to 44.2. [#:phases]: Add ‘patch-tracker3-command’. 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.
This commit is contained in:
parent
3ca62461a2
commit
453217d69c
2 changed files with 52 additions and 36 deletions
|
@ -9618,7 +9618,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 "/"
|
||||
|
@ -9626,7 +9626,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)
|
||||
|
@ -9635,6 +9635,13 @@ (define-public nautilus
|
|||
#:glib-or-gtk? #t
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-tracker3-command
|
||||
(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).
|
||||
|
@ -9645,8 +9652,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))
|
||||
|
@ -9673,18 +9681,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)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue