1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
|
# Install the .desktop files that tell GDM about the GNOME session
wayland_desktops = [
'gnome',
'gnome-wayland',
]
foreach name : wayland_desktops
desktop = name + '.desktop'
desktop_in = configure_file(
input: desktop + '.in.in',
output: desktop + '.in',
configuration: {
'bindir': session_bindir,
'canrunheadless': 'true',
},
)
desktop_target = i18n.merge_file(
type: 'desktop',
input: desktop_in,
output: desktop,
po_dir: po_dir,
install: true,
install_dir: session_datadir / 'wayland-sessions',
)
endforeach
if have_x11
xorg_desktops = [
'gnome',
'gnome-xorg',
]
foreach name : xorg_desktops
desktop = name + '.desktop'
# 'gnome' target name is already used for wayland desktop,
# use 'gnome-copy' and on meson_post_install
# modify its name to 'gnome' again
if name == 'gnome'
desktop_out = 'gnome-copy.desktop'
else
desktop_out = desktop
endif
desktop_in = configure_file(
input: desktop + '.in.in',
output: desktop_out + '.in',
configuration: {
'bindir': session_bindir,
'canrunheadless': 'false',
},
)
desktop_target = i18n.merge_file(
type: 'desktop',
input: desktop_in,
output: desktop_out,
po_dir: po_dir,
install: true,
install_dir: session_datadir / 'xsessions',
)
endforeach
endif
# Next, let's install the necessary systemd scaffolding
install_data(
'gnome.session.conf',
install_dir: systemd_userunitdir / 'gnome-session@gnome.target.d',
)
systemd_service = [
'gnome-session-manager@.service',
'gnome-session-signal-init.service',
'gnome-session-restart-dbus.service',
'gnome-session-monitor.service',
]
foreach service: systemd_service
configure_file(
input: service + '.in',
output: service,
install: true,
install_dir: systemd_userunitdir,
configuration: {
'libexecdir': session_libexecdir,
},
)
endforeach
systemd_target = [
'gnome-session-wayland@.target',
'gnome-session-wayland.target',
'gnome-session@.target',
'gnome-session.target',
'gnome-session-basic-services.target',
'gnome-session-pre.target',
'gnome-session-manager.target',
'gnome-session-initialized.target',
'gnome-session-shutdown.target',
'gnome-session-x11-services.target',
'gnome-session-x11-services-ready.target',
]
if have_x11
systemd_target += [
'gnome-session-x11@.target',
'gnome-session-x11.target',
]
endif
install_data(
systemd_target,
install_dir: systemd_userunitdir
)
# Install resource limits that are applied to GNOME-launched apps
install_data(
'app-override.scope.conf',
rename: 'override.conf',
install_dir : join_paths(systemd_userunitdir, 'app-gnome-.scope.d')
)
# FIXME: https://github.com/systemd/systemd/issues/37104
install_data(
'app-override.scope.conf',
rename: 'override.conf',
install_dir : join_paths(systemd_userunitdir, 'app-flatpak-.scope.d')
)
# Install some other misc. configuration files
i18n.merge_file(
type: 'desktop',
input: 'gnome.session.desktop',
output: 'gnome.session',
po_dir: po_dir,
install: true,
install_dir: join_paths(session_pkgdatadir, 'sessions')
)
install_data(
'org.gnome.SessionManager.gschema.xml',
install_dir: join_paths(session_datadir, 'glib-2.0', 'schemas'),
)
install_data(
'gnome-portals.conf',
install_dir: session_datadir / 'xdg-desktop-portal',
)
if get_option('mimeapps')
install_data(
'gnome-mimeapps.list',
install_dir: session_datadir / 'applications',
)
endif
|