Meson has a strict separation of source- and build directory, and expects anything generated in the latter. That means that in order to maintain our current setup - shipping the generated CSS in the repo while also optionally updating it automatically when sassc is found - we have to fight the build system to some extent, which makes it less reliable than we would like. Since we switched to sassc which is a more acceptable build-time dependency than the original ruby-based tool, just drop the CSS from the repo and unconditionally generate it from SASS if classic mode is enabled. https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/28
63 lines
1.4 KiB
Meson
63 lines
1.4 KiB
Meson
sessions = [
|
|
['gnome-classic.session.desktop', sessiondir],
|
|
['gnome-classic.desktop', xsessiondir]
|
|
]
|
|
foreach s : sessions
|
|
i18n.merge_file('',
|
|
input: s[0] + '.in',
|
|
output: s[0],
|
|
po_dir: '../po',
|
|
install: true,
|
|
install_dir: s[1],
|
|
type: 'desktop'
|
|
)
|
|
endforeach
|
|
|
|
classic_uuids = []
|
|
foreach e : classic_extensions
|
|
classic_uuids += e + uuid_suffix
|
|
endforeach
|
|
|
|
mode_conf = configuration_data()
|
|
mode_conf.set('CLASSIC_EXTENSIONS', '"' + '", "'.join(classic_uuids) + '"')
|
|
|
|
mode_file = 'classic.json'
|
|
configure_file(
|
|
input: mode_file + '.in',
|
|
output: mode_file,
|
|
configuration: mode_conf,
|
|
install_dir: modedir
|
|
)
|
|
|
|
theme_sources = files(
|
|
'gnome-shell-sass/_colors.scss',
|
|
'gnome-shell-sass/_common.scss',
|
|
'gnome-shell-sass/_drawing.scss',
|
|
'gnome-shell-sass/_high-contrast-colors.scss'
|
|
)
|
|
|
|
theme_data = [
|
|
'calendar-today.svg',
|
|
'classic-process-working.svg',
|
|
'classic-toggle-off-intl.svg',
|
|
'classic-toggle-off-us.svg',
|
|
'classic-toggle-on-intl.svg',
|
|
'classic-toggle-on-us.svg',
|
|
'gnome-classic-high-contrast.css'
|
|
]
|
|
|
|
style = 'gnome-classic'
|
|
custom_target(style + '.css',
|
|
input: style + '.scss',
|
|
output: style + '.css',
|
|
depend_files: theme_sources,
|
|
command: [sassc, '-a', '@INPUT@', '@OUTPUT@'],
|
|
install: true,
|
|
install_dir: themedir
|
|
)
|
|
|
|
install_data(theme_data, install_dir: themedir)
|
|
|
|
classic_schema = 'org.gnome.shell.extensions.classic-overrides.gschema.xml'
|
|
install_data(classic_schema, install_dir: schemadir)
|