Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 22 additions & 9 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# bump: alpine /ALPINE_VERSION=alpine:([\d.]+)/ docker:alpine|^3
# bump: alpine link "Release notes" https://alpinelinux.org/posts/Alpine-$LATEST-released.html
ARG ALPINE_VERSION=alpine:3.20.3
ARG ALPINE_VERSION=alpine:3.23.2
FROM $ALPINE_VERSION AS builder

# Alpine Package Keeper options
Expand Down Expand Up @@ -41,7 +41,7 @@ RUN apk add --no-cache $APK_OPTS \
tcl \
numactl-dev \
cunit cunit-dev \
fftw-dev \
fftw-dev fftw-static \
libsamplerate-dev libsamplerate-static \
vo-amrwbenc-dev vo-amrwbenc-static \
snappy snappy-dev snappy-static \
Expand Down Expand Up @@ -536,7 +536,7 @@ RUN \
echo "$RAV1E_SHA256 rav1e.tar.gz" | sha256sum -c - && \
tar $TAR_OPTS rav1e.tar.gz && cd rav1e-* && \
RUSTFLAGS="-C target-feature=+crt-static" \
cargo cinstall --release
cargo cinstall --library-type staticlib --release

# bump: librtmp /LIBRTMP_COMMIT=([[:xdigit:]]+)/ gitrefs:https://git.ffmpeg.org/rtmpdump.git|re:#^refs/heads/master$#|@commit
# bump: librtmp after ./hashupdate Dockerfile LIBRTMP $LATEST
Expand Down Expand Up @@ -575,8 +575,10 @@ ARG LIBSHINE_URL="https://github.com/toots/shine/releases/download/$LIBSHINE_VER
ARG LIBSHINE_SHA256=58e61e70128cf73f88635db495bfc17f0dde3ce9c9ac070d505a0cd75b93d384
RUN \
wget $WGET_OPTS -O libshine.tar.gz "$LIBSHINE_URL" && \
# https://github.com/toots/shine/commit/098b9aaa6770a41bdf3f9c049307c1398f04d2d3
echo "$LIBSHINE_SHA256 libshine.tar.gz" | sha256sum -c - && \
tar $TAR_OPTS libshine.tar.gz && cd shine* && \
sed -i 's/shine_mdct_initialise()/shine_mdct_initialise(shine_global_config *config)/' src/lib/l3mdct.h && \
./configure \
--with-pic \
--enable-static \
Expand Down Expand Up @@ -612,7 +614,7 @@ RUN \
echo "$SRT_SHA256 libsrt.tar.gz" | sha256sum -c - && \
tar $TAR_OPTS libsrt.tar.gz && cd srt-* && \
mkdir build && cd build && \
cmake \
cmake3.5 \
-G"Unix Makefiles" \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_BUILD_TYPE=Release \
Expand Down Expand Up @@ -754,7 +756,7 @@ RUN \
git clone "$UAVS3D_URL" && cd uavs3d && \
git checkout --recurse-submodules $UAVS3D_COMMIT && \
mkdir build/linux && cd build/linux && \
cmake \
cmake3.5 \
-G"Unix Makefiles" \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_BUILD_TYPE=Release \
Expand All @@ -776,7 +778,7 @@ RUN \
# This line workarounds the issue that happens when the image builds in emulated (buildx) arm64 environment.
# Since in emulated container the /proc is mounted from the host, the cmake not able to detect CPU features correctly.
sed -i 's/include (FindSSE)/if(CMAKE_SYSTEM_ARCH MATCHES "amd64")\ninclude (FindSSE)\nendif()/' ../CMakeLists.txt && \
cmake \
cmake3.5 \
-G"Unix Makefiles" \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_SYSTEM_ARCH=$(arch) \
Expand Down Expand Up @@ -881,6 +883,11 @@ RUN \
tar $TAR_OPTS x265_git.tar.bz2 && cd x265_*/build/linux && \
sed -i '/^cmake / s/$/ -G "Unix Makefiles" ${CMAKEFLAGS}/' ./multilib.sh && \
sed -i 's/ -DENABLE_SHARED=OFF//g' ./multilib.sh && \
# https://bitbucket.org/multicoreware/x265_git/commits/b354c009a60bcd6d7fc04014e200a1ee9c45c167
sed -i 's/cmake_policy(SET CMP0025 OLD)/cmake_policy(SET CMP0025 NEW)/g' ../../source/CMakeLists.txt && \
sed -i 's/cmake_policy(SET CMP0054 OLD)/cmake_policy(SET CMP0054 NEW)/g' ../../source/CMakeLists.txt && \
# https://bitbucket.org/multicoreware/x265_git/issues/1008/build-fails-with-cmake-4
sed -i 's/cmake/cmake3.5/g' ./multilib.sh && \
MAKEFLAGS="-j$(nproc)" \
CMAKEFLAGS="-DENABLE_SHARED=OFF -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_AGGRESSIVE_CHECKS=ON -DENABLE_NASM=ON -DCMAKE_BUILD_TYPE=Release" \
./multilib.sh && \
Expand All @@ -898,6 +905,8 @@ RUN \
wget $WGET_OPTS -O xavs2.tar.gz "$XAVS2_URL" && \
echo "$XAVS2_SHA256 xavs2.tar.gz" | sha256sum -c - && \
tar $TAR_OPTS xavs2.tar.gz && cd xavs2-*/build/linux && \
# new gcc not happy with some of the code
CFLAGS="-Wno-incompatible-pointer-types -Wno-unused-function" \
./configure \
--disable-asm \
--enable-pic \
Expand All @@ -915,7 +924,8 @@ RUN \
wget $WGET_OPTS -O libxvid.tar.gz "$XVID_URL" && \
echo "$XVID_SHA256 libxvid.tar.gz" | sha256sum -c - && \
tar $TAR_OPTS libxvid.tar.gz && cd xvidcore/build/generic && \
CFLAGS="$CFLAGS -fstrength-reduce -ffast-math" ./configure && \
# gnu18 to fix issue type own bool typedef
CFLAGS="$CFLAGS -std=gnu18 -fstrength-reduce -ffast-math" ./configure && \
make -j$(nproc) && make install

# bump: xeve /XEVE_VERSION=([\d.]+)/ https://github.com/mpeg5/xeve.git|*
Expand Down Expand Up @@ -955,7 +965,10 @@ RUN \
echo "$XEVD_SHA256 xevd.tar.gz" | sha256sum -c - && \
tar $TAR_OPTS xevd.tar.gz && cd xevd-* && \
echo v$XEVD_VERSION > version.txt && \
# https://github.com/mpeg5/xevd/pull/58
sed -i 's/mc_filter_bilin/xevdm_mc_filter_bilin/' src_main/sse/xevdm_mc_sse.c && \
# https://github.com/mpeg5/xevd/pull/68
sed -i 's/_XEVD_DBK_NOEN_H_/_XEVD_DBK_NEON_H_/' src_base/neon/xevd_dbk_neon.h && \
mkdir build && cd build && \
cmake \
-G"Unix Makefiles" \
Expand Down Expand Up @@ -1151,7 +1164,7 @@ RUN \
--enable-libfreetype \
--enable-libfribidi \
--enable-libgme \
--enable-libgsm \
#--enable-libgsm \
--enable-libharfbuzz \
--enable-libjxl \
--enable-libkvazaar \
Expand All @@ -1164,7 +1177,7 @@ RUN \
--enable-libopus \
--enable-librabbitmq \
--enable-librav1e \
--enable-librsvg \
#--enable-librsvg \
--enable-librtmp \
--enable-librubberband \
--enable-libshine \
Expand Down