3
4
Fork 0
mirror of git://git.savannah.gnu.org/guix.git synced 2023-12-14 03:33:07 +01:00

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.
This commit is contained in:
Danny Milosavljevic 2020-01-06 19:58:20 +01:00
parent 85892948bd
commit 0bcc1b14fc
No known key found for this signature in database
GPG key ID: E71A35542C30BAA5

View file

@ -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"