]> git.ipfire.org Git - thirdparty/plymouth.git/commitdiff
Port build system to Meson
authorNiels De Graef <nielsdegraef@gmail.com>
Mon, 25 Jul 2022 10:55:59 +0000 (12:55 +0200)
committerRay Strode <rstrode@redhat.com>
Mon, 14 Nov 2022 17:21:55 +0000 (12:21 -0500)
41 files changed:
docs/meson.build [new file with mode: 0644]
images/meson.build [new file with mode: 0644]
meson.build [new file with mode: 0644]
meson_options.txt [new file with mode: 0644]
po/meson.build [new file with mode: 0644]
scripts/meson.build [new file with mode: 0644]
src/client/meson.build [new file with mode: 0644]
src/libply-splash-core/meson.build [new file with mode: 0644]
src/libply-splash-graphics/meson.build [new file with mode: 0644]
src/libply/meson.build [new file with mode: 0644]
src/meson.build [new file with mode: 0644]
src/plugins/controls/label-freetype/meson.build [new file with mode: 0644]
src/plugins/controls/label-pango/meson.build [new file with mode: 0644]
src/plugins/controls/meson.build [new file with mode: 0644]
src/plugins/meson.build [new file with mode: 0644]
src/plugins/renderers/drm/meson.build [new file with mode: 0644]
src/plugins/renderers/frame-buffer/meson.build [new file with mode: 0644]
src/plugins/renderers/meson.build [new file with mode: 0644]
src/plugins/renderers/x11/meson.build [new file with mode: 0644]
src/plugins/splash/details/meson.build [new file with mode: 0644]
src/plugins/splash/fade-throbber/meson.build [new file with mode: 0644]
src/plugins/splash/meson.build [new file with mode: 0644]
src/plugins/splash/script/generate_script_string_header.py [new file with mode: 0644]
src/plugins/splash/script/meson.build [new file with mode: 0644]
src/plugins/splash/space-flares/meson.build [new file with mode: 0644]
src/plugins/splash/text/meson.build [new file with mode: 0644]
src/plugins/splash/tribar/meson.build [new file with mode: 0644]
src/plugins/splash/two-step/meson.build [new file with mode: 0644]
src/upstart-bridge/meson.build [new file with mode: 0644]
systemd-units/meson.build [new file with mode: 0644]
themes/bgrt/meson.build [new file with mode: 0644]
themes/details/meson.build [new file with mode: 0644]
themes/fade-in/meson.build [new file with mode: 0644]
themes/glow/meson.build [new file with mode: 0644]
themes/meson.build [new file with mode: 0644]
themes/script/meson.build [new file with mode: 0644]
themes/solar/meson.build [new file with mode: 0644]
themes/spinfinity/meson.build [new file with mode: 0644]
themes/spinner/meson.build [new file with mode: 0644]
themes/text/meson.build [new file with mode: 0644]
themes/tribar/meson.build [new file with mode: 0644]

