mirror of https://github.com/srebrovvilen/cldg
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
2.2 KiB
59 lines
2.2 KiB
|
|
diff --git a/meson-gse/meson.build.m4 b/meson-gse/meson.build.m4
|
|
|
|
--- a/meson-gse/meson.build.m4 2022-03-13 02:03:28.000000000 +0300
|
|
+++ b/meson-gse/meson.build.m4 2022-07-03 10:19:07.080321000 +0300
|
|
@@ -63,6 +63,15 @@
|
|
gnome = import('gnome')
|
|
i18n = import('i18n')
|
|
|
|
+if get_option('local_install').auto()
|
|
+ gse_local_install = false
|
|
+ if get_option('prefix') == '/usr/local'
|
|
+ gse_local_install = run_command(find_program('id'), '-u').stdout().strip() != '0'
|
|
+ endif
|
|
+else
|
|
+ gse_local_install = get_option('local_install').enabled()
|
|
+endif
|
|
+
|
|
gse_lib_convenience = files('meson-gse/lib/convenience.js')
|
|
gse_lib_logger = files('meson-gse/lib/logger.js')
|
|
|
|
@@ -97,17 +106,28 @@
|
|
# End of extension-specific settings
|
|
|
|
# Boilerplate
|
|
-gse_run_command_obj = run_command('sh', '-c', 'echo $HOME')
|
|
-if gse_run_command_obj.returncode() != 0
|
|
- error('HOME not found, exit=@0@'.format(gse_run_command_obj.returncode()))
|
|
+if gse_local_install
|
|
+ gse_run_command_obj = run_command('sh', '-c', 'echo $HOME')
|
|
+ if gse_run_command_obj.returncode() != 0
|
|
+ error('HOME not found, exit=@0@'.format(gse_run_command_obj.returncode()))
|
|
+ endif
|
|
+ prefix = gse_run_command_obj.stdout().strip() / '.local'
|
|
+else
|
|
+ prefix = get_option('prefix')
|
|
endif
|
|
-home = gse_run_command_obj.stdout().strip()
|
|
|
|
gse_uuid = meson.project_name() + '@$2'
|
|
-gse_target_dir = home + '/.local/share/gnome-shell/extensions/' + gse_uuid
|
|
-gse_target_dir_schemas = join_paths(gse_target_dir, 'schemas')
|
|
-gse_target_locale_dir = join_paths(gse_target_dir, 'locale')
|
|
-gse_target_dir_dbus_intf = join_paths(gse_target_dir, 'dbus-interfaces')
|
|
+gse_target_dir = prefix + '/share/gnome-shell/extensions/' + gse_uuid
|
|
+
|
|
+if gse_local_install
|
|
+ gse_target_dir_schemas = join_paths(gse_target_dir, 'schemas')
|
|
+ gse_target_locale_dir = join_paths(gse_target_dir, 'locale')
|
|
+ gse_target_dir_dbus_intf = join_paths(gse_target_dir, 'dbus-interfaces')
|
|
+else
|
|
+ gse_target_dir_schemas = prefix / get_option('datadir') / 'glib-2.0' / 'schemas'
|
|
+ gse_target_locale_dir = prefix / get_option('localedir')
|
|
+ gse_target_dir_dbus_intf = join_paths(gse_target_dir, 'dbus-interfaces')
|
|
+endif
|
|
|
|
meson_extra_scripts = 'meson-gse/meson-scripts'
|
|
|