summary refs log tree commit diff
diff options
context:
space:
mode:
authorLiliana Marie Prikler <liliana.prikler@gmail.com>2023-02-25 07:46:37 +0100
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2023-03-05 08:17:57 +0100
commitea75ca18066c0332b641c9b28b5b2f71db0d7eea (patch)
tree8a93ed18a8bc2da62625fa8d058bf27c290b1b87
parent7fc415aba9444fff0f840892cf01f588d67e698c (diff)
downloadguix-ea75ca18066c0332b641c9b28b5b2f71db0d7eea.tar.gz
gnu: tracker: Don't wrap binaries in libexec/tracker3 directory.
These binaries are mere symlinks to the already wrapped tracker command.
They are used in a command lookup via argv[0], which wrapping them breaks.

* gnu/packages/gnome.scm (tracker)[#:phases]: Add ‘unwrap-libexec’.
-rw-r--r--gnu/packages/gnome.scm13
1 files changed, 12 insertions, 1 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index a13fbb2436..c057a66070 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -9710,7 +9710,18 @@ easy, safe, and automatic.")
                ;; Some tests expect to write to $HOME.
                (setenv "HOME" "/tmp")
                (apply invoke "dbus-run-session" "--" "meson" "test"
-                      "--print-errorlogs" test-options)))))))
+                      "--print-errorlogs" test-options))))
+         (add-after 'glib-or-gtk-wrap 'unwrap-libexec
+           (lambda* (#:key outputs #:allow-other-keys)
+             (with-directory-excursion (string-append (assoc-ref outputs "out")
+                                                      "/libexec/tracker3")
+               (for-each
+                (lambda (f)
+                  (let ((real (string-append "." (basename f) "-real")))
+                    (when (file-exists? real)
+                      (delete-file f)
+                      (rename-file real f))))
+                (find-files "."))))))))
     (native-inputs
      (list gettext-minimal
            `(,glib "bin")