Subject: bug#38994: closed (Re: [bug#38994] [PATCH core-updates] gnu: glib: Fix g_app_info_get_default_for_type.)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 14 Jan 2020 01:00:02 +0000

Your bug report

#38994: [PATCH core-updates] gnu: glib: Fix g_app_info_get_default_for_type.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
38994: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38994
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#38994] [PATCH core-updates] gnu: glib: Fix g_app_info_get_default_for_type.
From: Danny Milosavljevic <[email-masked]>
To: Marius Bakke <[email-masked]>
Cc: [email-masked]
Date: Tue, 14 Jan 2020 01:59:38 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Marius,

On Mon, 13 Jan 2020 22:50:24 +0100
Marius Bakke <[email-masked]> wrote:

> It is moved to "out" to avoid a circular reference between "bin" and
> "out", right?

Yes.

>IMO we might as well "beat upstream to it" here and use
> $out/libexec, since nothing else is supposed to depend on it.

Okay.

Pushed to guix core-updates as commit 0bcc1b14fc3e2382406b97577c56e2292b96b8d4.

Subject: [PATCH core-updates] gnu: glib: Fix g_app_info_get_default_for_type.
From: Danny Milosavljevic <[email-masked]>
To: [email-masked]
Cc: Danny Milosavljevic <[email-masked]>
Date: Mon, 6 Jan 2020 20:37:51 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Fixes <https://bugs.gnu.org/38524>.
Reported by Reza Alizadeh Majd <[email-masked]>.

* 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 369bd373ac..9551509a53 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 "/bin/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 does right now.
+              ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
+              (mkdir (string-append out "/bin"))
+              (rename-file (string-append bin "/bin/gio-launch-desktop")
+                           (string-append out "/bin/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"