theme: Pre-generate stylesheets as well
Since commit 9ef9a5ff8a
, man pages are generated at dist time to reduce
build dependencies when building from a released tarball.
Do the same for the stylesheets to also remove the sassc dependency.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1555>
This commit is contained in:
parent
9ef9a5ff8a
commit
eafbfdfa07
@ -41,6 +41,7 @@ foreach service_file : service_files
|
|||||||
)
|
)
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
|
theme_deps = []
|
||||||
|
|
||||||
subdir('dbus-interfaces')
|
subdir('dbus-interfaces')
|
||||||
subdir('icons')
|
subdir('icons')
|
||||||
|
@ -42,20 +42,21 @@ theme_sources = files([
|
|||||||
'gnome-shell-sass/widgets/_workspace-thumbnails.scss'
|
'gnome-shell-sass/widgets/_workspace-thumbnails.scss'
|
||||||
])
|
])
|
||||||
|
|
||||||
styles = [
|
stylesheets = [
|
||||||
'gnome-shell-high-contrast',
|
'gnome-shell-high-contrast.css',
|
||||||
'gnome-shell'
|
'gnome-shell.css'
|
||||||
]
|
]
|
||||||
|
|
||||||
theme_deps = []
|
foreach stylesheet: stylesheets
|
||||||
|
if not fs.exists(stylesheet)
|
||||||
foreach style: styles
|
sassc = find_program('sassc')
|
||||||
theme_deps += custom_target('style-' + style,
|
theme_deps += custom_target(stylesheet,
|
||||||
input: '@0@.scss'.format(style),
|
input: fs.replace_suffix(stylesheet, '.scss'),
|
||||||
output: '@0@.css'.format(style),
|
output: stylesheet,
|
||||||
command: [
|
command: [
|
||||||
sassc, '-a', '@INPUT@', '@OUTPUT@'
|
sassc, '-a', '@INPUT@', '@OUTPUT@'
|
||||||
],
|
],
|
||||||
depend_files: theme_sources)
|
depend_files: theme_sources)
|
||||||
|
endif
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
|
@ -137,7 +137,6 @@ endif
|
|||||||
|
|
||||||
mutter_typelibdir = mutter_dep.get_pkgconfig_variable('typelibdir')
|
mutter_typelibdir = mutter_dep.get_pkgconfig_variable('typelibdir')
|
||||||
python = find_program('python3')
|
python = find_program('python3')
|
||||||
sassc = find_program('sassc')
|
|
||||||
gjs = find_program('gjs')
|
gjs = find_program('gjs')
|
||||||
|
|
||||||
cc = meson.get_compiler('c')
|
cc = meson.get_compiler('c')
|
||||||
@ -293,6 +292,7 @@ endif
|
|||||||
|
|
||||||
meson.add_install_script('meson/postinstall.py')
|
meson.add_install_script('meson/postinstall.py')
|
||||||
meson.add_dist_script('meson/generate-manpages.py')
|
meson.add_dist_script('meson/generate-manpages.py')
|
||||||
|
meson.add_dist_script('meson/generate-stylesheets.py')
|
||||||
|
|
||||||
summary_options = {
|
summary_options = {
|
||||||
'networkmanager': get_option('networkmanager'),
|
'networkmanager': get_option('networkmanager'),
|
||||||
|
19
meson/generate-stylesheets.py
Normal file
19
meson/generate-stylesheets.py
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import os
|
||||||
|
from pathlib import PurePath
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
stylesheets = [
|
||||||
|
'data/theme/gnome-shell-high-contrast.css',
|
||||||
|
'data/theme/gnome-shell.css'
|
||||||
|
]
|
||||||
|
|
||||||
|
sourceroot = os.environ.get('MESON_SOURCE_ROOT')
|
||||||
|
distroot = os.environ.get('MESON_DIST_ROOT')
|
||||||
|
|
||||||
|
for stylesheet in stylesheets:
|
||||||
|
stylesheet_path = PurePath(stylesheet)
|
||||||
|
src = PurePath(sourceroot, stylesheet_path.with_suffix('.scss'))
|
||||||
|
dst = PurePath(distroot, stylesheet_path)
|
||||||
|
subprocess.call(['sassc', '-a', src, dst])
|
Loading…
Reference in New Issue
Block a user