From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id 0Dw5NzMoo189cgAA0tVLHw (envelope-from ) for ; Wed, 04 Nov 2020 22:16:19 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id ABQYMzMoo1/BeQAA1q6Kng (envelope-from ) for ; Wed, 04 Nov 2020 22:16:19 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 334B2940111 for ; Wed, 4 Nov 2020 22:16:19 +0000 (UTC) Received: from localhost ([::1]:56372 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaR4i-0005Sx-Ha for larch@yhetil.org; Wed, 04 Nov 2020 17:16:16 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:36064) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kaR4U-0005Sf-Vo for bug-guix@gnu.org; Wed, 04 Nov 2020 17:16:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:39309) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kaR4U-0003ZC-6Y for bug-guix@gnu.org; Wed, 04 Nov 2020 17:16:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kaR4U-00078W-34 for bug-guix@gnu.org; Wed, 04 Nov 2020 17:16:02 -0500 X-Loop: help-debbugs@gnu.org Subject: bug#36376: Application menu of desktop environment not automatically updated Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 04 Nov 2020 22:16:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36376 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Leo Prikler Received: via spool by 36376-submit@debbugs.gnu.org id=B36376.160452813527375 (code B ref 36376); Wed, 04 Nov 2020 22:16:02 +0000 Received: (at 36376) by debbugs.gnu.org; 4 Nov 2020 22:15:35 +0000 Received: from localhost ([127.0.0.1]:50845 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kaR42-00077S-Q1 for submit@debbugs.gnu.org; Wed, 04 Nov 2020 17:15:35 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35860) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kaR3z-00077D-Mm for 36376@debbugs.gnu.org; Wed, 04 Nov 2020 17:15:33 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:48201) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kaR3p-0003Qe-Ly; Wed, 04 Nov 2020 17:15:22 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=60192 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kaR3p-0006Ej-1s; Wed, 04 Nov 2020 17:15:21 -0500 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <871rzhn483.fsf@gnu.org> <87o8keawju.fsf@gnu.org> <63d4101b796673602872997b7680d6b04a189de3.camel@student.tugraz.at> Date: Wed, 04 Nov 2020 23:15:19 +0100 In-Reply-To: <63d4101b796673602872997b7680d6b04a189de3.camel@student.tugraz.at> (Leo Prikler's message of "Wed, 04 Nov 2020 00:28:51 +0100") Message-ID: <878sbg7oqw.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -3.3 (---) X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: 36376@debbugs.gnu.org, Maxim Cournoyer Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Scanner: ns3122888.ip-94-23-21.eu Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Spam-Score: -1.51 X-TUID: uTpSlSiuNE4c --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi! Leo Prikler skribis: > Am Dienstag, den 03.11.2020, 23:46 +0100 schrieb Ludovic Court=C3=A8s: >> Ludovic Court=C3=A8s skribis: >>=20 >> > This is not news to us, but as >> > notes, >> > the >> > application menu of desktop environments is not automatically >> > updated >> > when a package is installed or removed. It=E2=80=99d be great if we c= ould >> > somehow notify the desktop environment. >>=20 >> We=E2=80=99ve investigated today on IRC with Maxim and Leo P. and here= =E2=80=99s the >> summary of our findings: > Seeing my name thrown around more and more lately makes me blush a > little. Heheh, you provided useful hints! >> The GLib patch below is an attempt to monitor ~/.guix-profile and to >> treat changes to that symlink as if they were changes to >> ~/.guix-profile/share/applications (which contains =E2=80=98.desktop=E2= =80=99 files.) >> It actually builds but I haven=E2=80=99t tested it yet. :-) >>=20 >> WDYT? > Not having tested it either, I think that we should also listen on > /run/current-system/ (if it exists), so that changes to the system as > done by `reconfigure` are picked up. This includes most importantly > changes to the GNOME ecosystem itself. Like I wrote in the related bug, I think /run/current-system is less important because it typically doesn=E2=80=99t change much: https://issues.guix.gnu.org/35594#6 But I guess I=E2=80=99m also being a bit lazy=E2=80=A6 Anyhow, I=E2=80=99ve tested the patch in =E2=80=98guix system vm gnu/system/examples/desktop.tmpl=E2=80=99, with a =E2=80=98glib=E2=80=99 re= placement as shown below. I strace=E2=80=99d the user=E2=80=99s gnome-shell and ran: ln -s /run/current-system/profile ~/.guix-profile The trace showed that this led gnome-shell to traverse files in ~/.guix-profile/share (not just the applications/ sub-directory.) I wanted to test =E2=80=98guix install=E2=80=99 for real, which meant doing= it on =E2=80=98guix system vm-image=E2=80=99, but that took too long; so I tried =E2=80=98disk-= image -t qcow2=E2=80=99 instead but partition.img.drv fails. So I haven=E2=80=99t b= een able to actually test with =E2=80=98guix install=E2=80=99. Anyway, here=E2=80=99s the Guix patch. You need to drop the GLib patch in = the right place. Thanks, Ludo=E2=80=99. --=-=-= Content-Type: text/x-patch Content-Disposition: inline diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index bba9461d44..1c0de6eaed 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -181,6 +181,7 @@ shared NFS home directories.") (package (name "glib") (version "2.62.6") + (replacement glib-with-gio-patch) (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" @@ -387,6 +388,14 @@ dynamic loading, and an object system.") (home-page "https://developer.gnome.org/glib/") (license license:lgpl2.1+))) +(define glib-with-gio-patch + (package + (inherit glib) + (source (origin + (inherit (package-source glib)) + (patches (append (search-patches "glib-appinfo-watch.patch") + (origin-patches (package-source glib)))))))) + (define-public glib-with-documentation ;; glib's doc must be built in a separate package since it requires gtk-doc, ;; which in turn depends on glib. diff --git a/gnu/system/examples/desktop.tmpl b/gnu/system/examples/desktop.tmpl index 716b9feb8d..4797111c67 100644 --- a/gnu/system/examples/desktop.tmpl +++ b/gnu/system/examples/desktop.tmpl @@ -4,7 +4,7 @@ (use-modules (gnu) (gnu system nss)) (use-service-modules desktop xorg) -(use-package-modules certs gnome) +(use-package-modules certs gnome linux) (operating-system (host-name "antelope") @@ -57,7 +57,8 @@ ;; for HTTPS access nss-certs ;; for user mounts - gvfs) + gvfs + strace) %base-packages)) ;; Add GNOME and Xfce---we can choose at the log-in screen @@ -65,7 +66,6 @@ ;; include the X11 log-in service, networking with ;; NetworkManager, and more. (services (append (list (service gnome-desktop-service-type) - (service xfce-desktop-service-type) (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout)))) --=-=-=--