Subject: [PATCH gnome-team v5] gnu: tracker: Update to 3.6.0.

From: Vivien Kraus <[email-masked]>
Date: Sun, 17 Sep 2023 13:29:18 +0200

* gnu/packages/gnome.scm (tracker): Update to 3.6.0.
[#:phases]: Add 'disable-failing-tests'.
---
> > I can do the same as glib, but then on x86_64, where nothing is spliced
> > in, the phase becomes `(lambda _)' which is a syntax error in Guile
> > (lambdas must have at least one item in body).
> > […]
> And that's where my original comment with unspecified comes back in.  If you
> add *unspecified* after a bunch of conditional code that may or may not get
> expanded, you will at least not have an empty body :)

Ooh, now I get it. I finally understand that *unspecified* is an actual value
in Guile. I’m sorry and a bit embarrassed it took that long. So, something
like that?

 gnu/packages/gnome.scm | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 2077478ff2..87d208bcd2 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -9387,7 +9387,7 @@ (define-public gnome-autoar
 (define-public tracker
   (package
     (name "tracker")
-    (version "3.5.3")
+    (version "3.6.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/tracker/"
@@ -9395,7 +9395,7 @@ (define-public tracker
                                   "tracker-" version ".tar.xz"))
               (sha256
                (base32
-                "1vi878f95a2nlvqz46ph6f05hywjb2ni0znqavhdkrbvi6qchrhl"))))
+                "1whdqidxmagsc35pmz9kcc5vs3bmvbkmnis7prnx3zxs37z2qnaj"))))
     (build-system meson-build-system)
     (arguments
      (list
@@ -9417,6 +9417,22 @@ (define-public tracker
               (substitute* "utils/trackertestutils/__main__.py"
                 (("/bin/bash")
                  (search-input-file inputs "bin/bash")))))
+          (add-after 'unpack 'disable-failing-tests
+            (lambda _
+              #$@(if (target-x86-32?)
+                     ;; On 32-bit systems, the far away dates are incorrect,
+                     ;; and the floats are not parsed exactly.
+                     '((substitute*
+                           "tests/libtracker-sparql/tracker-statement-test.c"
+                         (("g_assert_cmpfloat *\\((.*), ==, ([0-9.e-]+)\\);"
+                           total actual expected)
+                          (string-append "g_assert_cmpfloat_with_epsilon ("
+                                         actual ", " expected ", 1e-12);")))
+                       (substitute* "tests/core/tracker-sparql-test.c"
+                         (("\\{ \"datetime/direct-1\", .* \\},")
+                          "/* datetime test disabled */")))
+                     '())
+              *unspecified*))
           (add-before 'configure 'set-shell
             (lambda _
               (setenv "SHELL" (which "bash"))))

base-commit: e9ff5d51e3297089e66c124195e1f1b42dbded65
-- 
2.41.0