From 1d5139e21556e6b6e62d7d709ead2079c3ad5868 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= Date: Sat, 10 May 2025 00:41:57 +0200 Subject: [PATCH 1/3] ffmpeg: pin Meson to 1.7.2 for now Meson 1.8.0 introduces some build regressions: https://github.com/mesonbuild/meson/issues/14524 https://github.com/mesonbuild/meson/issues/14533 --- projects/ffmpeg/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/projects/ffmpeg/Dockerfile b/projects/ffmpeg/Dockerfile index ea4a43f1c992..55f4c2ca0f3a 100644 --- a/projects/ffmpeg/Dockerfile +++ b/projects/ffmpeg/Dockerfile @@ -20,7 +20,8 @@ RUN curl -LO https://mirrors.kernel.org/ubuntu/pool/main/a/automake-1.16/automak apt install ./automake_1.16.5-1.3_all.deb RUN curl -LO https://mirrors.kernel.org/ubuntu/pool/main/a/autoconf/autoconf_2.72-3_all.deb && \ apt install ./autoconf_2.72-3_all.deb -RUN python3 -m pip install --upgrade pip && python3 -m pip install -U meson ninja +# Meson is pinned to get around https://github.com/mesonbuild/meson/issues/14533 +RUN python3 -m pip install --upgrade pip && python3 -m pip install -U meson==1.7.2 ninja RUN git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg From e95a2b80f4728cb048f9a25e95564b4fed9c485a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= Date: Sat, 10 May 2025 10:49:30 +0200 Subject: [PATCH 2/3] ffmpeg: adjust build config of deps to avoid upstream bugs freetype added dynamic loading of harfbuzz, but it doesn't built, either way we won't use it, so just disable harfbuzz for freetype. And if you wander why we don't install harfbuzz first, it's because of cyclic dependency, harfbuzz depends on freetype and would built it's own copy of it as a subproject. While at it disable tests and tools in fontconfig build, not needed. --- projects/ffmpeg/build.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/ffmpeg/build.sh b/projects/ffmpeg/build.sh index 50c906894f4c..7773cd681622 100755 --- a/projects/ffmpeg/build.sh +++ b/projects/ffmpeg/build.sh @@ -85,10 +85,10 @@ make clean make -j$(nproc) make install -meson_install freetype +meson_install freetype "-Dharfbuzz=disabled" meson_install fribidi "-Ddocs=false -Dtests=false" meson_install harfbuzz "-Ddocs=disabled -Dtests=disabled" -meson_install fontconfig +meson_install fontconfig "-Dtests=disabled -Dtools=disabled" cd $SRC/libass ./autogen.sh From 4e53b22b06a56ff69e13408be82d59d6085b9867 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= Date: Sat, 10 May 2025 11:03:38 +0200 Subject: [PATCH 3/3] ffmpeg: disable any meson subproject fallback We build all needed libs, avoid unwated deps from possibly being pulled. --- projects/ffmpeg/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/ffmpeg/build.sh b/projects/ffmpeg/build.sh index 7773cd681622..13e50d6e715b 100755 --- a/projects/ffmpeg/build.sh +++ b/projects/ffmpeg/build.sh @@ -64,7 +64,7 @@ meson_install() { cd $SRC/$1 CFLAGS="$MESON_CFLAGS" CXXFLAGS="$MESON_CXXFLAGS" \ meson setup build -Dprefix="$FFMPEG_DEPS_PATH" -Ddefault_library=static -Dprefer_static=true \ - --libdir "$LIBDIR" ${2:-} + --wrap-mode=nofallback --libdir "$LIBDIR" ${2:-} meson compile -C build meson install -C build }