gnu: gnome-shell-extension-gsconnect: Patch shebangs with gjs.

The 'patch-shebangs phase does not handle shebangs of the form
"/usr/bin/env -S", so we manually patch them to fix a not-found error.

* gnu/packages/gnome-xyz.scm (gnome-shell-extension-gsconnect):
[arguments]<#:phases>: Add 'patch-gjs-shebangs phase to patch shebangs using
"/usr/bin/env -S" to execute gjs.

Change-Id: I6b84474e4976484f1203b7cf78fe5e882694cd22
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
This commit is contained in:
aurtzy 2025-03-06 03:44:52 -05:00 committed by Maxim Cournoyer
parent 0aabe12717
commit 7da79dde4d
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -761,6 +761,19 @@ faster window switching.")
"gtk_update_icon_cache: false")
(("update_desktop_database: true")
"update_desktop_database: false"))))
;; TODO: Remove after 'patch-shebangs is fixed to handle '/usr/bin/env -S'
;; shebangs (see bug#74450).
(add-after 'unpack 'patch-gjs-shebangs
(lambda* (#:key inputs #:allow-other-keys)
(for-each (lambda (file)
(substitute* file
(("^#!/usr/bin/env -S gjs.*$")
(string-append "#!" (which "gjs") " -m"))))
'("installed-tests/minijasmine"
"src/gsconnect-preferences"
"src/service/nativeMessagingHost.js"
"src/service/daemon.js"
"webextension/gettext.js"))))
(add-before 'configure 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((gapplication (search-input-file inputs "/bin/gapplication"))