diff options
| author | 2025-09-08 13:54:36 -0400 | |
|---|---|---|
| committer | 2025-09-08 13:54:36 -0400 | |
| commit | ce955da36daa278d5b331b3c97e228e733a5125e (patch) | |
| tree | e221231e7c0da5324355af44a2e53f41166e3a05 /subprojects | |
| parent | cbbb0c16dc3d9c375ac2a18ca3d59cc308d41beb (diff) | |
| download | camu-ce955da36daa278d5b331b3c97e228e733a5125e.tar.gz camu-ce955da36daa278d5b331b3c97e228e733a5125e.tar.bz2 camu-ce955da36daa278d5b331b3c97e228e733a5125e.zip | |
Major FFmpeg build improvements
- Make build more compatible with a traditional linux environment.
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'subprojects')
35 files changed, 551 insertions, 319 deletions
diff --git a/subprojects/SPIRV-Cross.wrap b/subprojects/SPIRV-Cross.wrap index a74d4be..31f579f 100644 --- a/subprojects/SPIRV-Cross.wrap +++ b/subprojects/SPIRV-Cross.wrap @@ -1,7 +1,7 @@ [wrap-git] -directory = SPIRV-Cross-ccff428 +directory = SPIRV-Cross-0a88b2d url = https://github.com/KhronosGroup/SPIRV-Cross.git -revision = ccff428086b625241de9f225dab0a53269b4d12c +revision = 0a88b2d5c08708d45692b7096a0a84e7bfae366c depth = 1 method = cmake patch_directory = SPIRV-Cross diff --git a/subprojects/ffmpeg-compat.wrap b/subprojects/ffmpeg-compat.wrap deleted file mode 100644 index dc3402b..0000000 --- a/subprojects/ffmpeg-compat.wrap +++ /dev/null @@ -1,7 +0,0 @@ -[wrap-file] -directory = ffmpeg-3.4.14 -source_url = https://ffmpeg.org/releases/ffmpeg-3.4.14.tar.gz -source_filename = ffmpeg-3.4.14.tar.gz -source_hash = 61e255e824341e62fbc83365d84eb754fa558f53985d28ad610d13aeee895d5a -patch_directory = ffmpeg-compat -diff_files = ffmpeg/msvc_build_conform.diff, ffmpeg-compat/ffmpeg.git-effadce6c756247ea8bae32dc13bb3e6f464f0eb.patch diff --git a/subprojects/ffmpeg.wrap b/subprojects/ffmpeg.wrap deleted file mode 100644 index 21eaac9..0000000 --- a/subprojects/ffmpeg.wrap +++ /dev/null @@ -1,43 +0,0 @@ -[wrap-file] -directory = ffmpeg-7.1.1 -#directory = ffmpeg-7.1 -#directory = ffmpeg-5.1.6 -#directory = ffmpeg-7.0.2 -#directory = ffmpeg-7.0.1 -#directory = ffmpeg-7.0 -#directory = ffmpeg-6.1.1 -#directory = ffmpeg-5.1.4 -#directory = ffmpeg-4.4.5 - -source_url = https://ffmpeg.org/releases/ffmpeg-7.1.1.tar.gz -#source_url = https://ffmpeg.org/releases/ffmpeg-7.1.tar.gz -#source_url = https://www.ffmpeg.org/releases/ffmpeg-5.1.6.tar.gz -#source_url = https://ffmpeg.org/releases/ffmpeg-7.0.2.tar.gz -#source_url = https://ffmpeg.org/releases/ffmpeg-7.0.1.tar.gz -#source_url = https://www.ffmpeg.org/releases/ffmpeg-7.0.tar.gz -#source_url = https://www.ffmpeg.org/releases/ffmpeg-6.1.1.tar.gz -#source_url = https://www.ffmpeg.org/releases/ffmpeg-5.1.4.tar.gz -#source_url = https://www.ffmpeg.org/releases/ffmpeg-4.4.5.tar.gz - -source_filename = ffmpeg-7.1.1.tar.gz -#source_filename = ffmpeg-7.1.tar.gz -#source_filename = ffmpeg-5.1.6.tar.gz -#source_filename = ffmpeg-7.0.2.tar.gz -#source_filename = ffmpeg-7.0.1.tar.gz -#source_filename = ffmpeg-7.0.tar.gz -#source_filename = ffmpeg-6.1.1.tar.gz -#source_filename = ffmpeg-5.1.4.tar.gz -#source_filename = ffmpeg-4.4.5.tar.gz - -source_hash = 9a6e57a446b671012612aaeb9df5126794d5ac8f2015ca220934f99a6a4e0601 -#source_hash = 42a7dc0d1583885d1b8f6559fa7ce28f97acafea6803de6a8f73e3ba229348bd -#source_hash = 2a963f9f627dc55cac7ce4d2bb2e063ce52c8ab57185d2b592a631c36be56fda -#source_hash = 1233b3a93dd7517cc3c56b72a67f64041c044848d981e3deff4bebffa25f1054 -#source_hash = e273eae00b4f833595654c1ee2b2349240e0332f9dbf3c4cadd39df9819ff052 -#source_hash = 943a2a28044947c17a905c39075494b0da46ec0795224c2c61eff986518321eb -#source_hash = b0aee531e4a91fed6bc031445dfc3ad8eb36de1fcb0fa2acdb589ecc9f8dc9cb -#source_hash = ad1d83e0f022ba405928ea4985c9cab978c4698bb7937738a1085808c3eb78b4 -#source_hash = 77e0eedd8ebeafde5807011e700fdea82b306b9f76fe469b4abc5dfefd9579bd - -patch_directory = ffmpeg -diff_files = ffmpeg/msvc_build_conform.diff diff --git a/subprojects/ffmpeg2.wrap b/subprojects/ffmpeg2.wrap new file mode 100644 index 0000000..753e7de --- /dev/null +++ b/subprojects/ffmpeg2.wrap @@ -0,0 +1,8 @@ +[wrap-file] +directory = ffmpeg-2.8.22 +source_url = https://ffmpeg.org/releases/ffmpeg-2.8.22.tar.gz +source_filename = ffmpeg-2.8.22.tar.gz +source_hash = d1adc01d275cc15978afc78cc6e2c98a07a8dd6ba96b6217aeb9a1a26d89d213 + +patch_directory = ffmpeg +diff_files = ffmpeg/version_2.8.22.diff, ffmpeg/msvc_build_conform.diff, ffmpeg/ffmpeg.git-effadce6c756247ea8bae32dc13bb3e6f464f0eb.patch diff --git a/subprojects/ffmpeg3.wrap b/subprojects/ffmpeg3.wrap new file mode 100644 index 0000000..71d9908 --- /dev/null +++ b/subprojects/ffmpeg3.wrap @@ -0,0 +1,13 @@ +[wrap-file] +directory = ffmpeg-3.4.14 +#directory = ffmpeg-3.3.9 +source_url = https://ffmpeg.org/releases/ffmpeg-3.4.14.tar.gz +#source_url = https://ffmpeg.org/releases/ffmpeg-3.3.9.tar.gz +source_filename = ffmpeg-3.4.14.tar.gz +#source_filename = ffmpeg-3.3.9.tar.gz +source_hash = 61e255e824341e62fbc83365d84eb754fa558f53985d28ad610d13aeee895d5a +#source_hash = f79ef311f55303dbc692014d609ec44a609adcea6ded5f5507b6e220068521a3 + +patch_directory = ffmpeg +diff_files = ffmpeg/version_3.4.14.diff, ffmpeg/msvc_build_conform.diff, ffmpeg/ffmpeg.git-effadce6c756247ea8bae32dc13bb3e6f464f0eb.patch +#diff_files = ffmpeg/version_3.3.9.diff, ffmpeg/msvc_build_conform.diff, ffmpeg/ffmpeg.git-effadce6c756247ea8bae32dc13bb3e6f464f0eb.patch diff --git a/subprojects/ffmpeg4.wrap b/subprojects/ffmpeg4.wrap new file mode 100644 index 0000000..a9c4dc7 --- /dev/null +++ b/subprojects/ffmpeg4.wrap @@ -0,0 +1,8 @@ +[wrap-file] +directory = ffmpeg-4.2.11 +source_url = https://ffmpeg.org/releases/ffmpeg-4.2.11.tar.gz +source_filename = ffmpeg-4.2.11.tar.gz +source_hash = 93ad3689249984016c04cb0a0e02e5e22077a4d0204ca26bb604b0b7f0418eeb + +patch_directory = ffmpeg +diff_files = ffmpeg/version_4.2.11.diff, ffmpeg/msvc_build_conform.diff diff --git a/subprojects/ffmpeg5.wrap b/subprojects/ffmpeg5.wrap new file mode 100644 index 0000000..6ae62ca --- /dev/null +++ b/subprojects/ffmpeg5.wrap @@ -0,0 +1,8 @@ +[wrap-file] +directory = ffmpeg-5.1.7 +source_url = https://ffmpeg.org/releases/ffmpeg-5.1.7.tar.gz +source_filename = ffmpeg-5.1.7.tar.gz +source_hash = 75f25adaac2fe64f5c078b1ec3c89863353eb07f6e6a9e38898d79d2fc9527c8 + +patch_directory = ffmpeg +diff_files = ffmpeg/version_5.1.7.diff, ffmpeg/msvc_build_conform.diff diff --git a/subprojects/ffmpeg6.wrap b/subprojects/ffmpeg6.wrap new file mode 100644 index 0000000..9c76e9c --- /dev/null +++ b/subprojects/ffmpeg6.wrap @@ -0,0 +1,8 @@ +[wrap-file] +directory = ffmpeg-6.1.3 +source_url = https://ffmpeg.org/releases/ffmpeg-6.1.3.tar.gz +source_filename = ffmpeg-6.1.3.tar.gz +source_hash = 3be466dfd1a312d752c20ece5b413248a5808fba3c967da0624bac48a4380857 + +patch_directory = ffmpeg +diff_files = ffmpeg/version_6.1.3.diff, ffmpeg/msvc_build_conform.diff diff --git a/subprojects/ffmpeg7.wrap b/subprojects/ffmpeg7.wrap new file mode 100644 index 0000000..8187b07 --- /dev/null +++ b/subprojects/ffmpeg7.wrap @@ -0,0 +1,8 @@ +[wrap-file] +directory = ffmpeg-7.1.1 +source_url = https://ffmpeg.org/releases/ffmpeg-7.1.1.tar.gz +source_filename = ffmpeg-7.1.1.tar.gz +source_hash = 9a6e57a446b671012612aaeb9df5126794d5ac8f2015ca220934f99a6a4e0601 + +patch_directory = ffmpeg +diff_files = ffmpeg/version_7.1.1.diff, ffmpeg/msvc_build_conform.diff diff --git a/subprojects/ffmpeg8.wrap b/subprojects/ffmpeg8.wrap new file mode 100644 index 0000000..64d4d47 --- /dev/null +++ b/subprojects/ffmpeg8.wrap @@ -0,0 +1,8 @@ +[wrap-file] +directory = ffmpeg-8.0 +source_url = https://ffmpeg.org/releases/ffmpeg-8.0.tar.gz +source_filename = ffmpeg-8.0.tar.gz +source_hash = cce1136d38c389e6baaa452d6babc384cb2d3a9406ebe48c36a48f3ee115d8df + +patch_directory = ffmpeg +diff_files = ffmpeg/version_8.0.diff diff --git a/subprojects/fontconfig.wrap b/subprojects/fontconfig.wrap index 16ea256..c6a95ed 100644 --- a/subprojects/fontconfig.wrap +++ b/subprojects/fontconfig.wrap @@ -1,7 +1,7 @@ [wrap-git] -directory = fontconfig-2.16.2 +directory = fontconfig-2.17.1 url = https://gitlab.freedesktop.org/fontconfig/fontconfig.git -revision = 2.16.2 +revision = 2.17.1 depth = 1 [provide] diff --git a/subprojects/harfbuzz.wrap b/subprojects/harfbuzz.wrap index 59a132d..c53702e 100644 --- a/subprojects/harfbuzz.wrap +++ b/subprojects/harfbuzz.wrap @@ -1,5 +1,5 @@ [wrap-git] -directory = harfbuzz-11.2.1 +directory = harfbuzz-11.4.1 url = https://github.com/harfbuzz/harfbuzz.git -revision = 11.2.1 +revision = 11.4.1 depth = 1 diff --git a/subprojects/libalabaster.wrap b/subprojects/libalabaster.wrap index 5457b48..8f26eb0 100644 --- a/subprojects/libalabaster.wrap +++ b/subprojects/libalabaster.wrap @@ -1,4 +1,6 @@ [wrap-git] +directory = libalabaster-ed6fc17 url = https://git.akon.city/libalabaster.git -revision = 492f4a38f7b7f32727ab678f333eff840d968d74 +push-url = git@git.akon.city:libalabaster.git +revision = ed6fc176a1ef6afd43eaa198c43eb813c3a81d99 depth = 1 diff --git a/subprojects/libnaunet.wrap b/subprojects/libnaunet.wrap index 57a13ac..e4f9e1d 100644 --- a/subprojects/libnaunet.wrap +++ b/subprojects/libnaunet.wrap @@ -1,4 +1,6 @@ [wrap-git] +directory = libnaunet-4aea807 url = https://git.akon.city/libnaunet.git -revision = ab75884371a3545f7548498549e2faebbc465ed6 +push-url = git@git.akon.city:libnaunet.git +revision = 4aea807a167a894fd264718efc8c9fa8bced7dcb depth = 1 diff --git a/subprojects/libplacebo.wrap b/subprojects/libplacebo.wrap index 33e3323..9e0e839 100644 --- a/subprojects/libplacebo.wrap +++ b/subprojects/libplacebo.wrap @@ -1,11 +1,11 @@ [wrap-git] -directory = libplacebo-4ff55e0 +directory = libplacebo-a0fd4f3 url = https://code.videolan.org/videolan/libplacebo.git -revision = 4ff55e04264e8c650b9de097d91f17bcd820fb31 +revision = a0fd4f3dbee547edcd777e81a424ce366751d27b clone-recursive = true depth = 1 -diff_files = libplacebo/cache_ref_rect.diff, libplacebo/fix_rotate.diff, libplacebo/dependency_version_override.diff, libplacebo/compiler_warnings.diff, libplacebo/glClientWaitSync_0_return.diff, libplacebo/info_priv_hash.diff, libplacebo/d3d11_scaling_none.diff +diff_files = libplacebo/cache_ref_rect.diff, libplacebo/fix_rotate.diff, libplacebo/dependency_version_override.diff, libplacebo/glClientWaitSync_0_return.diff, libplacebo/info_priv_hash.diff, libplacebo/d3d11_scaling_none.diff [provide] dependency_names = libplacebo diff --git a/subprojects/miniaudio.wrap b/subprojects/miniaudio.wrap index dc57800..7a4073d 100644 --- a/subprojects/miniaudio.wrap +++ b/subprojects/miniaudio.wrap @@ -1,7 +1,7 @@ [wrap-git] -directory = miniaudio-e543369 +directory = miniaudio-78cdb9c url = https://github.com/mackron/miniaudio.git -revision = e54336996d3f57f2d47f80013049fd7559031778 +revision = 78cdb9c1cb1de054cf9c9b6202387eb2921158be depth = 1 patch_directory = miniaudio diff_files = miniaudio/miniaudio_pulse_flush.diff, miniaudio/miniaudio_wasapi_drain_tweak.diff diff --git a/subprojects/notcurses.wrap b/subprojects/notcurses.wrap index bc58274..4c481f9 100644 --- a/subprojects/notcurses.wrap +++ b/subprojects/notcurses.wrap @@ -1,7 +1,7 @@ [wrap-git] -directory = notcurses-93a4890 +directory = notcurses-e6aeee5 url = https://github.com/dankamongmen/notcurses.git -revision = 93a4890f4c2b491cda62fea5110995c6a25691e2 +revision = e6aeee519c90ad1be4397c63c995541af3d42c5f depth = 1 method = cmake 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('.')) diff --git a/subprojects/shaderc.wrap b/subprojects/shaderc.wrap index 5be87c2..e64974a 100644 --- a/subprojects/shaderc.wrap +++ b/subprojects/shaderc.wrap @@ -1,7 +1,7 @@ [wrap-git] -directory = shaderc-v2025.2 +directory = shaderc-v2025.3 url = https://github.com/google/shaderc.git -revision = v2025.2 +revision = v2025.3 depth = 1 method = cmake patch_directory = shaderc diff --git a/subprojects/stela.wrap b/subprojects/stela.wrap index e193667..e90a60e 100644 --- a/subprojects/stela.wrap +++ b/subprojects/stela.wrap @@ -1,4 +1,6 @@ [wrap-git] +directory = stela-133eca8 url = https://git.akon.city/stela.git -revision = a4be897cf71e2e6d4a98c0be612da7e01e3273f5 +push-url = git@git.akon.city:stela.git +revision = 133eca8c1fc95c5b0d093ce7b7331aac42feac5d depth = 1 |