guix_mirror_bot pushed a commit to branch master
in repository guix.
commit 686e0f5452c11f62ba6ec4eee6df6b548978926e
Author: Alvin Hsu <[email protected]>
AuthorDate: Mon Sep 7 19:57:02 2026 -0400
gnu: gnome-shell-extension-gsconnect: Fix gsconnect-preferences not
starting.
gsconnect-preferences was updated to be a launcher script for a new
gsconnect-preferences.js [1], which moved the ‘gjs -m ...’ shebang into the
script body; thus the previous shebang patch no longer applies.
In the same commit, ‘gjs’ paths have been introduced in prefs.js and
daemon.js; these paths likewise need to be rewritten to make
gsconnect-preferences function as intended.
[1]
https://github.com/GSConnect/gnome-shell-extension-gsconnect/commit/f531498e13f1c996663966e9afffdfe3aa81bf36
* gnu/packages/gnome-xyz.scm (gnome-shell-extension-gsconnect):
[arguments]<#:phases>: Add ‘patch-gsconnect-preferences’.
{fix-paths}: Patch ‘gjs’' in prefs.js and daemon.js.
Signed-off-by: Liliana Marie Prikler <[email protected]>
Merges: guix/guix#11122
---
gnu/packages/gnome-xyz.scm | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm
index dac8ce253bb..cef40b43385 100644
--- a/gnu/packages/gnome-xyz.scm
+++ b/gnu/packages/gnome-xyz.scm
@@ -1043,10 +1043,20 @@ Requires the focus-timer application to be installed.")
(string-append
"#!" (search-input-file inputs "/bin/gjs") "
-m"))))
'("installed-tests/minijasmine"
- "src/gsconnect-preferences"
"src/service/nativeMessagingHost.js"
"src/service/daemon.js"
"webextension/gettext.js"))))
+ (add-after 'unpack 'patch-gsconnect-preferences
+ (lambda* (#:key inputs #:allow-other-keys)
+ (call-with-output-file "src/gsconnect-preferences"
+ (lambda (port)
+ (display (string-append
+ "#!/usr/bin/env sh\n"
+ "exec " (search-input-file inputs "/bin/gjs")
+ " -m " #$output "/share/gnome-shell"
+ "/extensions/[email protected]"
+ "/gsconnect-preferences.js\n")
+ port)))))
(add-before 'configure 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((gapplication (search-input-file inputs
"/bin/gapplication"))
@@ -1071,7 +1081,11 @@ Requires the focus-timer application to be installed.")
".prepend_search_path(path));\n")
output)
(dump-port input output))))
- '("src/extension.js" "src/prefs.js")))))
+ '("src/extension.js" "src/prefs.js"))
+ (substitute* (list "src/prefs.js" "src/service/daemon.js")
+ (("spawnv\\(\\['gjs'")
+ (string-append
+ "spawnv(['" (search-input-file inputs "/bin/gjs") "'"))))))
(add-after 'install 'wrap-programs
(lambda _
(let* ((out #$output)