John Kehayias wrote 3 years ago
(name . Guix-patches)(address . guix-patches@gnu.org)
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
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(+)
Toggle diff (28 lines)
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