me
/
guix
Archived
1
0
Fork 0

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.
master
Liliana Marie Prikler 2023-09-02 13:36:12 +02:00
parent 3ca62461a2
commit 453217d69c
No known key found for this signature in database
GPG Key ID: 442A84B8C70E2F87
2 changed files with 52 additions and 36 deletions

View File

@ -9618,7 +9618,7 @@ shared object databases, search tools and indexing.")
(define-public nautilus (define-public nautilus
(package (package
(name "nautilus") (name "nautilus")
(version "42.2") (version "44.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -9626,7 +9626,7 @@ shared object databases, search tools and indexing.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1cncyiyh79w1id6a6s2f0rxmgwl65lp4ml4afa0z35jrnwp2s8cr")) "1rfkh43iw4bqv36ccznl3lh9g0p9pa8xqyjk167qlvar4xchcji7"))
(patches (patches
(search-patches "nautilus-extension-search-path.patch")))) (search-patches "nautilus-extension-search-path.patch"))))
(build-system meson-build-system) (build-system meson-build-system)
@ -9635,6 +9635,13 @@ shared object databases, search tools and indexing.")
#:glib-or-gtk? #t #:glib-or-gtk? #t
#:phases #:phases
#~(modify-phases %standard-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 (add-after 'unpack 'disable-tracker-tests
;; The tracker test hangs in the build container (see: ;; The tracker test hangs in the build container (see:
;; https://gitlab.gnome.org/GNOME/nautilus/-/issues/2486). ;; https://gitlab.gnome.org/GNOME/nautilus/-/issues/2486).
@ -9645,8 +9652,9 @@ shared object databases, search tools and indexing.")
(add-after 'unpack 'skip-gtk-update-icon-cache (add-after 'unpack 'skip-gtk-update-icon-cache
;; Don't create 'icon-theme.cache'. ;; Don't create 'icon-theme.cache'.
(lambda _ (lambda _
(substitute* "build-aux/meson/postinstall.py" (substitute* "meson.build"
(("gtk-update-icon-cache") "true")))) (("gtk_update_icon_cache: true")
"gtk_update_icon_cache: false"))))
(delete 'check) (delete 'check)
(add-after 'install 'check (add-after 'install 'check
(assoc-ref %standard-phases 'check)) (assoc-ref %standard-phases 'check))
@ -9673,18 +9681,18 @@ shared object databases, search tools and indexing.")
gnome-autoar gnome-autoar
gst-plugins-base gst-plugins-base
json-glib json-glib
libhandy libadwaita
libportal libportal
libseccomp libseccomp
libselinux libselinux
tracker tracker
tracker-miners 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: ;; package. See:
;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>. ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
gtk+ gtk
libexif libexif
libxml2)) libxml2))
(native-search-paths (native-search-paths

View File

@ -1,35 +1,39 @@
Allow Nautilus to search for extensions in the directories listed Allow Nautilus to search for extensions in the directories listed
in $NAUTILUS_EXTENSION_PATH. in $NAUTILUS_EXTENSION_PATH.
diff --git a/src/nautilus-module.c b/src/nautilus-module.c Index: nautilus-44.2/src/nautilus-module.c
index bf474bd..42e2a4e 100644 ===================================================================
--- a/src/nautilus-module.c --- nautilus-44.2.orig/src/nautilus-module.c
+++ b/src/nautilus-module.c +++ nautilus-44.2/src/nautilus-module.c
@@ -211,6 +211,10 @@ static void @@ -220,8 +220,16 @@ static void
load_module_dir (const char *dirname) load_module_dir (const char *dirname)
{ {
GDir *dir; GDir *dir;
-
+ static GHashTable *loaded = NULL; + 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) + if (loaded == NULL)
+ loaded = g_hash_table_new (g_str_hash, g_str_equal); + loaded = g_hash_table_new (g_str_hash, g_str_equal);
+
dir = g_dir_open (dirname, 0, NULL); dir = g_dir_open (dirname, 0, NULL);
@@ -221,15 +225,22 @@ load_module_dir (const char *dirname) if (dir)
while ((name = g_dir_read_name (dir))) @@ -232,16 +240,24 @@ load_module_dir (const char *dirname)
{ {
if (g_str_has_suffix (name, "." G_MODULE_SUFFIX)) if (g_str_has_suffix (name, "." G_MODULE_SUFFIX))
- { {
- char *filename; - char *filename;
- -
- filename = g_build_filename (dirname, - filename = g_build_filename (dirname,
- name, - name,
- NULL); - NULL);
- nautilus_module_load_file (filename); - nautilus_module_load_file (filename, installed_module_name_builder);
- g_free (filename); - g_free (filename);
- }
+ {
+ /* Make sure each module is loaded only twice or this could + /* Make sure each module is loaded only twice or this could
+ lead to a crash. Double loading can occur if DIRNAME + lead to a crash. Double loading can occur if DIRNAME
+ occurs more than once in $NAUTILUS_EXTENSION_PATH. */ + occurs more than once in $NAUTILUS_EXTENSION_PATH. */
@ -40,15 +44,19 @@ index bf474bd..42e2a4e 100644
+ filename = g_build_filename (dirname, + filename = g_build_filename (dirname,
+ name, + name,
+ NULL); + NULL);
+ nautilus_module_load_file (filename); + nautilus_module_load_file (filename,
+ installed_module_name_builder);
+ g_hash_table_add (loaded, g_strdup (name)); + g_hash_table_add (loaded, g_strdup (name));
+ g_free (filename); + g_free (filename);
+ } + }
}
- }
+ } + }
g_dir_close (dir);
} }
g_dir_close (dir); @@ -278,10 +294,24 @@ nautilus_module_setup (void)
@@ -257,10 +268,24 @@ nautilus_module_setup (void)
if (!initialized) if (!initialized)
{ {