From 3bf597b16e23cd2ce0ee3b05c23b46add5e26cd4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Thu, 28 Oct 2021 18:57:24 +0200
Subject: [PATCH] Introduce options 'gjs_path' to optionally set path to gjs
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Upstream-Status: Pending

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
 js/dbusServices/meson.build                  | 2 +-
 meson.build                                  | 6 +++++-
 meson_options.txt                            | 6 ++++++
 subprojects/extensions-app/js/meson.build    | 2 +-
 subprojects/extensions-app/meson.build       | 7 ++++++-
 subprojects/extensions-app/meson_options.txt | 6 ++++++
 6 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/js/dbusServices/meson.build b/js/dbusServices/meson.build
index eb941ed..16efaeb 100644
--- a/js/dbusServices/meson.build
+++ b/js/dbusServices/meson.build
@@ -27,7 +27,7 @@ foreach service, dir : dbus_services
 
   serviceconf = configuration_data()
   serviceconf.set('service', service)
-  serviceconf.set('gjs', gjs.full_path())
+  serviceconf.set('gjs', gjs)
   serviceconf.set('pkgdatadir', pkgdatadir)
 
   configure_file(
diff --git a/meson.build b/meson.build
index 8d7478f..7c9cc6a 100644
--- a/meson.build
+++ b/meson.build
@@ -138,7 +138,11 @@ endif
 
 mutter_typelibdir = mutter_dep.get_variable('typelibdir')
 python = find_program('python3')
-gjs = find_program('gjs')
+if get_option('gjs_path') == ''
+  gjs = find_program('gjs')
+else
+  gjs = get_option('gjs_path')
+endif
 
 cc = meson.get_compiler('c')
 
diff --git a/meson_options.txt b/meson_options.txt
index f0f2ecf..a45f2e4 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -45,3 +45,9 @@ option('soup2',
   value: true,
   description: 'Use Soup 2.4 instead of Soup 3. Must be in sync with libgweather'
 )
+
+option('gjs_path',
+  type: 'string',
+  value: '',
+  description: 'Instead of searching gjs executable, configure path'
+)
diff --git a/subprojects/extensions-app/js/meson.build b/subprojects/extensions-app/js/meson.build
index ce2a776..8f7bba4 100644
--- a/subprojects/extensions-app/js/meson.build
+++ b/subprojects/extensions-app/js/meson.build
@@ -9,7 +9,7 @@ endif
 launcherconf.set('prefix', prefix)
 launcherconf.set('libdir', libdir)
 launcherconf.set('pkgdatadir', pkgdatadir)
-launcherconf.set('gjs', gjs.full_path())
+launcherconf.set('gjs', gjs)
 
 configure_file(
   input: prgname + '.in',
diff --git a/subprojects/extensions-app/meson.build b/subprojects/extensions-app/meson.build
index c260d7a..c5b7554 100644
--- a/subprojects/extensions-app/meson.build
+++ b/subprojects/extensions-app/meson.build
@@ -44,7 +44,12 @@ localedir = join_paths(datadir, 'locale')
 metainfodir = join_paths(datadir, 'metainfo')
 servicedir = join_paths(datadir, 'dbus-1', 'services')
 
-gjs = find_program('gjs')
+if get_option('gjs_path') == ''
+  gjs = find_program('gjs')
+else
+  gjs = get_option('gjs_path')
+endif
+
 appstream_util = find_program('appstream-util', required: false)
 desktop_file_validate = find_program('desktop-file-validate', required: false)
 
diff --git a/subprojects/extensions-app/meson_options.txt b/subprojects/extensions-app/meson_options.txt
index ca2eb41..2787785 100644
--- a/subprojects/extensions-app/meson_options.txt
+++ b/subprojects/extensions-app/meson_options.txt
@@ -10,3 +10,9 @@ option('profile',
   ],
   value: 'default'
 )
+
+option('gjs_path',
+  type: 'string',
+  value: '',
+  description: 'Instead of searching gjs executable, configure path'
+)
-- 
2.34.1

