41d5b1455f
Move the GNOME shell service file adapation for x11/wayland into the target/service files. This means that the session definition can simply pull in org.gnome.Shell.target, without having to care about whether it is starting an X11 or wayland session. Note that this currently requires fork'ing to do the test. This will however not be needed in the long term when ConditionEnvironment becomes available (see https://github.com/systemd/systemd/pull/15817). We technically do not need to use template units. But doing so means that the unit can be translated to the app id more easily (though it is not yet completely clear how this should look like in the long term). https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/895
131 lines
3.4 KiB
Meson
131 lines
3.4 KiB
Meson
desktop_files = [
|
|
'org.gnome.Shell.desktop',
|
|
'org.gnome.Shell.Extensions.desktop',
|
|
]
|
|
service_files = []
|
|
|
|
if have_networkmanager
|
|
desktop_files += 'org.gnome.Shell.PortalHelper.desktop'
|
|
service_files += 'org.gnome.Shell.PortalHelper.service'
|
|
endif
|
|
|
|
desktopconf = configuration_data()
|
|
# We substitute in bindir so it works as an autostart
|
|
# file when built in a non-system prefix
|
|
desktopconf.set('bindir', bindir)
|
|
desktopconf.set('systemd_hidden', have_systemd ? 'true' : 'false')
|
|
|
|
foreach desktop_file : desktop_files
|
|
i18n.merge_file('desktop',
|
|
input: configure_file(
|
|
input: desktop_file + '.in.in',
|
|
output: desktop_file + '.in',
|
|
configuration: desktopconf
|
|
),
|
|
output: desktop_file,
|
|
po_dir: po_dir,
|
|
install: true,
|
|
install_dir: desktopdir,
|
|
type: 'desktop'
|
|
)
|
|
endforeach
|
|
|
|
serviceconf = configuration_data()
|
|
serviceconf.set('libexecdir', libexecdir)
|
|
foreach service_file : service_files
|
|
configure_file(
|
|
input: service_file + '.in',
|
|
output: service_file,
|
|
configuration: serviceconf,
|
|
install_dir: servicedir
|
|
)
|
|
endforeach
|
|
|
|
|
|
subdir('dbus-interfaces')
|
|
subdir('icons')
|
|
subdir('theme')
|
|
|
|
data_resources = [
|
|
['dbus-interfaces', []],
|
|
['osk-layouts', []],
|
|
['theme', theme_deps]
|
|
]
|
|
foreach resource : data_resources
|
|
gnome.compile_resources(
|
|
'gnome-shell-' + resource[0],
|
|
'gnome-shell-@0@.gresource.xml'.format(resource[0]),
|
|
source_dir: resource[0],
|
|
dependencies: resource[1],
|
|
gresource_bundle: true,
|
|
install: true,
|
|
install_dir: pkgdatadir
|
|
)
|
|
endforeach
|
|
|
|
perfconf = configuration_data()
|
|
perfconf.set('datadir', datadir)
|
|
configure_file(
|
|
input: 'perf-background.xml.in',
|
|
output: 'perf-background.xml',
|
|
configuration: perfconf,
|
|
install_dir: pkgdatadir
|
|
)
|
|
|
|
|
|
install_data('gnome-shell.portal', install_dir: portaldir)
|
|
install_data('50-gnome-shell-system.xml', install_dir: keysdir)
|
|
|
|
|
|
schemaconf = configuration_data()
|
|
schemaconf.set('GETTEXT_PACKAGE', meson.project_name())
|
|
schema = configure_file(
|
|
input: 'org.gnome.shell.gschema.xml.in',
|
|
output: 'org.gnome.shell.gschema.xml',
|
|
configuration: schemaconf,
|
|
install_dir: schemadir
|
|
)
|
|
install_data('00_org.gnome.shell.gschema.override', install_dir: schemadir)
|
|
|
|
overrides_migration_conf = configuration_data()
|
|
overrides_migration_conf.set('libexecdir', libexecdir)
|
|
overrides_migration = configure_file(
|
|
input: 'gnome-shell-overrides-migration.desktop.in',
|
|
output: 'gnome-shell-overrides-migration.desktop',
|
|
configuration: overrides_migration_conf,
|
|
install_dir: autostartdir
|
|
)
|
|
|
|
if have_systemd
|
|
unitconf = configuration_data()
|
|
unitconf.set('bindir', bindir)
|
|
|
|
configure_file(
|
|
input: 'org.gnome.Shell@x11.service.in',
|
|
output: 'org.gnome.Shell@x11.service',
|
|
configuration: unitconf,
|
|
install_dir: systemduserunitdir
|
|
)
|
|
|
|
configure_file(
|
|
input: 'org.gnome.Shell@wayland.service.in',
|
|
output: 'org.gnome.Shell@wayland.service',
|
|
configuration: unitconf,
|
|
install_dir: systemduserunitdir
|
|
)
|
|
|
|
units = files('org.gnome.Shell.target',
|
|
'org.gnome.Shell-disable-extensions.service')
|
|
|
|
install_data(units, install_dir: systemduserunitdir)
|
|
endif
|
|
|
|
# for unit tests - gnome.compile_schemas() only looks in srcdir
|
|
custom_target('compile-schemas',
|
|
input: schema,
|
|
output: 'gschemas.compiled',
|
|
command: [find_program('glib-compile-schemas'), meson.current_build_dir()],
|
|
build_by_default: true)
|
|
|
|
install_data('gnome-shell-overrides.convert', install_dir: convertdir)
|