Files
calls/data/meson.build
Kevin Bataille 4d46cdb029 Bundle fallback ringback and busy tone audio files
Most desktop Linux sound themes lack telephony events like
phone-outgoing-calling and phone-outgoing-busy, causing gsound
playback to fail silently. Bundle OGG Vorbis fallback files and
pass GSOUND_ATTR_MEDIA_FILENAME alongside GSOUND_ATTR_EVENT_ID
so libcanberra falls back to the bundled audio when the theme
event is not found.
2026-02-08 14:45:35 +01:00

120 lines
2.8 KiB
Meson

gnome = import('gnome')
i18n = import('i18n')
datadir = get_option('datadir')
sysconfdir = get_option('sysconfdir')
# Desktop file
desktop_file = i18n.merge_file(
input: 'org.gnome.Calls.desktop.in',
output: 'org.gnome.Calls.desktop',
type: 'desktop',
po_dir: po_dir,
install: true,
install_dir: join_paths(datadir, 'applications'),
)
desktop_daemon_file = i18n.merge_file(
input: 'org.gnome.Calls-daemon.desktop.in',
output: 'org.gnome.Calls-daemon.desktop',
type: 'desktop',
po_dir: po_dir,
install: true,
install_dir: join_paths(sysconfdir, 'xdg/autostart'),
)
service_data = configuration_data()
service_data.set('bindir', full_bindir)
# DBus service
service_file = 'org.gnome.Calls.service'
configure_file(
input: service_file + '.in',
output: service_file,
configuration: service_data,
install: true,
install_dir: full_servicedir,
)
# Systemd user service
systemd_unit = 'calls-daemon.service'
configure_file(
input: systemd_unit + '.in',
output: systemd_unit,
configuration: service_data,
install: true,
install_dir: systemd_user_unit_dir,
)
desktop_utils = find_program('desktop-file-validate', required: false)
if desktop_utils.found()
test(
'Validate desktop file',
desktop_utils,
args: [desktop_file.full_path()],
depends: [desktop_file],
)
test(
'Validate daemon desktop file',
desktop_utils,
args: [desktop_daemon_file.full_path()],
depends: [desktop_daemon_file],
)
endif
# Metainfo file
metainfo_file = i18n.merge_file(
input: 'org.gnome.Calls.metainfo.xml.in',
output: 'org.gnome.Calls.metainfo.xml',
po_dir: '../po',
install: true,
install_dir: join_paths(datadir, 'metainfo'),
)
appstreamcli = find_program('appstreamcli', required: false)
if appstreamcli.found()
test(
'Validate metainfo file',
appstreamcli,
args: ['validate', '--pedantic', '--no-net', metainfo_file],
)
endif
# Icons
install_data(
'org.gnome.Calls.svg',
install_dir: join_paths(datadir, 'icons', 'hicolor', 'scalable', 'apps'),
)
install_data(
'org.gnome.Calls-symbolic.svg',
install_dir: join_paths(datadir, 'icons', 'hicolor', 'symbolic', 'apps'),
)
schema_src = 'org.gnome.Calls.gschema.xml'
compiled = gnome.compile_schemas(
build_by_default: true,
depend_files: files(schema_src),
)
install_data(
schema_src,
install_dir: join_paths(get_option('datadir'), 'glib-2.0/schemas'),
)
compile_schemas = find_program('glib-compile-schemas', required: false)
if compile_schemas.found()
test(
'Validate schema file',
compile_schemas,
args: ['--strict', '--dry-run', meson.current_source_dir()],
)
endif
# Sounds (fallback for systems without telephony events in sound theme)
install_data(
'sounds/phone-outgoing-calling.oga',
'sounds/phone-outgoing-busy.oga',
install_dir: join_paths(datadir, calls_name, 'sounds'),
)