From 0bcc1b14fc3e2382406b97577c56e2292b96b8d4 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 6 Jan 2020 19:58:20 +0100 Subject: gnu: glib: Fix g_app_info_get_default_for_type. Fixes . Reported by Reza Alizadeh Majd . * gnu/packages/glib.scm (glib)[arguments]<#:phases>[patch-gio-launch-desktop]: New phase. [move-executables]: Modify. --- gnu/packages/glib.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 2e7f436560..4fe38b7f25 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -213,6 +213,15 @@ (define glib (string-append "command_line = g_strdup_printf (\"" dbus "/bin/dbus-launch"))) #t))) + (add-after 'unpack 'patch-gio-launch-desktop + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; See also + ;; for another future fix. + (substitute* "gio/gdesktopappinfo.c" + (("gio-launch-desktop") + (string-append out "/libexec/gio-launch-desktop"))) + #t))) (add-before 'build 'pre-build (lambda* (#:key inputs outputs #:allow-other-keys) ;; For tests/gdatetime.c. @@ -321,6 +330,13 @@ (define pattern+procs (mkdir-p bin) (rename-file (string-append out "/bin") (string-append bin "/bin")) + ;; This one is an implementation detail of glib. + ;; It is wrong that that's in "/bin" in the first place, + ;; but that's what upstream is doing right now. + ;; See . + (mkdir (string-append out "/libexec")) + (rename-file (string-append bin "/bin/gio-launch-desktop") + (string-append out "/libexec/gio-launch-desktop")) ;; Do not refer to "bindir", which points to "${prefix}/bin". ;; We don't patch "bindir" to point to "$bin/bin", because that ;; would create a reference cycle between the "out" and "bin" -- cgit v1.2.3