diff --git a/docs/meson.build b/docs/meson.build
new file mode 100644 (file)
index 0000000..ab746e8
--- /dev/null
@@ -0,0 +1,29 @@
+xsltproc = find_program('xsltproc')
+
+man_pages = {
+  'plymouth1.xml': 'plymouth.1',
+  'plymouth.xml': 'plymouth.8',
+  'plymouthd.xml': 'plymouthd.8',
+  'plymouth-set-default-theme.xml': 'plymouth-set-default-theme.1',
+}
+
+foreach man_xml_input, man_output : man_pages
+  custom_target(man_output,
+    input: man_xml_input,
+    output: man_output,
+    command: [
+      xsltproc,
+      '--nonet',
+      '--stringparam', 'man.output.quietly', '1',
+      '--stringparam', 'funcsynopsis.style', 'ansi',
+      '--stringparam', 'man.th.extra1.suppress', '1',
+      '--stringparam', 'man.authors.section.enabled', '0',
+      '--stringparam', 'man.copyright.section.enabled', '0',
+      '-o', '@OUTPUT@',
+      'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl',
+      '@INPUT@',
+    ],
+    install: true,
+    install_dir: get_option('mandir') / 'man' + man_output.substring(-1),
+  )
+endforeach
diff --git a/images/meson.build b/images/meson.build
new file mode 100644 (file)
index 0000000..150833c
--- /dev/null
@@ -0,0 +1,5 @@
+if use_fallback_logo
+  install_data('bizcom.png',
+    install_dir: get_option('datadir') / 'plymouth',
+  )
+endif
diff --git a/meson.build b/meson.build
new file mode 100644 (file)
index 0000000..5932750
--- /dev/null
@@ -0,0 +1,105 @@
+project('plymouth', 'c',
+  meson_version: '>= 0.61',
+  version: run_command(
+    'date', '+%y.%V.' + run_command(
+      'git', 'rev-list',
+      run_command('git', 'describe', '--abbrev=0', check: true).stdout().strip() + '..HEAD',
+      '--count',
+      check: true,
+    ).stdout().strip(),
+    '-d', '@' + run_command('git', 'log', '-1', '--pretty=format:%ct', check: true).stdout().strip(),
+    check: true,
+  ).stdout().strip(),
+)
+
+# Modules
+i18n = import('i18n')
+pkgconfig = import('pkgconfig')
+
+# General variables
+plymouth_soversion = '5.0.0'
+
+plymouth_theme_path = get_option('prefix') / get_option('datadir') / 'plymouth' / 'themes'
+plymouth_plugin_path = get_option('prefix') / get_option('libdir') / 'plymouth/'
+plymouth_policy_dir = get_option('prefix') / get_option('datadir') / 'plymouth/'
+plymouth_conf_dir = get_option('prefix') / get_option('sysconfdir') / 'plymouth/'
+plymouth_time_dir = get_option('prefix') / get_option('localstatedir') / 'lib' / 'plymouth'
+
+plymouth_runtime_dir = get_option('runstatedir') / 'plymouth'
+plymouth_runtime_theme_path = plymouth_runtime_dir / 'themes'
+
+# Dependencies
+cc = meson.get_compiler('c')
+lm_dep = cc.find_library('m')
+lrt_dep = cc.find_library('rt')
+ldl_dep = cc.find_library('dl')
+
+libpng_dep = dependency('libpng', version: '>= 1.2.16')
+
+libudev_dep = dependency('libudev', required: get_option('udev'))
+libpango_dep = dependency('pango', required: get_option('pango'))
+libfreetype_dep = dependency('freetype2', required: get_option('freetype'))
+gtk3_dep = dependency('gtk+-3.0', version: '>= 3.14.0', required: get_option('gtk'))
+libdrm_dep = dependency('libdrm', required: get_option('drm'))
+
+if get_option('systemd-integration')
+  systemd_dep = dependency('systemd')
+  systemd_unit_dir = systemd_dep.get_variable('systemdsystemunitdir',
+    pkgconfig_define: [ 'rootprefix', get_option('prefix') ],
+  )
+  systemd_ask_password_agent = find_program('systemd-tty-ask-password-agent')
+endif
+
+if get_option('upstart-monitoring')
+  dbus_dep = dependency('dbus-1')
+  curses_dep = dependency('curses')
+endif
+
+# Logo
+plymouth_logo_file = get_option('logo')
+use_fallback_logo = plymouth_logo_file == ''
+if use_fallback_logo
+  plymouth_logo_file = get_option('prefix') / get_option('datadir') / 'plymouth' / 'bizcom.png'
+endif
+
+# Global C flags
+add_project_arguments([
+    '-D_GNU_SOURCE',
+  ],
+  language: 'c'
+)
+
+# config.h
+conf = configuration_data()
+conf.set_quoted('BOOT_TTY', get_option('boot-tty'))
+conf.set_quoted('SHUTDOWN_TTY', get_option('shutdown-tty'))
+conf.set_quoted('RELEASE_FILE', get_option('release-file'))
+conf.set('HAVE_UDEV', libudev_dep.found())
+conf.set('PLY_ENABLE_TRACING', get_option('tracing'))
+conf.set_quoted('PLYMOUTH_RUNTIME_DIR', plymouth_runtime_dir)
+conf.set_quoted('PLYMOUTH_THEME_PATH', plymouth_theme_path)
+conf.set_quoted('PLYMOUTH_RUNTIME_THEME_PATH', plymouth_runtime_theme_path)
+conf.set_quoted('PLYMOUTH_PLUGIN_PATH', plymouth_plugin_path)
+conf.set_quoted('PLYMOUTH_POLICY_DIR', plymouth_policy_dir)
+conf.set_quoted('PLYMOUTH_CONF_DIR', plymouth_conf_dir)
+conf.set_quoted('PLYMOUTH_TIME_DIRECTORY', plymouth_time_dir)
+conf.set('HAVE_NCURSESW_TERM_H', get_option('upstart-monitoring')? cc.has_header('ncursesw/term.h') : false)
+conf.set('HAVE_NCURSES_TERM_H', get_option('upstart-monitoring')? cc.has_header('ncurses/term.h') : false)
+config_file = configure_file(
+  output: 'config.h',
+  configuration: conf,
+)
+config_h_inc = include_directories('.')
+
+# Subdirectories
+subdir('images')
+subdir('po')
+subdir('src')
+subdir('themes')
+subdir('scripts')
+if get_option('systemd-integration')
+  subdir('systemd-units')
+endif
+if get_option('docs')
+  subdir('docs')
+endif
diff --git a/meson_options.txt b/meson_options.txt
new file mode 100644 (file)
index 0000000..4f601bb
--- /dev/null
@@ -0,0 +1,85 @@
+option('logo',
+  type: 'string',
+  value: '',
+  description: 'Full path for logo used by boot splash plugin (if empty, uses a fallback logo)',
+)
+option('background-color',
+  type: 'string',
+  value: '0x5d5950',
+  description: 'Background color used by boot splash plugins',
+)
+option('background-start-color-stop',
+  type: 'string',
+  value: '0x807c71',
+  description: 'First color stop in background gradients used by boot splash plugins',
+)
+option('background-end-color-stop',
+  type: 'string',
+  value: '0x3a362f',
+  description: 'Last color end in background gradients used by boot splash plugins',
+)
+option('release-file',
+  type: 'string',
+  value: '/etc/system-release',
+  description: 'Release file to use to detect distribution',
+)
+option('runstatedir',
+  type: 'string',
+  value: '/run',
+  description: 'runstatedir',
+)
+option('boot-tty',
+  type: 'string',
+  value: '/dev/tty1',
+  description: 'TTY to use in boot mode',
+)
+option('shutdown-tty',
+  type: 'string',
+  value: '/dev/tty63',
+  description: 'TTY to use in shutdown mode',
+)
+option('tracing',
+  type: 'boolean',
+  value: true,
+  description: 'Build with verbose debug tracing spew',
+)
+option('upstart-monitoring',
+  type: 'boolean',
+  value: false,
+  description: 'Listen for messages on the Upstart D-Bus interface',
+)
+option('systemd-integration',
+  type: 'boolean',
+  value: true,
+  description: 'Coordinate boot up with systemd',
+)
+option('udev',
+  type: 'feature',
+  value: 'auto',
+  description: 'Build with udev support',
+)
+option('pango',
+  type: 'feature',
+  value: 'enabled',
+  description: 'Build with pango support (if enabled, used for encryption prompts)',
+)
+option('freetype',
+  type: 'feature',
+  value: 'enabled',
+  description: 'Build with freetype support (if enabled, used for encryption prompts)',
+)
+option('gtk',
+  type: 'feature',
+  value: 'enabled',
+  description: 'Build with GTK support (if disabled, there is no X11 support)',
+)
+option('drm',
+  type: 'boolean',
+  value: true,
+  description: 'Build with drm kms support',
+)
+option('docs',
+  type: 'boolean',
+  value: true,
+  description: 'Build documentation',
+)
diff --git a/po/meson.build b/po/meson.build
new file mode 100644 (file)
index 0000000..fdbc881
--- /dev/null
@@ -0,0 +1,5 @@
+po_dir = meson.current_source_dir()
+
+i18n.gettext(meson.project_name(),
+  preset: 'glib',
+)
diff --git a/scripts/meson.build b/scripts/meson.build
new file mode 100644 (file)
index 0000000..0fd635b
--- /dev/null
@@ -0,0 +1,53 @@
+configure_file(
+  input: 'plymouth-generate-initrd.in',
+  output: '@BASENAME@',
+  configuration: {
+    'PLYMOUTH_LIBEXECDIR': get_option('prefix') / get_option('libexecdir'),
+    'PLYMOUTH_DATADIR': get_option('prefix') / get_option('datadir'),
+  },
+  install_dir: get_option('libexecdir') / 'plymouth',
+  install_mode: 'rwxr-xr-x',
+)
+
+configure_file(
+  input: 'plymouth-populate-initrd.in',
+  output: '@BASENAME@',
+  configuration: {
+    'PLYMOUTH_LIBEXECDIR': get_option('prefix') / get_option('libexecdir'),
+    'PLYMOUTH_DATADIR': get_option('prefix') / get_option('datadir'),
+    'PLYMOUTH_LOGO_FILE': plymouth_logo_file,
+    'PLYMOUTH_CONF_DIR': plymouth_conf_dir,
+    'PLYMOUTH_POLICY_DIR': plymouth_policy_dir,
+    'PLYMOUTH_CLIENT_DIR': get_option('prefix') / get_option('bindir'),
+    'PLYMOUTH_DAEMON_DIR': get_option('prefix') / get_option('sbindir'),
+    'SYSTEMD_UNIT_DIR': get_option('systemd-integration')? systemd_unit_dir : '',
+    'RELEASE_FILE': get_option('release-file'),
+  },
+  install_dir: get_option('libexecdir') / 'plymouth',
+  install_mode: 'rwxr-xr-x',
+)
+
+install_data(
+  'plymouth-update-initrd',
+  install_dir: get_option('libexecdir') / 'plymouth',
+  install_mode: 'rwxr-xr-x',
+)
+
+configure_file(
+  input: 'plymouth-set-default-theme.in',
+  output: '@BASENAME@',
+  configuration: {
+    'PLYMOUTH_LIBDIR': get_option('prefix') / get_option('libdir'),
+    'PLYMOUTH_LIBEXECDIR': get_option('prefix') / get_option('libexecdir'),
+    'PLYMOUTH_DATADIR': get_option('prefix') / get_option('datadir'),
+    'PLYMOUTH_CONF_DIR': plymouth_conf_dir,
+    'PLYMOUTH_POLICY_DIR': plymouth_policy_dir,
+  },
+  install_dir: get_option('sbindir'),
+  install_mode: 'rwxr-xr-x',
+)
+
+install_data(
+  'bootlog',
+  install_dir: get_option('sysconfdir') / 'logrotate.d',
+)
diff --git a/src/client/meson.build b/src/client/meson.build
new file mode 100644 (file)
index 0000000..0506c8b
--- /dev/null
@@ -0,0 +1,61 @@
+plymouth_client_src = files(
+  'ply-boot-client.c',
+  'plymouth.c',
+)
+
+plymouth_client = executable('plymouth',
+  plymouth_client_src,
+  dependencies: libply_dep,
+  include_directories: [
+    config_h_inc,
+    include_directories('..'),
+  ],
+  install: true,
+)
+
+
+libply_boot_client_src = files(
+  'ply-boot-client.c',
+)
+
+libply_boot_client = library('ply-boot-client',
+  libply_boot_client_src,
+  dependencies: [ libply_dep ],
+  include_directories: [
+    config_h_inc,
+    include_directories('..'),
+  ],
+  version: plymouth_soversion,
+  install: true,
+)
+
+libply_boot_client_dep = declare_dependency(
+  link_with: libply_boot_client,
+  include_directories: [
+    include_directories('.'),
+    include_directories('..'),
+  ],
+)
+
+libply_boot_client_headers = files(
+  'ply-boot-client.h',
+  '../ply-boot-protocol.h',
+)
+
+install_headers(libply_boot_client_headers,
+  install_dir: get_option('includedir') / 'plymouth-1' / 'ply-boot-client',
+)
+
+pkgconfig.generate(libply_boot_client,
+  filebase: 'ply-boot-client',
+  name: 'Plymouth',
+  description: 'Client Library for Boot Splash',
+  libraries: [
+    libply,
+    ldl_dep,
+  ],
+  subdirs: [
+    'plymouth-1/ply',
+    'plymouth-1/ply-boot-client',
+  ],
+)
diff --git a/src/libply-splash-core/meson.build b/src/libply-splash-core/meson.build
new file mode 100644 (file)
index 0000000..8914e8e
--- /dev/null
@@ -0,0 +1,85 @@
+libply_splash_core_sources = files(
+  'ply-boot-splash.c',
+  'ply-device-manager.c',
+  'ply-keyboard.c',
+  'ply-pixel-buffer.c',
+  'ply-pixel-display.c',
+  'ply-renderer.c',
+  'ply-terminal.c',
+  'ply-text-display.c',
+  'ply-text-progress-bar.c',
+  'ply-text-step-bar.c',
+)
+
+libply_splash_core_public_deps = [
+  libply_dep,
+]
+
+libply_splash_core_private_deps = [
+  lm_dep,
+]
+
+if libudev_dep.found()
+  libply_splash_core_private_deps += libudev_dep
+endif
+
+libply_splash_core_cflags = [
+  '-DPLYMOUTH_BACKGROUND_COLOR=@0@'.format(get_option('background-color')),
+  '-DPLYMOUTH_BACKGROUND_START_COLOR=@0@'.format(get_option('background-start-color-stop')),
+  '-DPLYMOUTH_BACKGROUND_END_COLOR=@0@'.format(get_option('background-end-color-stop')),
+  '-DPLYMOUTH_PLUGIN_PATH="@0@"'.format(plymouth_plugin_path),
+]
+
+libply_splash_core = library('ply-splash-core',
+  libply_splash_core_sources,
+  dependencies: libply_splash_core_public_deps + libply_splash_core_private_deps,
+  c_args: libply_splash_core_cflags,
+  include_directories: config_h_inc,
+  version: plymouth_soversion,
+  install: true,
+)
+
+libply_splash_core_dep = declare_dependency(
+  link_with: libply_splash_core,
+  dependencies: libply_dep,
+  include_directories: include_directories('.'),
+)
+
+libply_splash_core_headers = files(
+  'ply-boot-splash-plugin.h',
+  'ply-boot-splash.h',
+  'ply-device-manager.h',
+  'ply-keyboard.h',
+  'ply-pixel-buffer.h',
+  'ply-pixel-display.h',
+  'ply-renderer-plugin.h',
+  'ply-renderer.h',
+  'ply-terminal.h',
+  'ply-text-display.h',
+  'ply-text-progress-bar.h',
+  'ply-text-step-bar.h',
+)
+
+install_headers(libply_splash_core_headers,
+  install_dir: get_option('includedir') / 'plymouth-1' / 'ply-splash-core',
+)
+
+pkgconfig.generate(libply_splash_core,
+  filebase: 'ply-splash-core',
+  name: 'Plymouth',
+  description: 'Utility Library for Boot Splash Plugins',
+  libraries: [
+    libply,
+    ldl_dep,
+  ],
+  subdirs: [
+    'plymouth-1/ply',
+    'plymouth-1/ply-splash-core',
+  ],
+  variables: {
+    'pluginsdir': plymouth_plugin_path,
+    'themesdir': plymouth_theme_path,
+    'confdir': plymouth_conf_dir,
+    'policydir': plymouth_policy_dir,
+  },
+)
diff --git a/src/libply-splash-graphics/meson.build b/src/libply-splash-graphics/meson.build
new file mode 100644 (file)
index 0000000..32fad96
--- /dev/null
@@ -0,0 +1,72 @@
+libply_splash_graphics_sources = files(
+  'ply-animation.c',
+  'ply-capslock-icon.c',
+  'ply-entry.c',
+  'ply-image.c',
+  'ply-keymap-icon.c',
+  'ply-label.c',
+  'ply-progress-animation.c',
+  'ply-progress-bar.c',
+  'ply-throbber.c',
+)
+
+libply_splash_graphics_deps = [
+  libply_splash_core_dep,
+  lm_dep,
+  libpng_dep,
+]
+
+libply_splash_graphics_cflags = [
+  '-DPLYMOUTH_BACKGROUND_COLOR=@0@'.format(get_option('background-color')),
+  '-DPLYMOUTH_BACKGROUND_START_COLOR=@0@'.format(get_option('background-start-color-stop')),
+  '-DPLYMOUTH_BACKGROUND_END_COLOR=@0@'.format(get_option('background-end-color-stop')),
+  '-DPLYMOUTH_PLUGIN_PATH="@0@"'.format(plymouth_plugin_path),
+]
+
+libply_splash_graphics = library('ply-splash-graphics',
+  libply_splash_graphics_sources,
+  dependencies: libply_splash_graphics_deps,
+  c_args: libply_splash_graphics_cflags,
+  include_directories: config_h_inc,
+  version: plymouth_soversion,
+  install: true,
+)
+
+libply_splash_graphics_dep = declare_dependency(
+  link_with: libply_splash_graphics,
+  include_directories: include_directories('.'),
+)
+
+libply_splash_graphics_headers = files(
+  'ply-animation.h',
+  'ply-capslock-icon.h',
+  'ply-entry.h',
+  'ply-image.h',
+  'ply-keymap-icon.h',
+  'ply-keymap-metadata.h',
+  'ply-label-plugin.h',
+  'ply-label.h',
+  'ply-progress-animation.h',
+  'ply-progress-bar.h',
+  'ply-throbber.h',
+)
+
+install_headers(libply_splash_graphics_headers,
+  install_dir: get_option('includedir') / 'plymouth-1' / 'ply-splash-graphics',
+)
+
+pkgconfig.generate(libply_splash_graphics,
+  filebase: 'ply-splash-graphics',
+  name: 'Plymouth',
+  description: 'Graphics Utility Library for Boot Splash Plugins',
+  requires: [
+    'ply-splash-core',
+  ],
+  subdirs: [
+    'plymouth-1/ply-splash-graphics',
+  ],
+  variables: {
+    'pluginsdir': plymouth_plugin_path,
+    'themesdir': plymouth_theme_path,
+  },
+)
diff --git a/src/libply/meson.build b/src/libply/meson.build
new file mode 100644 (file)
index 0000000..d8bf35a
--- /dev/null
@@ -0,0 +1,52 @@
+libply_sources = files(
+  'ply-array.c',
+  'ply-bitarray.c',
+  'ply-buffer.c',
+  'ply-command-parser.c',
+  'ply-event-loop.c',
+  'ply-hashtable.c',
+  'ply-key-file.c',
+  'ply-list.c',
+  'ply-logger.c',
+  'ply-progress.c',
+  'ply-rectangle.c',
+  'ply-region.c',
+  'ply-terminal-session.c',
+  'ply-trigger.c',
+  'ply-utils.c',
+)
+
+libply = library('ply',
+  libply_sources,
+  include_directories: config_h_inc,
+  version: plymouth_soversion,
+  install: true,
+)
+
+libply_dep = declare_dependency(
+  link_with: libply,
+  include_directories: include_directories('.'),
+)
+
+libply_headers = files(
+  'ply-array.h',
+  'ply-bitarray.h',
+  'ply-buffer.h',
+  'ply-command-parser.h',
+  'ply-event-loop.h',
+  'ply-hashtable.h',
+  'ply-i18n.h',
+  'ply-key-file.h',
+  'ply-list.h',
+  'ply-logger.h',
+  'ply-progress.h',
+  'ply-rectangle.h',
+  'ply-region.h',
+  'ply-terminal-session.h',
+  'ply-trigger.h',
+  'ply-utils.h',
+)
+
+install_headers(libply_headers,
+  install_dir: get_option('includedir') / 'plymouth-1' / 'ply',
+)
diff --git a/src/meson.build b/src/meson.build
new file mode 100644 (file)
index 0000000..3b22a3d
--- /dev/null
@@ -0,0 +1,64 @@
+# The library subdirectories first
+subdir('libply')
+subdir('libply-splash-core')
+subdir('libply-splash-graphics')
+
+# plymouthd
+plymouthd_run_dir = plymouth_runtime_dir
+plymouthd_spool_dir = '/var/spool/plymouth'
+plymouthd_time_dir = plymouth_time_dir
+
+plymouthd_sources = files(
+  'main.c',
+  'plugins/splash/details/plugin.c',
+  'ply-boot-protocol.h',
+  'ply-boot-server.c',
+  'ply-boot-server.h',
+)
+
+plymouthd_deps = [
+  libply_dep,
+  libply_splash_core_dep,
+]
+
+plymouthd_cflags = [
+  '-DPLYMOUTH_LOCALE_DIRECTORY="@0@"'.format(get_option('localedir')),
+  '-DPLYMOUTH_DRM_ESCROW_DIRECTORY="@0@"'.format(get_option('libexecdir') / 'plymouth'),
+  '-DPLYMOUTH_LOG_DIRECTORY="@0@"'.format('/var/log'),
+  '-DPLYMOUTH_SPOOL_DIRECTORY="@0@"'.format(plymouthd_spool_dir),
+]
+
+plymouthd = executable('plymouthd',
+  plymouthd_sources,
+  dependencies: plymouthd_deps,
+  c_args: plymouthd_cflags,
+  include_directories: config_h_inc,
+  install: true,
+  install_dir: get_option('sbindir'),
+)
+
+plymouthd_fd_escrow = executable('plymouthd-fd-escrow',
+  'plymouthd-fd-escrow.c',
+  install: true,
+  install_dir: get_option('libexecdir') / 'plymouth',
+)
+
+install_data('plymouthd.defaults',
+  install_dir: plymouth_policy_dir,
+)
+
+install_data('plymouthd.conf',
+  install_dir: plymouth_conf_dir,
+)
+
+install_emptydir(plymouthd_run_dir)
+install_emptydir(plymouthd_spool_dir)
+install_emptydir(plymouthd_time_dir)
+
+
+# These subdirectories last
+subdir('plugins')
+subdir('client')
+if get_option('upstart-monitoring')
+  subdir('upstart-bridge')
+endif
diff --git a/src/plugins/controls/label-freetype/meson.build b/src/plugins/controls/label-freetype/meson.build
new file mode 100644 (file)
index 0000000..a949739
--- /dev/null
@@ -0,0 +1,13 @@
+label_plugin = shared_module('label-freetype',
+  'plugin.c',
+  dependencies: [
+    libfreetype_dep,
+    libply_dep,
+    libply_splash_core_dep,
+    libply_splash_graphics_dep,
+  ],
+  include_directories: config_h_inc,
+  name_prefix: '',
+  install: true,
+  install_dir: plymouth_plugin_path,
+)
diff --git a/src/plugins/controls/label-pango/meson.build b/src/plugins/controls/label-pango/meson.build
new file mode 100644 (file)
index 0000000..526a855
--- /dev/null
@@ -0,0 +1,13 @@
+label_plugin = shared_module('label-pango',
+  'plugin.c',
+  dependencies: [
+    libpango_dep,
+    libply_dep,
+    libply_splash_core_dep,
+    libply_splash_graphics_dep,
+  ],
+  include_directories: config_h_inc,
+  name_prefix: '',
+  install: true,
+  install_dir: plymouth_plugin_path,
+)
diff --git a/src/plugins/controls/meson.build b/src/plugins/controls/meson.build
new file mode 100644 (file)
index 0000000..521971b
--- /dev/null
@@ -0,0 +1,7 @@
+if libpango_dep.found()
+  subdir('label-pango')
+endif
+
+if libfreetype_dep.found()
+  subdir('label-freetype')
+endif
diff --git a/src/plugins/meson.build b/src/plugins/meson.build
new file mode 100644 (file)
index 0000000..7ea472c
--- /dev/null
@@ -0,0 +1,3 @@
+subdir('controls')
+subdir('splash')
+subdir('renderers')
diff --git a/src/plugins/renderers/drm/meson.build b/src/plugins/renderers/drm/meson.build
new file mode 100644 (file)
index 0000000..67649d1
--- /dev/null
@@ -0,0 +1,12 @@
+drm_plugin = shared_module('drm',
+  'plugin.c',
+  dependencies: [
+    libply_dep,
+    libply_splash_core_dep,
+    libdrm_dep,
+  ],
+  include_directories: config_h_inc,
+  name_prefix: '',
+  install: true,
+  install_dir: plymouth_plugin_path / 'renderers',
+)
diff --git a/src/plugins/renderers/frame-buffer/meson.build b/src/plugins/renderers/frame-buffer/meson.build
new file mode 100644 (file)
index 0000000..a87ce64
--- /dev/null
@@ -0,0 +1,11 @@
+frame_buffer_plugin = shared_module('frame-buffer',
+  'plugin.c',
+  dependencies: [
+    libply_dep,
+    libply_splash_core_dep,
+  ],
+  include_directories: config_h_inc,
+  name_prefix: '',
+  install: true,
+  install_dir: plymouth_plugin_path / 'renderers',
+)
diff --git a/src/plugins/renderers/meson.build b/src/plugins/renderers/meson.build
new file mode 100644 (file)
index 0000000..f575721
--- /dev/null
@@ -0,0 +1,9 @@
+subdir('frame-buffer')
+
+if libdrm_dep.found()
+  subdir('drm')
+endif
+
+if gtk3_dep.found()
+  subdir('x11')
+endif
diff --git a/src/plugins/renderers/x11/meson.build b/src/plugins/renderers/x11/meson.build
new file mode 100644 (file)
index 0000000..fd33058
--- /dev/null
@@ -0,0 +1,12 @@
+x11_plugin = shared_module('x11',
+  'plugin.c',
+  dependencies: [
+    libply_dep,
+    libply_splash_core_dep,
+    gtk3_dep,
+  ],
+  include_directories: config_h_inc,
+  name_prefix: '',
+  install: true,
+  install_dir: plymouth_plugin_path / 'renderers',
+)
diff --git a/src/plugins/splash/details/meson.build b/src/plugins/splash/details/meson.build
new file mode 100644 (file)
index 0000000..ad7c39f
--- /dev/null
@@ -0,0 +1,11 @@
+details_plugin = shared_module('details',
+  'plugin.c',
+  dependencies: [
+    libply_splash_core_dep,
+    libply_splash_graphics_dep,
+  ],
+  include_directories: config_h_inc,
+  name_prefix: '',
+  install: true,
+  install_dir: plymouth_plugin_path,
+)
diff --git a/src/plugins/splash/fade-throbber/meson.build b/src/plugins/splash/fade-throbber/meson.build
new file mode 100644 (file)
index 0000000..45203cf
--- /dev/null
@@ -0,0 +1,17 @@
+fade_throbber_plugin = shared_module('fade-throbber',
+  'plugin.c',
+  dependencies: [
+    libply_splash_core_dep,
+    libply_splash_graphics_dep,
+  ],
+  c_args: [
+    '-DPLYMOUTH_LOGO_FILE="@0@"'.format(plymouth_logo_file),
+    '-DPLYMOUTH_BACKGROUND_COLOR=@0@'.format(get_option('background-color')),
+    '-DPLYMOUTH_BACKGROUND_START_COLOR=@0@'.format(get_option('background-start-color-stop')),
+    '-DPLYMOUTH_BACKGROUND_END_COLOR=@0@'.format(get_option('background-end-color-stop')),
+  ],
+  include_directories: config_h_inc,
+  name_prefix: '',
+  install: true,
+  install_dir: plymouth_plugin_path,
+)
diff --git a/src/plugins/splash/meson.build b/src/plugins/splash/meson.build
new file mode 100644 (file)
index 0000000..65c7e21
--- /dev/null
@@ -0,0 +1,7 @@
+subdir('fade-throbber')
+subdir('text')
+subdir('details')
+subdir('space-flares')
+subdir('two-step')
+subdir('script')
+subdir('tribar')
diff --git a/src/plugins/splash/script/generate_script_string_header.py b/src/plugins/splash/script/generate_script_string_header.py
new file mode 100644 (file)
index 0000000..66e21ee
--- /dev/null
@@ -0,0 +1,24 @@
+#!/usr/bin/env python3
+
+import os
+import pathlib
+import sys
+
+if len(sys.argv) != 2:
+    print('Expected 1 argument, but got {}'.format(len(sys.argv) - 1))
+    sys.exit(1)
+
+input_path = pathlib.Path(sys.argv[1])
+
+variable_name = input_path.stem.replace('-', '_')
+print('static const char *{} ='.format(variable_name))
+
+for line in input_path.read_text().splitlines():
+    # escape backlashes
+    line = line.replace('\\', '\\\\')
+    # escape internal quotes
+    line = line.replace('"', '\\"')
+    # print with quotes (so it becomes a C literal string)
+    print('  "' + line + '\\n"')
+
+print(';')
diff --git a/src/plugins/splash/script/meson.build b/src/plugins/splash/script/meson.build
new file mode 100644 (file)
index 0000000..c4e84fc
--- /dev/null
@@ -0,0 +1,56 @@
+script_inputs = [
+  'image',
+  'math',
+  'plymouth',
+  'sprite',
+  'string',
+]
+
+generate_script_string_header_py = find_program('generate_script_string_header.py')
+
+script_headers = []
+foreach s : script_inputs
+  s_input_file = 'script-lib-@0@.script'.format(s)
+
+  s_header = custom_target(
+    input: s_input_file,
+    output: s_input_file + '.h',
+    command: [
+      generate_script_string_header_py,
+      '@INPUT@',
+    ],
+    capture: true,
+  )
+
+  script_headers += s_header
+endforeach
+
+script_plugin_src = files(
+  'plugin.c',
+  'script-debug.c',
+  'script-execute.c',
+  'script-lib-image.c',
+  'script-lib-math.c',
+  'script-lib-plymouth.c',
+  'script-lib-sprite.c',
+  'script-lib-string.c',
+  'script-object.c',
+  'script-parse.c',
+  'script-scan.c',
+  'script.c',
+)
+
+script_plugin = shared_module('script',
+  [ 'plugin.c', script_headers ],
+  dependencies: [
+    libply_splash_core_dep,
+    libply_splash_graphics_dep,
+  ],
+  c_args: [
+    '-DPLYMOUTH_LOGO_FILE="@0@"'.format(plymouth_logo_file),
+  ],
+  include_directories: config_h_inc,
+  name_prefix: '',
+  install: true,
+  install_dir: plymouth_plugin_path,
+)
diff --git a/src/plugins/splash/space-flares/meson.build b/src/plugins/splash/space-flares/meson.build
new file mode 100644 (file)
index 0000000..7db129e
--- /dev/null
@@ -0,0 +1,14 @@
+space_flares_plugin = shared_module('space-flares',
+  'plugin.c',
+  dependencies: [
+    libply_splash_core_dep,
+    libply_splash_graphics_dep,
+  ],
+  c_args: [
+    '-DPLYMOUTH_LOGO_FILE="@0@"'.format(plymouth_logo_file),
+  ],
+  include_directories: config_h_inc,
+  name_prefix: '',
+  install: true,
+  install_dir: plymouth_plugin_path,
+)
diff --git a/src/plugins/splash/text/meson.build b/src/plugins/splash/text/meson.build
new file mode 100644 (file)
index 0000000..8c651d1
--- /dev/null
@@ -0,0 +1,11 @@
+text_plugin = shared_module('text',
+  'plugin.c',
+  dependencies: [
+    libply_splash_core_dep,
+    libply_splash_graphics_dep,
+  ],
+  include_directories: config_h_inc,
+  name_prefix: '',
+  install: true,
+  install_dir: plymouth_plugin_path,
+)
diff --git a/src/plugins/splash/tribar/meson.build b/src/plugins/splash/tribar/meson.build
new file mode 100644 (file)
index 0000000..dcfa137
--- /dev/null
@@ -0,0 +1,10 @@
+tribar_plugin = shared_module('tribar',
+  'plugin.c',
+  dependencies: [
+    libply_splash_core_dep,
+  ],
+  include_directories: config_h_inc,
+  name_prefix: '',
+  install: true,
+  install_dir: plymouth_plugin_path,
+)
diff --git a/src/plugins/splash/two-step/meson.build b/src/plugins/splash/two-step/meson.build
new file mode 100644 (file)
index 0000000..5b0b6fc
--- /dev/null
@@ -0,0 +1,15 @@
+two_step_plugin = shared_module('two-step',
+  'plugin.c',
+  dependencies: [
+    libply_splash_core_dep,
+    libply_splash_graphics_dep,
+  ],
+  c_args: [
+    '-DPLYMOUTH_BACKGROUND_START_COLOR=@0@'.format(get_option('background-start-color-stop')),
+    '-DPLYMOUTH_BACKGROUND_END_COLOR=@0@'.format(get_option('background-end-color-stop')),
+  ],
+  include_directories: config_h_inc,
+  name_prefix: '',
+  install: true,
+  install_dir: plymouth_plugin_path,
+)
diff --git a/src/upstart-bridge/meson.build b/src/upstart-bridge/meson.build
new file mode 100644 (file)
index 0000000..639da73
--- /dev/null
@@ -0,0 +1,18 @@
+plymouth_upstart_bridge_src = files(
+  'ply-upstart-monitor.c',
+  'plymouth-upstart-bridge.c',
+)
+
+plymouth_upstart_bridge_deps = [
+  libply_dep,
+  libply_boot_client_dep,
+  dbus_dep,
+  curses_dep,
+]
+
+plymouth_upstart_bridge = executable('plymouth-upstart-bridge',
+  plymouth_upstart_bridge_src,
+  dependencies: plymouth_upstart_bridge_deps,
+  include_directories: config_h_inc,
+  install: true,
+)
diff --git a/systemd-units/meson.build b/systemd-units/meson.build
new file mode 100644 (file)
index 0000000..0637931
--- /dev/null
@@ -0,0 +1,70 @@
+systemd_unit_templates = [
+  'plymouth-switch-root.service.in',
+  'plymouth-switch-root-initramfs.service.in',
+  'plymouth-start.service.in',
+  'plymouth-read-write.service.in',
+  'plymouth-quit.service.in',
+  'plymouth-quit-wait.service.in',
+  'plymouth-reboot.service.in',
+  'plymouth-kexec.service.in',
+  'plymouth-poweroff.service.in',
+  'plymouth-halt.service.in',
+  'systemd-ask-password-plymouth.path.in',
+  'systemd-ask-password-plymouth.service.in',
+]
+
+foreach unit_templ : systemd_unit_templates
+  configure_file(
+    input: unit_templ,
+    output: '@BASENAME@',
+    configuration: {
+      'PLYMOUTH_CLIENT_DIR': get_option('prefix') / get_option('bindir'),
+      'PLYMOUTH_DAEMON_DIR': get_option('prefix') / get_option('sbindir'),
+      'plymouthruntimedir': plymouth_runtime_dir,
+      'SYSTEMD_ASK_PASSWORD_AGENT': systemd_ask_password_agent.full_path(),
+    },
+    install: true,
+    install_dir: systemd_unit_dir,
+  )
+endforeach
+
+systemd_target_links = [
+  {
+    'target': 'initrd-switch-root.target.wants',
+    'services': [ 'plymouth-start', 'plymouth-switch-root' ],
+  },
+  {
+    'target': 'sysinit.target.wants',
+    'services': [ 'plymouth-start', 'plymouth-read-write' ],
+  },
+  {
+    'target': 'multi-user.target.wants',
+    'services': [ 'plymouth-quit', 'plymouth-quit-wait' ],
+  },
+  {
+    'target': 'reboot.target.wants',
+    'services': [ 'plymouth-reboot', 'plymouth-switch-root-initramfs' ],
+  },
+  {
+    'target': 'kexec.target.wants',
+    'services': [ 'plymouth-kexec', 'plymouth-switch-root-initramfs' ],
+  },
+  {
+    'target': 'poweroff.target.wants',
+    'services': [ 'plymouth-poweroff', 'plymouth-switch-root-initramfs' ],
+  },
+  {
+    'target': 'halt.target.wants',
+    'services': [ 'plymouth-halt', 'plymouth-switch-root-initramfs' ],
+  },
+]
+
+foreach entry : systemd_target_links
+  foreach service : entry['services']
+    install_symlink(
+      service + '.service',
+      install_dir: systemd_unit_dir / entry['target'],
+      pointing_to: '..' / service + '.service',
+    )
+  endforeach
+endforeach
diff --git a/themes/bgrt/meson.build b/themes/bgrt/meson.build
new file mode 100644 (file)
index 0000000..2209af0
--- /dev/null
@@ -0,0 +1,14 @@
+bgrt_plymouth = i18n.merge_file(
+  input: configure_file(
+    input: 'bgrt.plymouth.desktop',
+    output: 'bgrt.plymouth.desktop',
+    configuration: {
+      'PLYMOUTH_THEME_PATH': plymouth_theme_path,
+    },
+  ),
+  output: 'bgrt.plymouth',
+  type: 'desktop',
+  po_dir: po_dir,
+  install: true,
+  install_dir: plymouth_theme_path / 'bgrt',
+)
diff --git a/themes/details/meson.build b/themes/details/meson.build
new file mode 100644 (file)
index 0000000..1afb62d
--- /dev/null
@@ -0,0 +1,4 @@
+install_data(
+  'details.plymouth',
+  install_dir: plymouth_theme_path / 'details',
+)
diff --git a/themes/fade-in/meson.build b/themes/fade-in/meson.build
new file mode 100644 (file)
index 0000000..265fd02
--- /dev/null
@@ -0,0 +1,17 @@
+fade_in_plymouth = configure_file(
+  input: 'fade-in.plymouth.in',
+  output: '@BASENAME@',
+  configuration: {
+    'PLYMOUTH_THEME_PATH': plymouth_theme_path,
+  },
+  install: true,
+  install_dir: plymouth_theme_path / 'fade-in',
+)
+
+install_data(
+  'star.png',
+  'bullet.png',
+  'entry.png',
+  'lock.png',
+  install_dir: plymouth_theme_path / 'fade-in',
+)
diff --git a/themes/glow/meson.build b/themes/glow/meson.build
new file mode 100644 (file)
index 0000000..6edf364
--- /dev/null
@@ -0,0 +1,70 @@
+glow_plymouth = configure_file(
+  input: 'glow.plymouth.in',
+  output: '@BASENAME@',
+  configuration: {
+    'PLYMOUTH_THEME_PATH': plymouth_theme_path,
+  },
+  install: true,
+  install_dir: plymouth_theme_path / 'glow',
+)
+
+install_data(
+  'box.png',
+  'bullet.png',
+  'entry.png',
+  'lock.png',
+  'progress-00.png',
+  'progress-01.png',
+  'progress-02.png',
+  'progress-03.png',
+  'progress-04.png',
+  'progress-05.png',
+  'progress-06.png',
+  'progress-07.png',
+  'progress-08.png',
+  'progress-09.png',
+  'progress-10.png',
+  'progress-11.png',
+  'progress-12.png',
+  'progress-13.png',
+  'progress-14.png',
+  'progress-15.png',
+  'progress-16.png',
+  'progress-17.png',
+  'progress-18.png',
+  'progress-19.png',
+  'progress-20.png',
+  'progress-21.png',
+  'progress-22.png',
+  'progress-23.png',
+  'progress-24.png',
+  'progress-25.png',
+  'progress-26.png',
+  'progress-27.png',
+  'progress-28.png',
+  'progress-29.png',
+  'progress-30.png',
+  'progress-31.png',
+  'progress-32.png',
+  'throbber-00.png',
+  'throbber-01.png',
+  'throbber-02.png',
+  'throbber-03.png',
+  'throbber-04.png',
+  'throbber-05.png',
+  'throbber-06.png',
+  'throbber-07.png',
+  'throbber-08.png',
+  'throbber-09.png',
+  'throbber-10.png',
+  'throbber-11.png',
+  'throbber-12.png',
+  'throbber-13.png',
+  'throbber-14.png',
+  'throbber-15.png',
+  'throbber-16.png',
+  'throbber-17.png',
+  'throbber-18.png',
+  'throbber-19.png',
+  install_dir: plymouth_theme_path / 'glow',
+)
diff --git a/themes/meson.build b/themes/meson.build
new file mode 100644 (file)
index 0000000..dc2ca6e
--- /dev/null
@@ -0,0 +1,10 @@
+subdir('spinfinity')
+subdir('fade-in')
+subdir('text')
+subdir('details')
+subdir('solar')
+subdir('glow')
+subdir('script')
+subdir('spinner')
+subdir('tribar')
+subdir('bgrt')
diff --git a/themes/script/meson.build b/themes/script/meson.build
new file mode 100644 (file)
index 0000000..ca609fd
--- /dev/null
@@ -0,0 +1,20 @@
+script_plymouth = configure_file(
+  input: 'script.plymouth.in',
+  output: '@BASENAME@',
+  configuration: {
+    'PLYMOUTH_THEME_PATH': plymouth_theme_path,
+  },
+  install: true,
+  install_dir: plymouth_theme_path / 'script',
+)
+
+install_data(
+  'script.script',
+  'box.png',
+  'bullet.png',
+  'entry.png',
+  'lock.png',
+  'progress_box.png',
+  'progress_bar.png',
+  install_dir: plymouth_theme_path / 'script',
+)
diff --git a/themes/solar/meson.build b/themes/solar/meson.build
new file mode 100644 (file)
index 0000000..e66d5a4
--- /dev/null
@@ -0,0 +1,19 @@
+solar_plymouth = configure_file(
+  input: 'solar.plymouth.in',
+  output: '@BASENAME@',
+  configuration: {
+    'PLYMOUTH_THEME_PATH': plymouth_theme_path,
+  },
+  install: true,
+  install_dir: plymouth_theme_path / 'solar',
+)
+
+install_data(
+  'box.png',
+  'bullet.png',
+  'entry.png',
+  'lock.png',
+  'progress_bar.png',
+  'star.png',
+  install_dir: plymouth_theme_path / 'solar',
+)
diff --git a/themes/spinfinity/meson.build b/themes/spinfinity/meson.build
new file mode 100644 (file)
index 0000000..f48e8e5
--- /dev/null
@@ -0,0 +1,60 @@
+spinfinity_plymouth = configure_file(
+  input: 'spinfinity.plymouth.in',
+  output: '@BASENAME@',
+  configuration: {
+    'PLYMOUTH_THEME_PATH': plymouth_theme_path,
+  },
+  install: true,
+  install_dir: plymouth_theme_path / 'spinfinity',
+)
+
+install_data(
+  'box.png',
+  'bullet.png',
+  'entry.png',
+  'lock.png',
+  'capslock.png',
+  'keyboard.png',
+  'keymap-render.png',
+  'animation-0001.png',
+  'throbber-00.png',
+  'throbber-01.png',
+  'throbber-02.png',
+  'throbber-03.png',
+  'throbber-04.png',
+  'throbber-05.png',
+  'throbber-06.png',
+  'throbber-07.png',
+  'throbber-08.png',
+  'throbber-09.png',
+  'throbber-10.png',
+  'throbber-11.png',
+  'throbber-12.png',
+  'throbber-13.png',
+  'throbber-14.png',
+  'throbber-15.png',
+  'throbber-16.png',
+  'throbber-17.png',
+  'throbber-18.png',
+  'throbber-19.png',
+  'throbber-20.png',
+  'throbber-21.png',
+  'throbber-22.png',
+  'throbber-23.png',
+  'throbber-24.png',
+  'throbber-25.png',
+  'throbber-26.png',
+  'throbber-27.png',
+  'throbber-28.png',
+  'throbber-29.png',
+  'throbber-30.png',
+  'throbber-31.png',
+  'throbber-32.png',
+  'throbber-33.png',
+  install_dir: plymouth_theme_path / 'spinfinity',
+)
+
+install_symlink('header-image.png',
+  install_dir: plymouth_theme_path / 'spinfinity',
+  pointing_to: plymouth_logo_file,
+)
diff --git a/themes/spinner/meson.build b/themes/spinner/meson.build
new file mode 100644 (file)
index 0000000..8c3064a
--- /dev/null
@@ -0,0 +1,90 @@
+spinner_plymouth = i18n.merge_file(
+  input: configure_file(
+    input: 'spinner.plymouth.desktop',
+    output: 'spinner.plymouth.desktop',
+    configuration: {
+      'PLYMOUTH_THEME_PATH': plymouth_theme_path,
+    },
+  ),
+  output: 'spinner.plymouth',
+  type: 'desktop',
+  po_dir: po_dir,
+  install: true,
+  install_dir: plymouth_theme_path / 'spinner',
+)
+
+install_data(
+  'bullet.png',
+  'entry.png',
+  'lock.png',
+  'capslock.png',
+  'keyboard.png',
+  'keymap-render.png',
+  'animation-0001.png',
+  'animation-0002.png',
+  'animation-0003.png',
+  'animation-0004.png',
+  'animation-0005.png',
+  'animation-0006.png',
+  'animation-0007.png',
+  'animation-0008.png',
+  'animation-0009.png',
+  'animation-0010.png',
+  'animation-0011.png',
+  'animation-0012.png',
+  'animation-0013.png',
+  'animation-0014.png',
+  'animation-0015.png',
+  'animation-0016.png',
+  'animation-0017.png',
+  'animation-0018.png',
+  'animation-0019.png',
+  'animation-0020.png',
+  'animation-0021.png',
+  'animation-0022.png',
+  'animation-0023.png',
+  'animation-0024.png',
+  'animation-0025.png',
+  'animation-0026.png',
+  'animation-0027.png',
+  'animation-0028.png',
+  'animation-0029.png',
+  'animation-0030.png',
+  'animation-0031.png',
+  'animation-0032.png',
+  'animation-0033.png',
+  'animation-0034.png',
+  'animation-0035.png',
+  'animation-0036.png',
+  'throbber-0001.png',
+  'throbber-0002.png',
+  'throbber-0003.png',
+  'throbber-0004.png',
+  'throbber-0005.png',
+  'throbber-0006.png',
+  'throbber-0007.png',
+  'throbber-0008.png',
+  'throbber-0009.png',
+  'throbber-0010.png',
+  'throbber-0011.png',
+  'throbber-0012.png',
+  'throbber-0013.png',
+  'throbber-0014.png',
+  'throbber-0015.png',
+  'throbber-0016.png',
+  'throbber-0017.png',
+  'throbber-0018.png',
+  'throbber-0019.png',
+  'throbber-0020.png',
+  'throbber-0021.png',
+  'throbber-0022.png',
+  'throbber-0023.png',
+  'throbber-0024.png',
+  'throbber-0025.png',
+  'throbber-0026.png',
+  'throbber-0027.png',
+  'throbber-0028.png',
+  'throbber-0029.png',
+  'throbber-0030.png',
+  install_dir: plymouth_theme_path / 'spinner',
+)
diff --git a/themes/text/meson.build b/themes/text/meson.build
new file mode 100644 (file)
index 0000000..5e4ef11
--- /dev/null
@@ -0,0 +1,4 @@
+install_data(
+  'text.plymouth',
+  install_dir: plymouth_theme_path / 'text',
+)
diff --git a/themes/tribar/meson.build b/themes/tribar/meson.build
new file mode 100644 (file)
index 0000000..300caf9
--- /dev/null
@@ -0,0 +1,4 @@
+install_data(
+  'tribar.plymouth',
+  install_dir: plymouth_theme_path / 'tribar',
+)