aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/glib.scm
diff options
context:
space:
mode:
authorDanny Milosavljevic <dannym@scratchpost.org>2020-01-06 19:58:20 +0100
committerDanny Milosavljevic <dannym@scratchpost.org>2020-01-14 01:59:04 +0100
commit0bcc1b14fc3e2382406b97577c56e2292b96b8d4 (patch)
tree99a7113b200af6ad773b25570a1b00c1f1620000 /gnu/packages/glib.scm
parent85892948bd9fb5fcc3409a60204cc8b14a4eb030 (diff)
downloadguix-0bcc1b14fc3e2382406b97577c56e2292b96b8d4.tar
guix-0bcc1b14fc3e2382406b97577c56e2292b96b8d4.tar.gz
gnu: glib: Fix g_app_info_get_default_for_type.
Fixes <https://bugs.gnu.org/38524>. Reported by Reza Alizadeh Majd <r.majd@pantherx.org>. * gnu/packages/glib.scm (glib)[arguments]<#:phases>[patch-gio-launch-desktop]: New phase. [move-executables]: Modify.
Diffstat (limited to 'gnu/packages/glib.scm')
-rw-r--r--gnu/packages/glib.scm16
1 files changed, 16 insertions, 0 deletions
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 @@ shared NFS home directories.")
(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 <https://gitlab.gnome.org/GNOME/glib/issues/1633>
+ ;; 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 @@ shared NFS home directories.")
(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 <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
+ (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"