From 4c23248abeaf1a2f9e0237c61fa04cad1097e583 Mon Sep 17 00:00:00 2001 From: aptalca <541623+aptalca@users.noreply.github.com> Date: Wed, 10 Apr 2024 22:25:44 -0400 Subject: [PATCH] compile libharfbuzz, strip various libs, fix typo in libfribi --- Dockerfile | 45 +++++++++++++++++++++++++++++++++----------- Dockerfile.aarch64 | 47 +++++++++++++++++++++++++++++++++++----------- readme-vars.yml | 2 +- 3 files changed, 71 insertions(+), 23 deletions(-) diff --git a/Dockerfile b/Dockerfile index 540214d..ee370ba 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,6 +20,7 @@ ENV \ FREETYPE=2.13.2 \ FRIBIDI=1.0.13 \ GMMLIB=22.3.15 \ + HARFBUZZ=8.4.0 \ IHD=23.4.3 \ KVAZAAR=2.2.0 \ LAME=3.100 \ @@ -69,10 +70,11 @@ RUN \ gperf \ i965-va-driver-shaders \ libasound2-dev \ + libcairo2-dev \ libexpat1-dev \ libgcc-10-dev \ + libglib2.0-dev \ libgomp1 \ - libharfbuzz-dev \ libpciaccess-dev \ libssl-dev \ libtool \ @@ -149,7 +151,8 @@ RUN \ --disable-static \ --enable-shared && \ make && \ - make install + make install && \ + strip -d /usr/local/lib/libfdk-aac.so RUN \ echo "**** grabbing ffnvcodec ****" && \ mkdir -p /tmp/ffnvcodec && \ @@ -174,7 +177,8 @@ RUN \ --disable-static \ --enable-shared && \ make && \ - make install + make install && \ + strip -d /usr/local/lib/libfreetype.so RUN \ echo "**** grabbing fontconfig ****" && \ mkdir -p /tmp/fontconfig && \ @@ -188,7 +192,8 @@ RUN \ --disable-static \ --enable-shared && \ make && \ - make install + make install && \ + strip -d /usr/local/lib/libfontconfig.so RUN \ echo "**** grabbing fribidi ****" && \ mkdir -p /tmp/fribidi && \ @@ -203,7 +208,20 @@ RUN \ --disable-static \ --enable-shared && \ make -j 1 && \ - make install + make install && \ + strip -d /usr/local/lib/libfribidi.so +RUN \ + echo "**** grabbing harfbuzz ****" && \ + mkdir -p /tmp/harfbuzz && \ + curl -Lf \ + https://github.com/harfbuzz/harfbuzz/archive/${HARFBUZZ}.tar.gz | \ + tar -zx --strip-components=1 -C /tmp/harfbuzz +RUN \ + echo "**** compiling harfbuzz ****" && \ + cd /tmp/harfbuzz && \ + meson build && \ + ninja -C build install && \ + strip -d /usr/local/lib/x86_64-linux-gnu/libharfbuzz*.so RUN \ echo "**** grabbing kvazaar ****" && \ mkdir -p /tmp/kvazaar && \ @@ -218,7 +236,8 @@ RUN \ --disable-static \ --enable-shared && \ make && \ - make install + make install && \ + strip -d /usr/local/lib/libkvazaar.so RUN \ echo "**** grabbing lame ****" && \ mkdir -p /tmp/lame && \ @@ -255,7 +274,8 @@ RUN \ --disable-static \ --enable-shared && \ make && \ - make install + make install && \ + strip -d /usr/local/lib/libass.so RUN \ echo "**** grabbing libdrm ****" && \ mkdir -p /tmp/libdrm && \ @@ -453,7 +473,8 @@ RUN \ --disable-static \ --enable-shared && \ make && \ - make install + make install && \ + strip -d /usr/local/lib/libopencore-amr*.so RUN \ echo "**** grabbing openjpeg ****" && \ mkdir -p /tmp/openjpeg && \ @@ -487,7 +508,8 @@ RUN \ --disable-static \ --enable-shared && \ make && \ - make install + make install && \ + strip -d /usr/local/lib/libopus.so RUN \ echo "**** grabbing rav1e ****" && \ mkdir -p /tmp/rav1e && \ @@ -670,7 +692,8 @@ RUN \ cd /tmp/webp && \ ./configure && \ make && \ - make install + make install && \ + strip -d /usr/local/lib/libweb*.so RUN \ echo "**** grabbing x264 ****" && \ mkdir -p /tmp/x264 && \ @@ -751,13 +774,13 @@ RUN \ --enable-alsa \ --enable-cuvid \ --enable-ffprobe \ - --enable-fribidi \ --enable-gpl \ --enable-libaom \ --enable-libass \ --enable-libfdk_aac \ --enable-libfontconfig \ --enable-libfreetype \ + --enable-libfribidi \ --enable-libharfbuzz \ --enable-libkvazaar \ --enable-libmp3lame \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index aded2f9..836be11 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -19,6 +19,7 @@ ENV \ FONTCONFIG=2.15.0 \ FREETYPE=2.13.2 \ FRIBIDI=1.0.13 \ + HARFBUZZ=8.4.0 \ KVAZAAR=2.2.0 \ LAME=3.100 \ LIBASS=0.17.1 \ @@ -56,8 +57,10 @@ RUN \ git \ gperf \ libasound2-dev \ + libcairo2-dev \ libexpat1-dev \ libgcc-10-dev \ + libglib2.0-dev \ libgomp1 \ libharfbuzz-dev \ libpciaccess-dev \ @@ -69,6 +72,7 @@ RUN \ libxml2-dev \ make \ nasm \ + ninja-build \ perl \ pkg-config \ python3-venv \ @@ -89,7 +93,7 @@ RUN \ pip \ setuptools \ wheel && \ - pip install --no-cache-dir cmake + pip install --no-cache-dir cmake meson # compile 3rd party libs RUN \ @@ -126,7 +130,8 @@ RUN \ --disable-static \ --enable-shared && \ make && \ - make install + make install && \ + strip -d /usr/local/lib/libfdk-aac.so RUN \ echo "**** grabbing freetype ****" && \ mkdir -p /tmp/freetype && \ @@ -140,7 +145,8 @@ RUN \ --disable-static \ --enable-shared && \ make && \ - make install + make install && \ + strip -d /usr/local/lib/libfreetype.so RUN \ echo "**** grabbing fontconfig ****" && \ mkdir -p /tmp/fontconfig && \ @@ -154,7 +160,8 @@ RUN \ --disable-static \ --enable-shared && \ make && \ - make install + make install && \ + strip -d /usr/local/lib/libfontconfig.so RUN \ echo "**** grabbing fribidi ****" && \ mkdir -p /tmp/fribidi && \ @@ -169,7 +176,20 @@ RUN \ --disable-static \ --enable-shared && \ make -j 1 && \ - make install + make install && \ + strip -d /usr/local/lib/libfribidi.so +RUN \ + echo "**** grabbing harfbuzz ****" && \ + mkdir -p /tmp/harfbuzz && \ + curl -Lf \ + https://github.com/harfbuzz/harfbuzz/archive/${HARFBUZZ}.tar.gz | \ + tar -zx --strip-components=1 -C /tmp/harfbuzz +RUN \ + echo "**** compiling harfbuzz ****" && \ + cd /tmp/harfbuzz && \ + meson build && \ + ninja -C build install && \ + strip -d /usr/local/lib/libharfbuzz*.so RUN \ echo "**** grabbing kvazaar ****" && \ mkdir -p /tmp/kvazaar && \ @@ -184,7 +204,8 @@ RUN \ --disable-static \ --enable-shared && \ make && \ - make install + make install && \ + strip -d /usr/local/lib/libkvazaar.so RUN \ echo "**** grabbing lame ****" && \ mkdir -p /tmp/lame && \ @@ -221,7 +242,8 @@ RUN \ --disable-static \ --enable-shared && \ make && \ - make install + make install && \ + strip -d /usr/local/lib/libass.so RUN \ echo "**** grabbing ogg ****" && \ mkdir -p /tmp/ogg && \ @@ -249,7 +271,8 @@ RUN \ --disable-static \ --enable-shared && \ make && \ - make install + make install && \ + strip -d /usr/local/lib/libopencore-amr*.so RUN \ echo "**** grabbing openjpeg ****" && \ mkdir -p /tmp/openjpeg && \ @@ -283,7 +306,8 @@ RUN \ --disable-static \ --enable-shared && \ make && \ - make install + make install && \ + strip -d /usr/local/lib/libopus.so RUN \ echo "**** grabbing rav1e ****" && \ mkdir -p /tmp/rav1e && \ @@ -394,7 +418,8 @@ RUN \ cd /tmp/webp && \ ./configure && \ make && \ - make install + make install && \ + strip -d /usr/local/lib/libweb*.so RUN \ echo "**** grabbing x264 ****" && \ mkdir -p /tmp/x264 && \ @@ -476,13 +501,13 @@ RUN \ --disable-ffplay \ --enable-alsa \ --enable-ffprobe \ - --enable-fribidi \ --enable-gpl \ --enable-libaom \ --enable-libass \ --enable-libfdk_aac \ --enable-libfontconfig \ --enable-libfreetype \ + --enable-libfribidi \ --enable-libharfbuzz \ --enable-libkvazaar \ --enable-libmp3lame \ diff --git a/readme-vars.yml b/readme-vars.yml index e3fe65a..7be0663 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -177,7 +177,7 @@ full_custom_readme: | ## Versions - * **10.04.24:** - Compile ffmpeg with `fribidi`, `libharfbuzz` and `libfontconfig`. + * **10.04.24:** - Compile ffmpeg with `libfribidi`, `libharfbuzz` and `libfontconfig`, compile libharfbuzz. * **05.04.24:** - Bump ffmpeg to 7.0, bump libdovi, libva, mesa and vulkan-sdk. * **16.03.24:** - Bump libaom, mesa, openjpeg, opus, shaderc and svtav1. * **11.02.24:** - Add Zimg support.