diff mbox series

[bug#53036] gnu: syncthing-gtk: Fix autostart.

Message ID 10YAD-y_pZJkNBM4uVrklp03YiJtBVRcxPqDLGaJJ8R5PSHg6p21iH8A6NjoKR7uxnPCRUA9ELWS1MPYRoOo3v1nylz0VJfG6J3mF6AwZE8=@protonmail.com
State Accepted
Headers show
Series [bug#53036] gnu: syncthing-gtk: Fix autostart. | expand

Checks

Context Check Description
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

John Kehayias Jan. 5, 2022, 7:20 p.m. UTC
Hello,

This is a simple fix/workaround for https://issues.guix.gnu.org/50789

As discussed there, there is not a perfect solution for syncthing-gtk writing ~/.config/autostart/Syncthing-GTK.desktop with the Exec line pointing to the store path of ".syncthing-gtk-real". I've opted for a simple fix that won't break upon changes to the syncthing-gtk store path that was done similarly to e.g. the desktop files Flatpak writes in 9c4244cc73db4d5c3adf6f8342f6b08b39dd3628: just use plain "syncthing-gtk". While this means different syncthing-gtk could conflict (whatever is first in PATH wins), that seems unlikely given this package is just a frontend to syncthing. Anyway, seems like the best option right now so that the autostart file is usable and won't break.

Thanks,
John

Comments

Leo Famulari Jan. 5, 2022, 9:13 p.m. UTC | #1
On Wed, Jan 05, 2022 at 07:20:14PM +0000, John Kehayias via Guix-patches via wrote:
> From 1d62676b2b507f67103110c3fce5d8c6dc483f8b Mon Sep 17 00:00:00 2001
> From: John Kehayias <john.kehayias@protonmail.com>
> Date: Wed, 5 Jan 2022 14:09:42 -0500
> Subject: [PATCH] gnu: syncthing-gtk: Fix autostart.
> 
> * gnu/packages/syncthing.scm (syncthing-gtk)[#:phases]: Add autostart-path
> phase to use "syncthing-gtk" (rather than a store path to
> ".syncthing-gtk-real") as the exec command for the autostart desktop file
> written by syncthing-gtk.

Thanks! I pushed as c37559e81979232feee07aa1eb39faacb093c5ca with the
following changes:

1) I renamed the phase to 'fix-autostart-path'. It's not very important
but typically build phases are named imperatively.

2) I rewrote the commit message and code comment to be more clear about
what the change does. I found it a bit confusing and had to reread the
previous discussion to remind myself. Hopefully this is an improvement.

Thanks again for taking care of this package!
diff mbox series

Patch

From 1d62676b2b507f67103110c3fce5d8c6dc483f8b Mon Sep 17 00:00:00 2001
From: John Kehayias <john.kehayias@protonmail.com>
Date: Wed, 5 Jan 2022 14:09:42 -0500
Subject: [PATCH] gnu: syncthing-gtk: Fix autostart.

* gnu/packages/syncthing.scm (syncthing-gtk)[#:phases]: Add autostart-path
phase to use "syncthing-gtk" (rather than a store path to
".syncthing-gtk-real") as the exec command for the autostart desktop file
written by syncthing-gtk.
---
 gnu/packages/syncthing.scm | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 7125e70117..f356b24844 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -6,6 +6,7 @@ 
 ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -171,6 +172,13 @@  (define-public syncthing-gtk
                  (substitute* "syncthing_gtk/configuration.py"
                    (("/usr/bin/syncthing") (string-append syncthing
                                                           "/bin/syncthing"))))))
+           (add-after 'unpack 'autostart-path
+             ;; Change the autostart desktop file Exec command to just be
+             ;; syncthing-gtk, rather than the store path to
+             ;; .syncthing-gtk-real
+             (lambda _
+               (substitute* "syncthing_gtk/tools.py"
+                 (("return executable") "return \"syncthing-gtk\""))))
            (add-after 'unpack 'remove-windows.py
              (lambda _
                ;; A Windows-specific module that fails to load with
-- 
2.34.1