nixpkgs/pkgs/desktops/gnome/extensions/gsconnect/fix-paths.patch

92 lines
3.1 KiB
Diff

diff --git a/data/org.gnome.Shell.Extensions.GSConnect.desktop.in b/data/org.gnome.Shell.Extensions.GSConnect.desktop.in
index 3fb887c3..e8cbe1bd 100644
--- a/data/org.gnome.Shell.Extensions.GSConnect.desktop.in
+++ b/data/org.gnome.Shell.Extensions.GSConnect.desktop.in
@@ -5,7 +5,7 @@
[Desktop Entry]
Type=Application
Name=GSConnect
-Exec=gapplication launch org.gnome.Shell.Extensions.GSConnect %U
+Exec=@gapplication@ launch org.gnome.Shell.Extensions.GSConnect %U
Terminal=false
NoDisplay=true
Icon=org.gnome.Shell.Extensions.GSConnect
diff --git a/src/__nix-prepend-search-paths.js b/src/__nix-prepend-search-paths.js
new file mode 100644
index 00000000..e664ad9b
--- /dev/null
+++ b/src/__nix-prepend-search-paths.js
@@ -0,0 +1,2 @@
+import GIRepository from 'gi://GIRepository';
+'@typelibPath@'.split(':').forEach(path => GIRepository.Repository.dup_default().prepend_search_path(path));
diff --git a/src/extension.js b/src/extension.js
index b82a9754..7303ee7a 100644
--- a/src/extension.js
+++ b/src/extension.js
@@ -2,6 +2,8 @@
//
// SPDX-License-Identifier: GPL-2.0-or-later
+import './__nix-prepend-search-paths.js';
+
import Gio from 'gi://Gio';
import GObject from 'gi://GObject';
diff --git a/src/gsconnect-preferences b/src/gsconnect-preferences
index 652f6b2e..7122bed6 100755
--- a/src/gsconnect-preferences
+++ b/src/gsconnect-preferences
@@ -15,5 +15,5 @@ if [ ! -f "./gsconnect-preferences.js" ]; then
fi
cd "$extension_dir" || exit 1
fi
-exec /usr/bin/env gjs -m gsconnect-preferences.js
+exec @gjs@ -m gsconnect-preferences.js
diff --git a/src/gsconnect-preferences.js b/src/gsconnect-preferences.js
index e2b1efe9..c2060e61 100644
--- a/src/gsconnect-preferences.js
+++ b/src/gsconnect-preferences.js
@@ -4,6 +4,8 @@
// -*- mode: js; -*-
+import './__nix-prepend-search-paths.js';
+
import Gdk from 'gi://Gdk?version=3.0';
import 'gi://GdkPixbuf?version=2.0';
import Gio from 'gi://Gio?version=2.0';
diff --git a/src/prefs.js b/src/prefs.js
index e4d38f8c..e177810b 100644
--- a/src/prefs.js
+++ b/src/prefs.js
@@ -2,6 +2,8 @@
//
// SPDX-License-Identifier: GPL-2.0-or-later
+import './__nix-prepend-search-paths.js';
+
import Gio from 'gi://Gio';
import GLib from 'gi://GLib';
import Adw from 'gi://Adw';
@@ -28,6 +30,6 @@ export default class GSConnectExtensionPreferences extends ExtensionPreferences
const _launcher = Gio.SubprocessLauncher.new({flags: Gio.SubprocessFlags.NONE});
_launcher.set_cwd(this.path);
- _launcher.spawnv(['gjs', '-m', 'gsconnect-preferences.js']);
+ _launcher.spawnv(['@gjs@', '-m', 'gsconnect-preferences.js']);
}
}
diff --git a/src/service/daemon.js b/src/service/daemon.js
index dda8b434..889c7d48 100755
--- a/src/service/daemon.js
+++ b/src/service/daemon.js
@@ -214,7 +214,7 @@ const Service = GObject.registerClass({
{flags: Gio.SubprocessFlags.NONE}
);
_launcher.set_cwd(Config.PACKAGE_DATADIR);
- _launcher.spawnv(['gjs', '-m', 'gsconnect-preferences.js']);
+ _launcher.spawnv(['@gjs@', '-m', 'gsconnect-preferences.js']);
}
/**