diff options
Diffstat (limited to 'subprojects/packagefiles')
16 files changed, 466 insertions, 251 deletions
diff --git a/subprojects/packagefiles/ffmpeg-compat/meson.build b/subprojects/packagefiles/ffmpeg-compat/meson.build deleted file mode 100644 index 7aeeb71..0000000 --- a/subprojects/packagefiles/ffmpeg-compat/meson.build +++ /dev/null @@ -1,197 +0,0 @@ -project('ffmpeg', 'c', version: '3.4.14', meson_version: '>=0.57.0') - -ffmpeg_version_string = meson.project_version() - -compiler = meson.get_compiler('c') - -cpu = target_machine.cpu_family() -is_64bit = (cpu == 'x86_64' or cpu == 'aarch64') -is_debug = get_option('debug') -is_minsize = get_option('optimization') == 's' -is_linux = host_machine.system() == 'linux' -is_windows = host_machine.system() == 'windows' -is_msvc = compiler.get_id() == 'msvc' or compiler.get_id() == 'clang-cl' -is_mingw = is_windows and not is_msvc -is_android = host_machine.system() == 'android' - -extra_options = [] - -if not is_debug - extra_options += ['--disable-debug'] -endif - -if is_minsize - extra_options += ['--enable-small'] -endif - -extra_options += ['--arch=' + cpu] -extra_options += ['--cc=' + compiler.cmd_array()[0]] -if meson.is_cross_build() - if is_msvc - extra_options += ['--ld=' + compiler.get_linker_id()] - endif - extra_options += ['--ar=' + meson.get_external_property('ar', 'ar')] - extra_options += ['--nm=' + meson.get_external_property('nm', 'nm')] -endif - -if cpu == 'x86_64' or cpu == 'x86' - extra_options += ['--enable-x86asm'] -endif - -if is_windows - extra_options += ['--extra-cflags=-D_WIN32_WINNT=0x0502'] # Windows Server 2003 with SP1, Windows XP with SP2. - if is_64bit - extra_options += ['--target-os=win64'] - else - extra_options += ['--target-os=win32'] - endif - if is_msvc - extra_options += ['--toolchain=msvc'] - endif - extra_options += ['--enable-w32threads'] -elif is_android - extra_options += ['--target-os=android'] -endif - -#'--extra-ldflags=-Lbuild/subprojects/libalabaster -l:libalabaster.a', -#'--malloc-prefix=al_', - -decoders = 'flac,mp3,mp3float,aac,opus,vorbis,h264,hevc,av1,vp9' -decoders += ',pcm_s32be,pcm_s32le,pcm_s24be,pcm_s24le,pcm_s16be,pcm_s16le' -#decoders += ',pcm_f32be,pcm_f32le,pcm_s32le_planar,pcm_s16be_planar,pcm_s16le_planar' -decoders += ',dca,eac3' -decoders += ',pcm_dvd,mpegvideo,mpeg2video' -#decoders += ',ass,srt' - -demuxers = '' -parsers = '' -if not get_option('sink-only') - demuxers += 'flac,mp3,aac,wav,matroska,mov,avi' - demuxers += ',pcm_s32be,pcm_s32le,pcm_s24be,pcm_s24le,pcm_s16be,pcm_s16le' - #demuxers += ',pcm_f32be,pcm_f32le,pcm_s32le_planar,pcm_s16be_planar,pcm_s16le_planar' - demuxers += ',eac3' - demuxers += ',mpegts,mpegtsraw,mpegps,mpegvideo' - #demuxers += ',ass,srt' - parsers += 'aac,opus,h264,hevc,av1,vp9' - parsers += ',dca' - parsers += ',mpegaudio,mpegvideo,dvd_nav' - extra_options += ['--enable-bzlib'] # matroska -endif - -extra_options += ['--enable-zlib'] -decoders += ',png,apng,mjpeg,jpeg2000,gif,' -if not get_option('sink-only') - demuxers += ',image_png_pipe,image2,mjpeg,image2pipe,image_jpeg_pipe,gif' - parsers += ',png,mjpeg,jpeg2000,gif' -endif - -bsfs = '' -if not get_option('sink-only') - bsfs += 'extract_extradata,mp3_header_decompress' -endif - -hwaccels = '' -if get_option('codec-hwaccel').enabled() - if get_option('renderer-api') == 'vulkan' - extra_options += ['--enable-vulkan'] - hwaccels += 'h264_vulkan,hevc_vulkan,av1_vulkan,vp9_vulkan' - elif is_windows - extra_options += ['--enable-d3d11va'] - hwaccels += 'h264_d3d11va,hevc_d3d11va,av1_d3d11va,vp9_d3d11va' - hwaccels += ',h264_d3d11va2,hevc_d3d11va2,av1_d3d11va2,vp9_d3d11va2' - #extra_options += ['--enable-dxva2'] - #hwaccels += ',h264_dxva2,hevc_dxva2,av1_dxva2,vp9_dxva2' - elif is_android - extra_options += ['--enable-jni', '--enable-mediacodec'] - decoders += ',h264_mediacodec,hevc_mediacodec,av1_mediacodec,vp9_mediacodec' - elif is_linux - extra_options += ['--enable-vaapi'] - endif -else - extra_options += ['--disable-hwaccels'] -endif - -protocols = '' -if not get_option('sink-only') - protocols += 'cache' -endif - -if decoders != '' - extra_options += ['--enable-decoder=' + decoders] -endif - -if demuxers != '' - extra_options += ['--enable-demuxer=' + demuxers] -endif - -if parsers != '' - extra_options += ['--enable-parser=' + parsers] -endif - -if bsfs != '' - extra_options += ['--enable-bsf=' + bsfs] -endif - -if protocols != '' - extra_options += ['--enable-protocol=' + protocols] -endif - -if hwaccels != '' - extra_options += ['--enable-hwaccel=' + hwaccels] -endif - -if is_linux or is_mingw - extra_options += ['--enable-libsoxr'] -endif - -ext_proj = import('unstable-external_project') - -proj = ext_proj.add_project('configure', - configure_options: [ - '--prefix=@PREFIX@', - '--libdir=@PREFIX@/@LIBDIR@', - '--incdir=@PREFIX@/@INCLUDEDIR@', - '--enable-pic', - '--enable-static', - '--disable-shared', - '--disable-logging', - '--disable-all', - '--disable-autodetect', - '--disable-everything', - '--disable-programs', - '--disable-doc', - '--disable-htmlpages', - '--disable-manpages', - '--disable-podpages', - '--disable-txtpages', - '--disable-safe-bitstream-reader', - '--disable-schannel', - '--disable-network', - '--disable-securetransport', - #'--disable-iconv', - '--enable-gpl', - '--enable-version3', - '--disable-nonfree', - '--enable-runtime-cpudetect', - '--enable-asm', - '--enable-inline-asm', - '--enable-avutil', - '--enable-avformat', - '--enable-avcodec', - #'--enable-avdevice', - '--enable-swresample', - '--enable-swscale', - '--disable-indevs', - '--disable-outdevs', - extra_options - ], - cross_configure_options: ['--enable-cross-compile'], - verbose: true) - -avutil = proj.dependency('avutil') -avformat = proj.dependency('avformat') -avcodec = proj.dependency('avcodec') -#avdevice = proj.dependency('avdevice') -swresample = proj.dependency('swresample') -swscale = proj.dependency('swscale') -ffmpeg_include = declare_dependency(include_directories: include_directories('.', 'build/')) diff --git a/subprojects/packagefiles/ffmpeg-compat/meson_options.txt b/subprojects/packagefiles/ffmpeg-compat/meson_options.txt deleted file mode 100644 index eb4b08b..0000000 --- a/subprojects/packagefiles/ffmpeg-compat/meson_options.txt +++ /dev/null @@ -1,4 +0,0 @@ -# Copy-paste from top-level project. -option('codec-hwaccel', type: 'feature', value: 'disabled', yield: true) -option('renderer-api', type: 'combo', choices: ['vulkan', 'dx11', 'gl', 'gl-rpi'], value: 'vulkan', yield: true) -option('sink-only', type: 'boolean', value: false, yield: true) diff --git a/subprojects/packagefiles/ffmpeg-compat/meson_project.diff b/subprojects/packagefiles/ffmpeg-compat/meson_project.diff deleted file mode 100644 index 5646fe1..0000000 --- a/subprojects/packagefiles/ffmpeg-compat/meson_project.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- meson.build 2025-05-25 19:32:01.080982098 -0400 -+++ meson.build 2025-05-25 19:32:01.080982098 -0400 -@@ -1,4 +1,4 @@ --project('ffmpeg', 'c', version: '7.1.1', meson_version: '>=0.57.0') -+project('ffmpeg', 'c', version: '3.4.14', meson_version: '>=0.57.0') - - ffmpeg_version_string = meson.project_version() - -@@ -39,6 +39,7 @@ - endif - - if is_windows -+ extra_options += ['--extra-cflags=-D_WIN32_WINNT=0x0502'] # Windows Server 2003 with SP1, Windows XP with SP2. - if is_64bit - extra_options += ['--target-os=win64'] - else diff --git a/subprojects/packagefiles/ffmpeg-compat/ffmpeg.git-effadce6c756247ea8bae32dc13bb3e6f464f0eb.patch b/subprojects/packagefiles/ffmpeg/ffmpeg.git-effadce6c756247ea8bae32dc13bb3e6f464f0eb.patch index b4fec43..b4fec43 100644 --- a/subprojects/packagefiles/ffmpeg-compat/ffmpeg.git-effadce6c756247ea8bae32dc13bb3e6f464f0eb.patch +++ b/subprojects/packagefiles/ffmpeg/ffmpeg.git-effadce6c756247ea8bae32dc13bb3e6f464f0eb.patch diff --git a/subprojects/packagefiles/ffmpeg/meson.build b/subprojects/packagefiles/ffmpeg/meson.build index 8bcce34..46f2d31 100644 --- a/subprojects/packagefiles/ffmpeg/meson.build +++ b/subprojects/packagefiles/ffmpeg/meson.build @@ -1,6 +1,4 @@ -project('ffmpeg', 'c', version: '7.1.1', meson_version: '>=0.57.0') - -ffmpeg_version_string = meson.project_version() +project('ffmpeg', 'c', version: '', meson_version: '>=0.57.0') compiler = meson.get_compiler('c') @@ -14,6 +12,9 @@ is_msvc = compiler.get_id() == 'msvc' or compiler.get_id() == 'clang-cl' is_mingw = is_windows and not is_msvc is_android = host_machine.system() == 'android' +args = ['-DFFMPEG_VERSION="' + meson.project_version() + '"'] +deps = [] + extra_options = [] if not is_debug @@ -38,7 +39,12 @@ if cpu == 'x86_64' or cpu == 'x86' extra_options += ['--enable-x86asm'] endif +extra_options += ['--enable-static', '--disable-shared'] + if is_windows + if get_option('win32-compat') + extra_options += ['--extra-cflags=-D_WIN32_WINNT=0x0502'] # Windows Server 2003 with SP1, Windows XP with SP2. + endif if is_64bit extra_options += ['--target-os=win64'] else @@ -48,6 +54,7 @@ if is_windows extra_options += ['--toolchain=msvc'] endif extra_options += ['--enable-w32threads'] + deps += [compiler.find_library('bcrypt')] elif is_android extra_options += ['--target-os=android'] endif @@ -74,14 +81,22 @@ if not get_option('sink-only') parsers += 'aac,opus,h264,hevc,av1,vp9' parsers += ',dca' parsers += ',mpegaudio,mpegvideo,dvd_nav' - extra_options += ['--enable-bzlib'] # matroska + bzlib = dependency('bzip2', required: false) + if bzlib.found() + extra_options += ['--enable-bzlib'] # matroska + deps += [bzlib] + endif endif -extra_options += ['--enable-zlib'] -decoders += ',png,apng,mjpeg,jpeg2000,gif,' -if not get_option('sink-only') - demuxers += ',image_png_pipe,image2,mjpeg,image2pipe,image_jpeg_pipe,gif' - parsers += ',png,mjpeg,jpeg2000,gif' +zlib = dependency('zlib', required: false) +if zlib.found() + extra_options += ['--enable-zlib'] + decoders += ',png,apng,mjpeg,jpeg2000,gif,' + if not get_option('sink-only') + demuxers += ',image_png_pipe,image2,mjpeg,image2pipe,image_jpeg_pipe,gif' + parsers += ',png,mjpeg,jpeg2000,gif' + endif + deps += [zlib] endif bsfs = '' @@ -90,26 +105,85 @@ if not get_option('sink-only') endif hwaccels = '' -if get_option('codec-hwaccel').enabled() - if get_option('renderer-api') == 'vulkan' +if meson.project_version().split('.')[0].to_int() <= 4 + if 'vulkan' in get_option('codec-hwaccels') + error('vulkan not supported in FFmpeg version ' + meson.project_version() + '.') + endif +else + if 'vulkan' in get_option('codec-hwaccels') extra_options += ['--enable-vulkan'] - hwaccels += 'h264_vulkan,hevc_vulkan,av1_vulkan,vp9_vulkan' - elif is_windows - extra_options += ['--enable-d3d11va'] - hwaccels += 'h264_d3d11va,hevc_d3d11va,av1_d3d11va,vp9_d3d11va' - hwaccels += ',h264_d3d11va2,hevc_d3d11va2,av1_d3d11va2,vp9_d3d11va2' - #extra_options += ['--enable-dxva2'] - #hwaccels += ',h264_dxva2,hevc_dxva2,av1_dxva2,vp9_dxva2' - elif is_android - extra_options += ['--enable-jni', '--enable-mediacodec'] - decoders += ',h264_mediacodec,hevc_mediacodec,av1_mediacodec,vp9_mediacodec' - elif is_linux - extra_options += ['--enable-vaapi'] + hwaccels += ',h264_vulkan,hevc_vulkan,av1_vulkan,vp9_vulkan' + args += ['-DCAMU_HAVE_VULKAN_DECODE'] + else + extra_options += ['--disable-vulkan'] + endif +endif + +if meson.project_version().split('.')[0].to_int() <= 3 + if 'vaapi' in get_option('codec-hwaccels') + error('vaapi not supported (by camu) in FFmpeg version ' + meson.project_version() + '.') endif else + if 'vaapi' in get_option('codec-hwaccels') + extra_options += ['--enable-libdrm', '--enable-vaapi'] + hwaccels += ',h264_vaapi,hevc_vaapi,av1_vaapi,vp9_vaapi' + deps += [dependency('libdrm'), dependency('libva'), dependency('libva-drm')] + args += ['-DCAMU_HAVE_VAAPI'] + else + extra_options += ['--disable-libdrm', '--disable-vaapi'] + endif +endif + +if 'd3d11va' in get_option('codec-hwaccels') + if not is_windows + error('d3d11va not supported on ' + host_machine.system() + '.') + endif + extra_options += ['--enable-d3d11va'] + hwaccels += ',h264_d3d11va,hevc_d3d11va,av1_d3d11va,vp9_d3d11va' + hwaccels += ',h264_d3d11va2,hevc_d3d11va2,av1_d3d11va2,vp9_d3d11va2' + args += ['-DCAMU_HAVE_D3D11VA'] +else + extra_options += ['--disable-d3d11va'] +endif + +if 'dxva2' in get_option('codec-hwaccels') + if not is_windows + error('dxva2 not supported on ' + host_machine.system() + '.') + endif + extra_options += ['--enable-dxva2'] + hwaccels += ',h264_dxva2,hevc_dxva2,av1_dxva2,vp9_dxva2' + args += ['-DCAMU_HAVE_DXVA2'] +else + extra_options += ['--disable-dxva2'] +endif + +if 'mediacodec' in get_option('codec-hwaccels') + if not is_android + error('mediacodec not supported on ' + host_machine.system() + '.') + endif + extra_options += ['--enable-jni', '--enable-mediacodec'] + decoders += ',h264_mediacodec,hevc_mediacodec,av1_mediacodec,vp9_mediacodec' + deps += [compiler.find_library('mediandk')] + args += ['-DCAMU_HAVE_MEDIACODEC'] +else + extra_options += ['--disable-jni', '--disable-mediacodec'] +endif + +if get_option('codec-hwaccels').length() == 0 extra_options += ['--disable-hwaccels'] +else + args += ['-DCAMU_TRY_HWACCEL'] endif +# Disable unused hwaccels. +extra_options += [ + '--disable-cuvid', + '--disable-nvenc', + '--disable-vdpau', + '--disable-audiotoolbox', + '--disable-videotoolbox' +] + protocols = '' if not get_option('sink-only') protocols += 'cache' @@ -139,8 +213,11 @@ if hwaccels != '' extra_options += ['--enable-hwaccel=' + hwaccels] endif -if is_linux or is_mingw +soxr = compiler.find_library('soxr', required: false) +if soxr.found() extra_options += ['--enable-libsoxr'] + deps += [soxr] + args += ['-DCAMU_HAVE_SOXR'] endif ext_proj = import('unstable-external_project') @@ -151,9 +228,6 @@ proj = ext_proj.add_project('configure', '--libdir=@PREFIX@/@LIBDIR@', '--incdir=@PREFIX@/@INCLUDEDIR@', '--enable-pic', - '--enable-static', - '--disable-shared', - '--disable-logging', '--disable-all', '--disable-autodetect', '--disable-everything', @@ -167,7 +241,6 @@ proj = ext_proj.add_project('configure', '--disable-schannel', '--disable-network', '--disable-securetransport', - #'--disable-iconv', '--enable-gpl', '--enable-version3', '--disable-nonfree', @@ -177,7 +250,7 @@ proj = ext_proj.add_project('configure', '--enable-avutil', '--enable-avformat', '--enable-avcodec', - #'--enable-avdevice', + '--enable-avdevice', '--enable-swresample', '--enable-swscale', '--disable-indevs', @@ -190,7 +263,19 @@ proj = ext_proj.add_project('configure', avutil = proj.dependency('avutil') avformat = proj.dependency('avformat') avcodec = proj.dependency('avcodec') -#avdevice = proj.dependency('avdevice') +avdevice = proj.dependency('avdevice') swresample = proj.dependency('swresample') swscale = proj.dependency('swscale') -ffmpeg_include = declare_dependency(include_directories: include_directories('.', 'build/')) +include = include_directories('.', 'build/') +meson.override_dependency('libavutil', declare_dependency( + dependencies: [avutil, deps], compile_args: args, include_directories: include, version: '')) +meson.override_dependency('libavformat', declare_dependency( + dependencies: [avformat], include_directories: include, version: '')) +meson.override_dependency('libavcodec', declare_dependency( + dependencies: [avcodec], include_directories: include, version: '')) +meson.override_dependency('libavdevice', declare_dependency( + dependencies: [avdevice], include_directories: include, version: '')) +meson.override_dependency('libswresample', declare_dependency( + dependencies: [swresample], include_directories: include, version: '')) +meson.override_dependency('libswscale', declare_dependency( + dependencies: [swscale], include_directories: include, version: '')) diff --git a/subprojects/packagefiles/ffmpeg/meson_options.txt b/subprojects/packagefiles/ffmpeg/meson_options.txt index eb4b08b..c06b276 100644 --- a/subprojects/packagefiles/ffmpeg/meson_options.txt +++ b/subprojects/packagefiles/ffmpeg/meson_options.txt @@ -1,4 +1,5 @@ # Copy-paste from top-level project. -option('codec-hwaccel', type: 'feature', value: 'disabled', yield: true) +option('codec-hwaccels', type: 'array', choices: ['vulkan', 'vaapi', 'mediacodec', 'd3d11va', 'dxva2'], value: [], yield: true) option('renderer-api', type: 'combo', choices: ['vulkan', 'dx11', 'gl', 'gl-rpi'], value: 'vulkan', yield: true) +option('win32-compat', type: 'boolean', value: false, yield: true) option('sink-only', type: 'boolean', value: false, yield: true) diff --git a/subprojects/packagefiles/ffmpeg/version_2.8.22.diff b/subprojects/packagefiles/ffmpeg/version_2.8.22.diff new file mode 100644 index 0000000..8530b6d --- /dev/null +++ b/subprojects/packagefiles/ffmpeg/version_2.8.22.diff @@ -0,0 +1,58 @@ +--- a/meson.build 2025-08-23 18:44:34.634014892 -0400 ++++ b/meson.build 2025-08-25 15:47:10.979206957 -0400 +@@ -1,4 +1,6 @@ +-project('ffmpeg', 'c', version: '', meson_version: '>=0.57.0') ++project('ffmpeg', 'c', version: '2.8.22', meson_version: '>=0.57.0') ++ ++error('FFmpeg version 2.x currently unsupported.') + + compiler = meson.get_compiler('c') + +@@ -35,10 +37,6 @@ + extra_options += ['--nm=' + meson.get_external_property('nm', 'nm')] + endif + +-if cpu == 'x86_64' or cpu == 'x86' +- extra_options += ['--enable-x86asm'] +-endif +- + extra_options += ['--enable-static', '--disable-shared'] + + if is_windows +@@ -229,7 +227,6 @@ + '--incdir=@PREFIX@/@INCLUDEDIR@', + '--enable-pic', + '--disable-all', +- '--disable-autodetect', + '--disable-everything', + '--disable-programs', + '--disable-doc', +@@ -238,7 +235,6 @@ + '--disable-podpages', + '--disable-txtpages', + '--disable-safe-bitstream-reader', +- '--disable-schannel', + '--disable-network', + '--disable-securetransport', + '--enable-gpl', +@@ -268,14 +264,14 @@ + swscale = proj.dependency('swscale') + include = include_directories('.', 'build/') + meson.override_dependency('libavutil', declare_dependency( +- dependencies: [avutil, deps], compile_args: args, include_directories: include, version: '')) ++ dependencies: [avutil, deps], compile_args: args, include_directories: include, version: '54.31.100')) + meson.override_dependency('libavformat', declare_dependency( +- dependencies: [avformat], include_directories: include, version: '')) ++ dependencies: [avformat], include_directories: include, version: '56.40.101')) + meson.override_dependency('libavcodec', declare_dependency( +- dependencies: [avcodec], include_directories: include, version: '')) ++ dependencies: [avcodec], include_directories: include, version: '56.60.100')) + meson.override_dependency('libavdevice', declare_dependency( +- dependencies: [avdevice], include_directories: include, version: '')) ++ dependencies: [avdevice], include_directories: include, version: '56.4.100')) + meson.override_dependency('libswresample', declare_dependency( +- dependencies: [swresample], include_directories: include, version: '')) ++ dependencies: [swresample], include_directories: include, version: '1.2.101')) + meson.override_dependency('libswscale', declare_dependency( +- dependencies: [swscale], include_directories: include, version: '')) ++ dependencies: [swscale], include_directories: include, version: '3.1.101')) diff --git a/subprojects/packagefiles/ffmpeg/version_3.3.9.diff b/subprojects/packagefiles/ffmpeg/version_3.3.9.diff new file mode 100644 index 0000000..3887a2f --- /dev/null +++ b/subprojects/packagefiles/ffmpeg/version_3.3.9.diff @@ -0,0 +1,79 @@ +--- a/meson.build 2025-08-23 18:44:34.634014892 -0400 ++++ b/meson.build 2025-08-25 15:51:35.605178588 -0400 +@@ -1,4 +1,4 @@ +-project('ffmpeg', 'c', version: '', meson_version: '>=0.57.0') ++project('ffmpeg', 'c', version: '3.3.9', meson_version: '>=0.57.0') + + compiler = meson.get_compiler('c') + +@@ -35,10 +35,6 @@ + extra_options += ['--nm=' + meson.get_external_property('nm', 'nm')] + endif + +-if cpu == 'x86_64' or cpu == 'x86' +- extra_options += ['--enable-x86asm'] +-endif +- + extra_options += ['--enable-static', '--disable-shared'] + + if is_windows +@@ -220,6 +216,15 @@ + args += ['-DCAMU_HAVE_SOXR'] + endif + ++# Manual version of "--disable-autodetect". Needs more testing. ++extra_options += [ ++ '--disable-lzma', ++ '--disable-sdl2', ++ '--disable-xlib', ++ '--disable-cuda', ++ '--disable-vda' ++] ++ + ext_proj = import('unstable-external_project') + + proj = ext_proj.add_project('configure', +@@ -229,7 +234,6 @@ + '--incdir=@PREFIX@/@INCLUDEDIR@', + '--enable-pic', + '--disable-all', +- '--disable-autodetect', + '--disable-everything', + '--disable-programs', + '--disable-doc', +@@ -255,11 +259,14 @@ + '--enable-swscale', + '--disable-indevs', + '--disable-outdevs', ++ '--extra-cflags=-Wno-attributes', + extra_options + ], + cross_configure_options: ['--enable-cross-compile'], + verbose: true) + ++args += ['-Wno-attributes'] ++ + avutil = proj.dependency('avutil') + avformat = proj.dependency('avformat') + avcodec = proj.dependency('avcodec') +@@ -268,14 +275,14 @@ + swscale = proj.dependency('swscale') + include = include_directories('.', 'build/') + meson.override_dependency('libavutil', declare_dependency( +- dependencies: [avutil, deps], compile_args: args, include_directories: include, version: '')) ++ dependencies: [avutil, deps], compile_args: args, include_directories: include, version: '55.58.100')) + meson.override_dependency('libavformat', declare_dependency( +- dependencies: [avformat], include_directories: include, version: '')) ++ dependencies: [avformat], include_directories: include, version: '57.71.100')) + meson.override_dependency('libavcodec', declare_dependency( +- dependencies: [avcodec], include_directories: include, version: '')) ++ dependencies: [avcodec], include_directories: include, version: '57.89.100')) + meson.override_dependency('libavdevice', declare_dependency( +- dependencies: [avdevice], include_directories: include, version: '')) ++ dependencies: [avdevice], include_directories: include, version: '57.6.100')) + meson.override_dependency('libswresample', declare_dependency( +- dependencies: [swresample], include_directories: include, version: '')) ++ dependencies: [swresample], include_directories: include, version: '2.7.100')) + meson.override_dependency('libswscale', declare_dependency( +- dependencies: [swscale], include_directories: include, version: '')) ++ dependencies: [swscale], include_directories: include, version: '4.6.100')) diff --git a/subprojects/packagefiles/ffmpeg/version_3.4.14.diff b/subprojects/packagefiles/ffmpeg/version_3.4.14.diff new file mode 100644 index 0000000..fa3622a --- /dev/null +++ b/subprojects/packagefiles/ffmpeg/version_3.4.14.diff @@ -0,0 +1,29 @@ +--- a/meson.build 2025-08-23 18:44:34.634014892 -0400 ++++ b/meson.build 2025-08-25 15:58:06.264562637 -0400 +@@ -1,4 +1,4 @@ +-project('ffmpeg', 'c', version: '', meson_version: '>=0.57.0') ++project('ffmpeg', 'c', version: '3.4.14', meson_version: '>=0.57.0') + + compiler = meson.get_compiler('c') + +@@ -268,14 +268,14 @@ + swscale = proj.dependency('swscale') + include = include_directories('.', 'build/') + meson.override_dependency('libavutil', declare_dependency( +- dependencies: [avutil, deps], compile_args: args, include_directories: include, version: '')) ++ dependencies: [avutil, deps], compile_args: args, include_directories: include, version: '55.78.100')) + meson.override_dependency('libavformat', declare_dependency( +- dependencies: [avformat], include_directories: include, version: '')) ++ dependencies: [avformat], include_directories: include, version: '57.83.100')) + meson.override_dependency('libavcodec', declare_dependency( +- dependencies: [avcodec], include_directories: include, version: '')) ++ dependencies: [avcodec], include_directories: include, version: '57.107.100')) + meson.override_dependency('libavdevice', declare_dependency( +- dependencies: [avdevice], include_directories: include, version: '')) ++ dependencies: [avdevice], include_directories: include, version: '57.10.100')) + meson.override_dependency('libswresample', declare_dependency( +- dependencies: [swresample], include_directories: include, version: '')) ++ dependencies: [swresample], include_directories: include, version: '2.9.100')) + meson.override_dependency('libswscale', declare_dependency( +- dependencies: [swscale], include_directories: include, version: '')) ++ dependencies: [swscale], include_directories: include, version: '4.8.100')) diff --git a/subprojects/packagefiles/ffmpeg/version_4.2.11.diff b/subprojects/packagefiles/ffmpeg/version_4.2.11.diff new file mode 100644 index 0000000..27d5ceb --- /dev/null +++ b/subprojects/packagefiles/ffmpeg/version_4.2.11.diff @@ -0,0 +1,29 @@ +--- a/meson.build 2025-08-23 18:44:34.634014892 -0400 ++++ b/meson.build 2025-08-25 15:42:23.161139654 -0400 +@@ -1,4 +1,4 @@ +-project('ffmpeg', 'c', version: '', meson_version: '>=0.57.0') ++project('ffmpeg', 'c', version: '4.2.11', meson_version: '>=0.57.0') + + compiler = meson.get_compiler('c') + +@@ -268,14 +268,14 @@ + swscale = proj.dependency('swscale') + include = include_directories('.', 'build/') + meson.override_dependency('libavutil', declare_dependency( +- dependencies: [avutil, deps], compile_args: args, include_directories: include, version: '')) ++ dependencies: [avutil, deps], compile_args: args, include_directories: include, version: '56.31.100')) + meson.override_dependency('libavformat', declare_dependency( +- dependencies: [avformat], include_directories: include, version: '')) ++ dependencies: [avformat], include_directories: include, version: '58.29.100')) + meson.override_dependency('libavcodec', declare_dependency( +- dependencies: [avcodec], include_directories: include, version: '')) ++ dependencies: [avcodec], include_directories: include, version: '58.54.100')) + meson.override_dependency('libavdevice', declare_dependency( +- dependencies: [avdevice], include_directories: include, version: '')) ++ dependencies: [avdevice], include_directories: include, version: '58.8.100')) + meson.override_dependency('libswresample', declare_dependency( +- dependencies: [swresample], include_directories: include, version: '')) ++ dependencies: [swresample], include_directories: include, version: '3.5.100')) + meson.override_dependency('libswscale', declare_dependency( +- dependencies: [swscale], include_directories: include, version: '')) ++ dependencies: [swscale], include_directories: include, version: '5.5.100')) diff --git a/subprojects/packagefiles/ffmpeg/version_5.1.7.diff b/subprojects/packagefiles/ffmpeg/version_5.1.7.diff new file mode 100644 index 0000000..f48d522 --- /dev/null +++ b/subprojects/packagefiles/ffmpeg/version_5.1.7.diff @@ -0,0 +1,29 @@ +--- a/meson.build 2025-08-23 18:44:34.634014892 -0400 ++++ b/meson.build 2025-08-25 15:40:17.065798145 -0400 +@@ -1,4 +1,4 @@ +-project('ffmpeg', 'c', version: '', meson_version: '>=0.57.0') ++project('ffmpeg', 'c', version: '5.1.7', meson_version: '>=0.57.0') + + compiler = meson.get_compiler('c') + +@@ -268,14 +268,14 @@ + swscale = proj.dependency('swscale') + include = include_directories('.', 'build/') + meson.override_dependency('libavutil', declare_dependency( +- dependencies: [avutil, deps], compile_args: args, include_directories: include, version: '')) ++ dependencies: [avutil, deps], compile_args: args, include_directories: include, version: '57.28.100')) + meson.override_dependency('libavformat', declare_dependency( +- dependencies: [avformat], include_directories: include, version: '')) ++ dependencies: [avformat], include_directories: include, version: '59.27.100')) + meson.override_dependency('libavcodec', declare_dependency( +- dependencies: [avcodec], include_directories: include, version: '')) ++ dependencies: [avcodec], include_directories: include, version: '59.37.100')) + meson.override_dependency('libavdevice', declare_dependency( +- dependencies: [avdevice], include_directories: include, version: '')) ++ dependencies: [avdevice], include_directories: include, version: '59.7.100')) + meson.override_dependency('libswresample', declare_dependency( +- dependencies: [swresample], include_directories: include, version: '')) ++ dependencies: [swresample], include_directories: include, version: '4.7.100')) + meson.override_dependency('libswscale', declare_dependency( +- dependencies: [swscale], include_directories: include, version: '')) ++ dependencies: [swscale], include_directories: include, version: '6.7.100')) diff --git a/subprojects/packagefiles/ffmpeg/version_6.1.3.diff b/subprojects/packagefiles/ffmpeg/version_6.1.3.diff new file mode 100644 index 0000000..6193dfe --- /dev/null +++ b/subprojects/packagefiles/ffmpeg/version_6.1.3.diff @@ -0,0 +1,29 @@ +--- a/meson.build 2025-08-23 18:44:34.634014892 -0400 ++++ b/meson.build 2025-08-25 15:37:56.556303265 -0400 +@@ -1,4 +1,4 @@ +-project('ffmpeg', 'c', version: '', meson_version: '>=0.57.0') ++project('ffmpeg', 'c', version: '6.1.3', meson_version: '>=0.57.0') + + compiler = meson.get_compiler('c') + +@@ -268,14 +268,14 @@ + swscale = proj.dependency('swscale') + include = include_directories('.', 'build/') + meson.override_dependency('libavutil', declare_dependency( +- dependencies: [avutil, deps], compile_args: args, include_directories: include, version: '')) ++ dependencies: [avutil, deps], compile_args: args, include_directories: include, version: '58.29.100')) + meson.override_dependency('libavformat', declare_dependency( +- dependencies: [avformat], include_directories: include, version: '')) ++ dependencies: [avformat], include_directories: include, version: '60.16.100')) + meson.override_dependency('libavcodec', declare_dependency( +- dependencies: [avcodec], include_directories: include, version: '')) ++ dependencies: [avcodec], include_directories: include, version: '60.31.102')) + meson.override_dependency('libavdevice', declare_dependency( +- dependencies: [avdevice], include_directories: include, version: '')) ++ dependencies: [avdevice], include_directories: include, version: '60.3.100')) + meson.override_dependency('libswresample', declare_dependency( +- dependencies: [swresample], include_directories: include, version: '')) ++ dependencies: [swresample], include_directories: include, version: '4.12.100')) + meson.override_dependency('libswscale', declare_dependency( +- dependencies: [swscale], include_directories: include, version: '')) ++ dependencies: [swscale], include_directories: include, version: '7.5.100')) diff --git a/subprojects/packagefiles/ffmpeg/version_7.1.1.diff b/subprojects/packagefiles/ffmpeg/version_7.1.1.diff new file mode 100644 index 0000000..74a41fe --- /dev/null +++ b/subprojects/packagefiles/ffmpeg/version_7.1.1.diff @@ -0,0 +1,29 @@ +--- a/meson.build 2025-08-23 18:44:34.634014892 -0400 ++++ b/meson.build 2025-08-25 15:35:33.498781349 -0400 +@@ -1,4 +1,4 @@ +-project('ffmpeg', 'c', version: '', meson_version: '>=0.57.0') ++project('ffmpeg', 'c', version: '7.1.1', meson_version: '>=0.57.0') + + compiler = meson.get_compiler('c') + +@@ -268,14 +268,14 @@ + swscale = proj.dependency('swscale') + include = include_directories('.', 'build/') + meson.override_dependency('libavutil', declare_dependency( +- dependencies: [avutil, deps], compile_args: args, include_directories: include, version: '')) ++ dependencies: [avutil, deps], compile_args: args, include_directories: include, version: '59.39.100')) + meson.override_dependency('libavformat', declare_dependency( +- dependencies: [avformat], include_directories: include, version: '')) ++ dependencies: [avformat], include_directories: include, version: '61.7.100')) + meson.override_dependency('libavcodec', declare_dependency( +- dependencies: [avcodec], include_directories: include, version: '')) ++ dependencies: [avcodec], include_directories: include, version: '61.19.100')) + meson.override_dependency('libavdevice', declare_dependency( +- dependencies: [avdevice], include_directories: include, version: '')) ++ dependencies: [avdevice], include_directories: include, version: '61.3.100')) + meson.override_dependency('libswresample', declare_dependency( +- dependencies: [swresample], include_directories: include, version: '')) ++ dependencies: [swresample], include_directories: include, version: '5.3.100')) + meson.override_dependency('libswscale', declare_dependency( +- dependencies: [swscale], include_directories: include, version: '')) ++ dependencies: [swscale], include_directories: include, version: '8.3.100')) diff --git a/subprojects/packagefiles/ffmpeg/version_8.0.diff b/subprojects/packagefiles/ffmpeg/version_8.0.diff new file mode 100644 index 0000000..ad3b77b --- /dev/null +++ b/subprojects/packagefiles/ffmpeg/version_8.0.diff @@ -0,0 +1,29 @@ +--- a/meson.build 2025-08-23 18:44:34.634014892 -0400 ++++ b/meson.build 2025-08-25 15:33:36.209533531 -0400 +@@ -1,4 +1,4 @@ +-project('ffmpeg', 'c', version: '', meson_version: '>=0.57.0') ++project('ffmpeg', 'c', version: '8.0', meson_version: '>=0.57.0') + + compiler = meson.get_compiler('c') + +@@ -268,14 +268,14 @@ + swscale = proj.dependency('swscale') + include = include_directories('.', 'build/') + meson.override_dependency('libavutil', declare_dependency( +- dependencies: [avutil, deps], compile_args: args, include_directories: include, version: '')) ++ dependencies: [avutil, deps], compile_args: args, include_directories: include, version: '60.8.100')) + meson.override_dependency('libavformat', declare_dependency( +- dependencies: [avformat], include_directories: include, version: '')) ++ dependencies: [avformat], include_directories: include, version: '62.3.100')) + meson.override_dependency('libavcodec', declare_dependency( +- dependencies: [avcodec], include_directories: include, version: '')) ++ dependencies: [avcodec], include_directories: include, version: '62.11.100')) + meson.override_dependency('libavdevice', declare_dependency( +- dependencies: [avdevice], include_directories: include, version: '')) ++ dependencies: [avdevice], include_directories: include, version: '62.1.100')) + meson.override_dependency('libswresample', declare_dependency( +- dependencies: [swresample], include_directories: include, version: '')) ++ dependencies: [swresample], include_directories: include, version: '6.1.100')) + meson.override_dependency('libswscale', declare_dependency( +- dependencies: [swscale], include_directories: include, version: '')) ++ dependencies: [swscale], include_directories: include, version: '9.1.100')) diff --git a/subprojects/packagefiles/libplacebo/dependency_version_override.diff b/subprojects/packagefiles/libplacebo/dependency_version_override.diff index f9a0688..1ee6169 100644 --- a/subprojects/packagefiles/libplacebo/dependency_version_override.diff +++ b/subprojects/packagefiles/libplacebo/dependency_version_override.diff @@ -12,7 +12,7 @@ index d4c4b44..ef96256 100644 ] diff --git a/src/glsl/meson.build b/src/glsl/meson.build -index 8fb5e69..4adfa18 100644 +index b1f4c8d..9b3a5bb 100644 --- a/src/glsl/meson.build +++ b/src/glsl/meson.build @@ -1,5 +1,5 @@ @@ -22,3 +22,38 @@ index 8fb5e69..4adfa18 100644 components.set('shaderc', shaderc.found()) if shaderc.found() build_deps += shaderc +@@ -29,8 +29,9 @@ if glslang_req.auto() and shaderc.found() + + elif not glslang_req.disabled() + ++ prefer_static = get_option('prefer_static') + glslang_deps = [ +- cxx.find_library('glslang-default-resource-limits', required: false) ++ dependency('glslang-default-resource-limits', static: prefer_static) + ] + + # meson doesn't respect generator expressions in INTERFACE_LINK_LIBRARIES +@@ -38,13 +39,12 @@ elif not glslang_req.disabled() + # TODO: Use the following once it's fixed + # glslang = dependency('glslang', method: 'cmake', modules: ['glslang::SPIRV']) + +- prefer_static = get_option('prefer_static') + found_lib = false + foreach arg : [[prefer_static, false], [not prefer_static, glslang_req]] + static = arg[0] + required = arg[1] + +- spirv = cxx.find_library('SPIRV', required: required, static: static) ++ spirv = dependency('SPIRV', static: static) + + if not spirv.found() + continue +@@ -54,7 +54,7 @@ elif not glslang_req.disabled() + + # Glslang 15.0.0 moved some code around, add also linking to glslang, while + # this is not needed for older versions, it will still work. +- glslang_deps += cxx.find_library('glslang', required: required, static: static) ++ glslang_deps += dependency('glslang', static: static) + + if static + glslang_deps += [ diff --git a/subprojects/packagefiles/miniaudio/meson.build b/subprojects/packagefiles/miniaudio/meson.build index 1bd17f5..8522b5f 100644 --- a/subprojects/packagefiles/miniaudio/meson.build +++ b/subprojects/packagefiles/miniaudio/meson.build @@ -1,2 +1,2 @@ -project('miniaudio', 'c', version: 'git-e543369') +project('miniaudio', 'c', version: 'git-78cdb9c') miniaudio = declare_dependency(include_directories: include_directories('.')) |