Subject: [PATCH 3/4] gnu: gnome-shell-extension-gsconnect: Patch shebangs with gjs.

From: aurtzy <[email-masked]>
Date: Tue, 25 Feb 2025 18:34:23 -0500

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
---
 gnu/packages/gnome-xyz.scm | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm
index 0a785193c4..abcbe2c9f9 100644
--- a/gnu/packages/gnome-xyz.scm
+++ b/gnu/packages/gnome-xyz.scm
@@ -765,6 +765,18 @@ (define-public gnome-shell-extension-gsconnect
                  "gtk_update_icon_cache: false")
                 (("update_desktop_database: true")
                  "update_desktop_database: false"))))
+          (add-after 'unpack 'patch-gjs-shebangs
+            (lambda* (#:key inputs #:allow-other-keys)
+              (for-each
+               (lambda (file)
+                 (substitute* file
+                   (("^#!.*$")
+                    (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"))
-- 
2.48.1