b6d6e3b2a9
Before, the gtk main thread sometimes froze when sending an audio or video attachment. That was due to trying to get the duration of the audio/video using gstreamer_editing_services. Now, using gstreamer_pbutils, that doesn't happen anymore. Furthermore, when creating an audio player in the room history, the duration of the audio was displayed as 00:00 until play was hit. Now, the duration of the audio gets displayed correctly from the moment of the creation of the player on.
101 lines
2.9 KiB
Meson
101 lines
2.9 KiB
Meson
project(
|
|
'fractal', 'rust',
|
|
version: '4.2.2',
|
|
license: 'GPLv3',
|
|
)
|
|
|
|
dependency('openssl', version: '>= 1.0')
|
|
dependency('dbus-1')
|
|
|
|
dependency('glib-2.0', version: '>= 2.56')
|
|
dependency('gio-2.0', version: '>= 2.56')
|
|
dependency('cairo', version: '>= 1.16')
|
|
dependency('gdk-pixbuf-2.0')
|
|
dependency('gtk+-3.0', version: '>= 3.24.7')
|
|
dependency('libhandy-0.0', version: '>= 0.0.13')
|
|
dependency('gtksourceview-4', version: '>= 4.0')
|
|
dependency('gspell-1', version: '>= 1.8')
|
|
|
|
dependency('gstreamer-1.0', version: '>= 1.12')
|
|
dependency('gstreamer-base-1.0', version: '>= 1.12')
|
|
dependency('gstreamer-audio-1.0', version: '>= 1.12')
|
|
dependency('gstreamer-video-1.0', version: '>= 1.12')
|
|
dependency('gstreamer-player-1.0', version: '>= 1.12')
|
|
dependency('gstreamer-plugins-base-1.0', version: '>= 1.12')
|
|
dependency('gstreamer-plugins-bad-1.0', version: '>= 1.12')
|
|
dependency('gstreamer-bad-audio-1.0', version: '>= 1.12')
|
|
dependency('gstreamer-pbutils-1.0', version: '>= 1.14')
|
|
dependency('gst-editing-services-1.0', version: '>= 1.14.4')
|
|
|
|
cargo = find_program('cargo', required: true)
|
|
gresource = find_program('glib-compile-resources', required: true)
|
|
gschemas = find_program('glib-compile-schemas', required: true)
|
|
|
|
if get_option('profile') == 'development'
|
|
profile = 'Devel'
|
|
name_suffix = ' (Development)'
|
|
vcs_tag = run_command('git', 'rev-parse', '--short', 'HEAD').stdout().strip()
|
|
if vcs_tag == ''
|
|
version_suffix = '-devel'
|
|
else
|
|
version_suffix = '-@0@'.format (vcs_tag)
|
|
endif
|
|
else
|
|
profile = ''
|
|
name_suffix = ''
|
|
version_suffix = ''
|
|
endif
|
|
|
|
application_id = 'org.gnome.Fractal@0@'.format(profile)
|
|
|
|
fractal_version = meson.project_version()
|
|
|
|
fractal_prefix = get_option('prefix')
|
|
fractal_bindir = join_paths(fractal_prefix, get_option('bindir'))
|
|
fractal_localedir = join_paths(fractal_prefix, get_option('localedir'))
|
|
|
|
datadir = get_option('datadir')
|
|
|
|
i18n = import('i18n')
|
|
gnome = import('gnome')
|
|
|
|
podir = join_paths (meson.source_root (), 'fractal-gtk', 'po')
|
|
|
|
subdir('fractal-gtk/po')
|
|
subdir('fractal-gtk/res')
|
|
|
|
cargo_script = find_program('scripts/cargo.sh')
|
|
test_script = find_program('scripts/test.sh')
|
|
doc_script = find_program('scripts/cargo-doc.sh')
|
|
|
|
cargo_manifests = files(
|
|
'Cargo.toml',
|
|
'Cargo.lock',
|
|
'fractal-gtk/Cargo.toml',
|
|
'fractal-matrix-api/Cargo.toml'
|
|
)
|
|
|
|
subdir('fractal-matrix-api/src')
|
|
subdir('fractal-gtk/src')
|
|
|
|
meson.add_dist_script(
|
|
'scripts/vendor.sh',
|
|
meson.source_root(),
|
|
join_paths(meson.build_root(), 'meson-dist', meson.project_name() + '-' + fractal_version)
|
|
)
|
|
|
|
test(
|
|
'cargo-test',
|
|
test_script,
|
|
args: meson.build_root(),
|
|
workdir: meson.source_root(),
|
|
timeout: 3000,
|
|
)
|
|
|
|
if get_option('profile') == 'development'
|
|
# Setup pre-commit hook for ensuring coding style is always consistent
|
|
message('Setting up git pre-commit hook..')
|
|
run_command('cp', '-f', 'hooks/pre-commit.hook', '.git/hooks/pre-commit')
|
|
endif
|
|
|
|
meson.add_install_script('scripts/meson_post_install.py')
|