diff --git a/addins/cuframes.sh b/addins/cuframes.sh new file mode 100644 index 0000000..c5d79bc --- /dev/null +++ b/addins/cuframes.sh @@ -0,0 +1,13 @@ +#!/bin/bash +# Addin: cuframes — patched FFmpeg n7.1 с input демуксером cuframes:// +# плюс statically-linked libcuframes. +# +# Активация: ./build.sh linux64 gpl cuframes +# +# Переключает clone FFmpeg на наш fork с применённым patch'ем. + +FFMPEG_REPO_OVERRIDE="https://git.goldix.org/gx/ffmpeg-patched.git" +GIT_BRANCH_OVERRIDE="n7.1-cuframes" + +# Включает scripts.d/50-libcuframes.sh (он проверяет $FFBUILD_HAS_CUFRAMES) +export FFBUILD_HAS_CUFRAMES=1 diff --git a/images/base-linux64/Dockerfile b/images/base-linux64/Dockerfile index f8c39c7..d702f93 100644 --- a/images/base-linux64/Dockerfile +++ b/images/base-linux64/Dockerfile @@ -1,13 +1,17 @@ ARG GH_REPO=btbn/ffmpeg-builds FROM ghcr.io/$GH_REPO/base:latest +# Pre-fetched tarballs для обхода flaky upstream URLs (zlib.net deprecated /zlib-N.tar.gz). +# CT_LOCAL_TARBALLS_DIR=$HOME/src — там crosstool-NG ищет cache перед download. +COPY preload/*.tar.gz /root/src/ + RUN --mount=src=ct-ng-config,dst=/.config \ - git clone --filter=blob:none https://github.com/crosstool-ng/crosstool-ng.git /ct-ng && cd /ct-ng && \ + git clone --filter=blob:none https://github.com/crosstool-ng/crosstool-ng.git /ct-ng && cd /ct-ng && git checkout 185f348 && \ ./bootstrap && \ ./configure --enable-local && \ make -j$(nproc) && \ cp /.config .config && \ - ./ct-ng build && \ + ( ./ct-ng build || ( echo '=== build.log tail ==='; tail -100 /ct-ng/build.log 2>/dev/null || true; echo '=== config.log tail ==='; find /ct-ng/.build -name config.log -newer /tmp -exec sh -c 'echo "==== $1 ===="; tail -80 "$1"' _ {} \; 2>/dev/null; exit 1 ) ) && \ cd / && \ rm -rf ct-ng diff --git a/images/base-linux64/ct-ng-config b/images/base-linux64/ct-ng-config index 3fdade0..cb22ce0 100644 --- a/images/base-linux64/ct-ng-config +++ b/images/base-linux64/ct-ng-config @@ -722,9 +722,10 @@ CT_GMP_PATCH_GLOBAL=y # CT_GMP_PATCH_LOCAL_BUNDLED is not set # CT_GMP_PATCH_NONE is not set CT_GMP_PATCH_ORDER="global" -CT_GMP_V_6_2=y +CT_GMP_V_6_3=y +# CT_GMP_V_6_2 is not set # CT_GMP_V_6_1 is not set -CT_GMP_VERSION="6.2.1" +CT_GMP_VERSION="6.3.0" CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)" CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" diff --git a/images/base-linux64/preload/gmp-6.3.0.tar.xz b/images/base-linux64/preload/gmp-6.3.0.tar.xz new file mode 100644 index 0000000..eed1334 Binary files /dev/null and b/images/base-linux64/preload/gmp-6.3.0.tar.xz differ diff --git a/images/base-linux64/preload/zlib-1.2.12.tar.gz b/images/base-linux64/preload/zlib-1.2.12.tar.gz new file mode 100644 index 0000000..4eede14 Binary files /dev/null and b/images/base-linux64/preload/zlib-1.2.12.tar.gz differ