From 69254ab2b102a96ed021dd9fcf6454e148a41ee0 Mon Sep 17 00:00:00 2001 From: Myaamori Date: Tue, 27 Oct 2020 17:16:01 +0000 Subject: [PATCH] meson: add FFMS2 wrap --- meson.build | 2 +- subprojects/ffmpeg.wrap | 11 ++++++ subprojects/ffms2.wrap | 9 +++++ subprojects/packagefiles/ffms2/meson.build | 45 ++++++++++++++++++++++ 4 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 subprojects/ffmpeg.wrap create mode 100644 subprojects/ffms2.wrap create mode 100644 subprojects/packagefiles/ffms2/meson.build diff --git a/meson.build b/meson.build index 56752902a..a5e872afc 100644 --- a/meson.build +++ b/meson.build @@ -139,7 +139,7 @@ foreach dep: [ ['portaudio-2.0', '', 'PortAudio'], ['openal', '>=0.0.8', 'OpenAL'], # video - ['ffms2', '', 'FFMS2'], # needs a proper port + ['ffms2', '', 'FFMS2'], # other ['fftw3', '', 'FFTW3'], ['hunspell', '', 'Hunspell'], # needs a proper port diff --git a/subprojects/ffmpeg.wrap b/subprojects/ffmpeg.wrap new file mode 100644 index 000000000..0a59585ad --- /dev/null +++ b/subprojects/ffmpeg.wrap @@ -0,0 +1,11 @@ +[wrap-git] +directory = ffmpeg +url = https://gitlab.freedesktop.org/gstreamer/meson-ports/ffmpeg.git +revision = meson-4.3 + +[provide] +libavformat = libavformat_dep +libavcodec = libavcodec_dep +libswscale = libswscale_dep +libavutil = libavutil_dep +libswresample = libswresample_dep diff --git a/subprojects/ffms2.wrap b/subprojects/ffms2.wrap new file mode 100644 index 000000000..9cb18212f --- /dev/null +++ b/subprojects/ffms2.wrap @@ -0,0 +1,9 @@ +[wrap-file] +directory = ffms2-2.40 +source_url = https://github.com/FFMS/ffms2/archive/2.40.tar.gz +source_filename = 2.40.tar.gz +source_hash = 82e95662946f3d6e1b529eadbd72bed196adfbc41368b2d50493efce6e716320 +patch_directory = ffms2 + +[provide] +ffms2 = ffms2_dep diff --git a/subprojects/packagefiles/ffms2/meson.build b/subprojects/packagefiles/ffms2/meson.build new file mode 100644 index 000000000..a7328ea8d --- /dev/null +++ b/subprojects/packagefiles/ffms2/meson.build @@ -0,0 +1,45 @@ +project('ffms2', 'cpp', version: '2.40.0') + +deps = [] + +deps += dependency('zlib') +deps += dependency('libavformat') +deps += dependency('libavcodec') +deps += dependency('libswscale') +deps += dependency('libavutil') +deps += dependency('libswresample') + +args = ['-D_FILE_OFFSET_BITNS=64', '-DFFMS_EXPORTS', '-D__STDC_CONSTANT_MACROS'] +usage_args = [] + +if get_option('default_library') == 'static' + usage_args += '-DFFMS_STATIC' +endif + +ffms2_sources = [ + 'src/core/audiosource.cpp', + #'src/core/audiosource.h', + 'src/core/ffms.cpp', + 'src/core/filehandle.cpp', + #'src/core/filehandle.h', + 'src/core/indexing.cpp', + #'src/core/indexing.h', + 'src/core/track.cpp', + #'src/core/track.h', + 'src/core/utils.cpp', + #'src/core/utils.h', + 'src/core/videosource.cpp', + #'src/core/videosource.h', + 'src/core/videoutils.cpp', + #'src/core/videoutils.h', + 'src/core/zipfile.cpp', + #'src/core/zipfile.h', +] + +deps_inc = include_directories('include') + +ffms2 = library('ffms2', ffms2_sources, include_directories: deps_inc, dependencies: deps, + cpp_args: args + usage_args) +ffms2_dep = declare_dependency(link_with: ffms2, + include_directories: deps_inc, + compile_args: usage_args)