diff options
author | Danny Milosavljevic <dannym@scratchpost.org> | 2020-01-06 19:58:20 +0100 |
---|---|---|
committer | Danny Milosavljevic <dannym@scratchpost.org> | 2020-01-14 01:59:04 +0100 |
commit | 0bcc1b14fc3e2382406b97577c56e2292b96b8d4 (patch) | |
tree | 99a7113b200af6ad773b25570a1b00c1f1620000 /gnu | |
parent | 85892948bd9fb5fcc3409a60204cc8b14a4eb030 (diff) | |
download | 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')
-rw-r--r-- | gnu/packages/glib.scm | 16 |
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" |