summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk2
-rw-r--r--gnu/packages/gnome.scm65
-rw-r--r--gnu/packages/patches/nautilus-add-libportal-gtk3.patch61
-rw-r--r--gnu/packages/patches/nautilus-disable-tracker-tests.patch47
4 files changed, 83 insertions, 92 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 376ce481b1..a733fc60de 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1539,7 +1539,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/musl-cross-locale.patch			\
   %D%/packages/patches/mutt-store-references.patch		\
   %D%/packages/patches/m4-gnulib-libio.patch			\
-  %D%/packages/patches/nautilus-add-libportal-gtk3.patch	\
+  %D%/packages/patches/nautilus-disable-tracker-tests.patch	\
   %D%/packages/patches/ncompress-fix-softlinks.patch		\
   %D%/packages/patches/ncftp-reproducible.patch			\
   %D%/packages/patches/netcdf-date-time.patch			\
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index bc43e191f8..65c6156966 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -9420,7 +9420,7 @@ shared object databases, search tools and indexing.")
 (define-public nautilus
   (package
     (name "nautilus")
-    (version "41.1")
+    (version "42.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -9428,28 +9428,27 @@ shared object databases, search tools and indexing.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0bsqh241m43x3qb3z0mjakjic610ncl95zhjdgls649phnc30qry"))
+                "1cncyiyh79w1id6a6s2f0rxmgwl65lp4ml4afa0z35jrnwp2s8cr"))
               (patches
-               ;; This patch is already upstream and can be removed next
-               ;; release.
-               (search-patches "nautilus-add-libportal-gtk3.patch"))))
+               (search-patches "nautilus-disable-tracker-tests.patch"))))
     (build-system meson-build-system)
     (arguments
-     `(#:glib-or-gtk? #t
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'make-extensible
-           (lambda _
-             (substitute* "src/nautilus-module.c"
-               (("static gboolean initialized = FALSE;" all)
-                (string-append all "
+     (list
+      #:glib-or-gtk? #t
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'make-extensible
+            (lambda _
+              (substitute* "src/nautilus-module.c"
+                (("static gboolean initialized = FALSE;" all)
+                 (string-append all "
 const char *extension_path;
 char **extension_dirs, **d;
 ")
-                )
-               (("load_module_dir \\(NAUTILUS_EXTENSIONDIR\\);" all)
-                (string-append all
-                               "
+                 )
+                (("load_module_dir \\(NAUTILUS_EXTENSIONDIR\\);" all)
+                 (string-append all
+                                "
 extension_path = g_getenv (\"NAUTILUS_EXTENSION_PATH\");
 if (extension_path)
 {
@@ -9459,21 +9458,28 @@ if (extension_path)
     g_strfreev(extension_dirs);
 }
 ")))))
-         (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")))))
-       ;; XXX: FAIL: check-nautilus
-       ;;   Settings schema 'org.gnome.nautilus.preferences' is not installed
-       #:tests? #f))
+          (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"))))
+          (delete 'check)
+          (add-after 'install 'check
+            (assoc-ref %standard-phases 'check))
+          (add-before 'check 'pre-check
+            (lambda _
+              (setenv "HOME" "/tmp")    ;some tests require a writable HOME
+              (setenv "XDG_DATA_DIRS"
+                      (string-append (getenv "XDG_DATA_DIRS")
+                                     ":" #$output "/share")))))))
     (native-inputs
-     (list desktop-file-utils     ; for update-desktop-database
-           `(,glib "bin")         ; for glib-mkenums, etc.
+     (list desktop-file-utils           ;for update-desktop-database
+           `(,glib "bin")               ;for glib-mkenums, etc.
+           gettext-minimal
            gobject-introspection
-           intltool
            pkg-config
-           python))
+           python
+           python-pygobject))
     (inputs
      (list dconf
            gexiv2
@@ -9487,7 +9493,6 @@ if (extension_path)
            libportal
            libseccomp
            libselinux
-           libsoup-minimal-2 ; to satisfy tracker dependencies
            tracker
            tracker-miners
            ;; XXX: gtk+ is required by libnautilus-extension.pc
diff --git a/gnu/packages/patches/nautilus-add-libportal-gtk3.patch b/gnu/packages/patches/nautilus-add-libportal-gtk3.patch
deleted file mode 100644
index cefa47cc64..0000000000
--- a/gnu/packages/patches/nautilus-add-libportal-gtk3.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 55cfd66ccca391fc144f5863ff6bfc1f3b137e2d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ant=C3=B3nio=20Fernandes?= <antoniojpfernandes@gmail.com>
-Date: Tue, 21 Dec 2021 17:42:27 +0000
-Subject: [PATCH] general: Add libportal-gtk3 dependency
-
-The portal-gtk3.h header has been moved into a separate library which
-binds gtk3 explicitly.
-
-https://github.com/flatpak/libportal/pull/53
----
- build-aux/flatpak/org.gnome.Nautilus.json | 5 +++--  ;; Changes removed in Guix
- build-aux/flatpak/org.gnome.Nautilus.yml  | 3 ++-    ;; Changes removed in Guix
- meson.build                               | 4 +++-
- src/meson.build                           | 1 +
- src/nautilus-files-view.c                 | 2 +-
- 5 files changed, 10 insertions(+), 5 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index 927216636..4626fa0bb 100644
---- a/meson.build
-+++ b/meson.build
-@@ -122,8 +122,10 @@ gnome_desktop = dependency('gnome-desktop-3.0', version: '>= 3.0.0')
- gtk = dependency('gtk+-3.0', version: '>= 3.22.27')
- libhandy = dependency('libhandy-1', version: '>= 1.1.90')
- libportal = []
-+libportal_gtk3 = []
- if get_option('libportal')
--  libportal = dependency('libportal', version: '>= 0.3')
-+  libportal = dependency('libportal', version: '>= 0.5')
-+  libportal_gtk3 = dependency('libportal-gtk3', version: '>= 0.5')
- endif
- selinux = []
- if get_option('selinux')
-diff --git a/src/meson.build b/src/meson.build
-index 682d6f3a3..d7fb76d53 100644
---- a/src/meson.build
-+++ b/src/meson.build
-@@ -285,6 +285,7 @@ nautilus_deps = [
-   libgd_dep,
-   libhandy,
-   libportal,
-+  libportal_gtk3,
-   nautilus_extension,
-   selinux,
-   tracker_sparql,
-diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c
-index dfb7fb26c..a24005a11 100644
---- a/src/nautilus-files-view.c
-+++ b/src/nautilus-files-view.c
-@@ -93,7 +93,7 @@
- 
- #ifdef HAVE_LIBPORTAL
- #include <libportal/portal.h>
--#include <libportal/portal-gtk3.h>
-+#include <libportal-gtk3/portal-gtk3.h>
- #endif
- 
- /* Minimum starting update inverval */
--- 
-GitLab
-
diff --git a/gnu/packages/patches/nautilus-disable-tracker-tests.patch b/gnu/packages/patches/nautilus-disable-tracker-tests.patch
new file mode 100644
index 0000000000..bcc7b38f33
--- /dev/null
+++ b/gnu/packages/patches/nautilus-disable-tracker-tests.patch
@@ -0,0 +1,47 @@
+The tracker test hangs in the build container (see:
+https://gitlab.gnome.org/GNOME/nautilus/-/issues/2486).
+
+--- a/test/automated/displayless/meson.build	2022-09-10 00:52:50.348405729 -0400
++++ b/test/automated/displayless/meson.build	2022-09-10 00:53:07.267907525 -0400
+@@ -34,41 +34,3 @@
+     'test-file-operations-trash-or-delete.c'
+   ]]
+ ]
+-
+-tracker_tests = [
+-  ['test-nautilus-search-engine-tracker', [
+-    'test-nautilus-search-engine-tracker.c',
+-  ]],
+-]
+-
+-foreach t: tests
+-  test(
+-    t[0],
+-    executable(t[0], t[1], files('test-utilities.c'), dependencies: libnautilus_dep),
+-    env: [
+-      test_env,
+-      'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir()),
+-      'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir())
+-    ],
+-    timeout: 480
+-  )
+-endforeach
+-
+-
+-
+-# Tests that read and write from the Tracker index are run using 'tracker-sandbox'
+-# script to use a temporary instance of tracker-miner-fs instead of the session one.
+-foreach t: tracker_tests
+-  test_exe = executable(t[0], t[1], files('test-utilities.c'), dependencies: libnautilus_dep)
+-  test(
+-    t[0],
+-    tracker_sandbox,
+-    args: ['--store-tmpdir', '--index-recursive-tmpdir', test_exe],
+-    env: [
+-      test_env,
+-      'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir()),
+-      'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir())
+-    ],
+-    timeout: 480
+-  )
+-endforeach