Add infrastructure for caching downloads in separate image

This commit is contained in:
BtbN 2023-06-18 16:44:57 +02:00
parent 78191a73a6
commit c3fec1bd50
109 changed files with 631 additions and 204 deletions

2
.gitignore vendored
View File

@ -1,4 +1,4 @@
/Dockerfile
/Dockerfile*
/ffbuild/
/artifacts/
/.cache/

View File

@ -3,13 +3,71 @@ set -e
cd "$(dirname "$0")"
source util/vars.sh
rm -f Dockerfile
rm -f Dockerfile Dockerfile.{dl,final,dl.final}
layername() {
printf "layer-"
basename "$1" | sed 's/.sh$//'
}
to_df() {
_of="${TODF:-Dockerfile}"
printf "$@" >> "$_of"
echo >> "$_of"
}
###
### Generate download Dockerfile
###
exec_dockerstage_dl() {
SCRIPT="$1"
(
SELF="$SCRIPT"
SELFLAYER="$(layername "$STAGE")"
source "$SCRIPT"
ffbuild_dockerstage_dl || exit $?
TODF="Dockerfile.dl.final" ffbuild_dockerlayer_dl || exit $?
)
}
export TODF="Dockerfile.dl"
to_df "FROM ${REGISTRY}/${REPO}/base:latest AS base"
to_df "ENV TARGET=$TARGET VARIANT=$VARIANT REPO=$REPO ADDINS_STR=$ADDINS_STR"
PREVLAYER="base"
for ID in $(ls -1d scripts.d/??-* | sed -s 's|^.*/\(..\).*|\1|' | sort -u); do
LAYER="layer-$ID"
for STAGE in scripts.d/$ID-*; do
if [[ -f "$STAGE" ]]; then
to_df "FROM $PREVLAYER AS $(layername "$STAGE")"
exec_dockerstage_dl "$STAGE"
else
for STAGE in "${STAGE}"/??-*; do
to_df "FROM $PREVLAYER AS $(layername "$STAGE")"
exec_dockerstage_dl "$STAGE"
done
fi
done
done
to_df "FROM base AS intermediate"
cat Dockerfile.dl.final >> "$TODF"
rm Dockerfile.dl.final
to_df "FROM base"
to_df "COPY --from=intermediate \$FFBUILD_DLDIR/. \$FFBUILD_DLDIR"
if [[ "$TARGET" == "dl" && "$VARIANT" == "only" ]]; then
exit 0
fi
###
### Generate main Dockerfile
###
exec_dockerstage() {
SCRIPT="$1"
(
@ -20,11 +78,7 @@ exec_dockerstage() {
)
}
to_df() {
_of="${TODF:-Dockerfile}"
printf "$@" >> "$_of"
echo >> "$_of"
}
export TODF="Dockerfile"
to_df "FROM ${REGISTRY}/${REPO}/base-${TARGET}:latest AS base"
to_df "ENV TARGET=$TARGET VARIANT=$VARIANT REPO=$REPO ADDINS_STR=$ADDINS_STR"

View File

@ -1,7 +1,10 @@
FROM ubuntu:23.04
ENV FFBUILD_DLDIR="/opt/ffdl"
ENV DEBIAN_FRONTEND noninteractive
RUN \
mkdir -p "$FFBUILD_DLDIR" && \
apt-get -y update && \
apt-get -y dist-upgrade && \
apt-get -y install build-essential yasm nasm \

View File

@ -11,5 +11,12 @@ export RAW_LDFLAGS="$LDFLAGS"
mkdir -p /stage
source "$1"
cd /stage
ffbuild_dockerbuild
if [[ -n "$3" ]]; then
cd "$3"
fi
if [[ -z "$2" ]]; then
ffbuild_dockerbuild
else
"$2"
fi
rm -rf /stage "$FFBUILD_PREFIX"/bin

View File

@ -18,13 +18,14 @@ docker buildx inspect ffbuilder &>/dev/null || docker buildx create \
--driver-opt env.BUILDKIT_STEP_LOG_MAX_SIZE=-1 \
--driver-opt env.BUILDKIT_STEP_LOG_MAX_SPEED=-1
if [[ -z "$QUICKBUILD" ]]; then
docker container inspect ffbuildreg &>/dev/null || \
docker run --rm -d -p 127.0.0.1:0:5000 --name ffbuildreg registry:2
LOCAL_REG_PORT="$(docker container inspect --format='{{range $p, $conf := .NetworkSettings.Ports}}{{(index $conf 0).HostPort}}{{end}}' ffbuildreg)"
LOCAL_ROOT="127.0.0.1:${LOCAL_REG_PORT}/local"
trap "rm -f '$TMPCFG'; docker container stop ffbuildreg" EXIT
docker container inspect ffbuildreg &>/dev/null || \
docker run --rm -d -p 127.0.0.1:64647:5000 --name ffbuildreg registry:2
LOCAL_REG_PORT="$(docker container inspect --format='{{range $p, $conf := .NetworkSettings.Ports}}{{(index $conf 0).HostPort}}{{end}}' ffbuildreg)"
LOCAL_ROOT="127.0.0.1:${LOCAL_REG_PORT}/local"
export REGISTRY_OVERRIDE_DL="127.0.0.1:${LOCAL_REG_PORT}" GITHUB_REPOSITORY_DL="local"
if [[ -z "$QUICKBUILD" ]]; then
if grep "FROM.*base.*" "images/base-${TARGET}/Dockerfile" >/dev/null 2>&1; then
docker buildx --builder ffbuilder build \
--cache-from=type=local,src=.cache/"${BASE_IMAGE/:/_}" \
@ -38,14 +39,20 @@ if [[ -z "$QUICKBUILD" ]]; then
--push --tag "${LOCAL_ROOT}/base-${TARGET}:latest" \
--build-arg GH_REPO="$LOCAL_ROOT" "images/base-${TARGET}"
export REGISTRY_OVERRIDE="127.0.0.1:${LOCAL_REG_PORT}" GITHUB_REPOSITORY="local"
export REGISTRY_OVERRIDE="$REGISTRY_OVERRIDE_DL" GITHUB_REPOSITORY="$GITHUB_REPOSITORY_DL"
fi
./generate.sh "$TARGET" "$VARIANT" "${ADDINS[@]}"
docker buildx --builder ffbuilder build -f Dockerfile.dl \
--cache-from=type=local,src=.cache/"${DL_IMAGE/:/_}" \
--cache-to=type=local,mode=max,dest=.cache/"${DL_IMAGE/:/_}" \
--push --tag "${LOCAL_ROOT}/dl_cache:latest" .
docker buildx --builder ffbuilder build \
--cache-from=type=local,src=.cache/"${IMAGE/:/_}" \
--cache-to=type=local,mode=max,dest=.cache/"${IMAGE/:/_}" \
--load --tag "$IMAGE" .
docker container stop ffbuildreg
docker buildx rm -f ffbuilder

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" mingw-std-threads
cd mingw-std-threads
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/mingw-std-threads
mkdir -p "$FFBUILD_PREFIX"/include
cp *.h "$FFBUILD_PREFIX"/include

View File

@ -17,10 +17,14 @@ ffbuild_dockerfinal() {
to_df "COPY --from=${PREVLAYER} /opt/mingw/. /"
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
retry-tool sh -c "rm -rf mingw && git clone '$SCRIPT_REPO' mingw"
cd mingw
git checkout "$SCRIPT_COMMIT"
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/mingw"
cd mingw-w64-headers

View File

@ -13,9 +13,12 @@ ffbuild_dockerlayer() {
to_df "COPY --from=${SELFLAYER} \$FFBUILD_PREFIX/share/aclocal/. /usr/share/aclocal"
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" xorg-macros
cd xorg-macros
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/xorg-macros
autoreconf -i
./configure --prefix="$FFBUILD_PREFIX"

View File

@ -7,10 +7,15 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
retry-tool sh -c "rm -rf iconv && git clone '$SCRIPT_REPO' iconv"
cd iconv
git checkout "$SCRIPT_COMMIT"
retry-tool ./autopull.sh --one-time
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/iconv
retry-tool ./autopull.sh --one-time
(unset CC CFLAGS GMAKE && ./autogen.sh)

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxml2
cd libxml2
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libxml2
local myconf=(
--prefix="$FFBUILD_PREFIX"

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" zlib
cd zlib
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/zlib
local myconf=(
--prefix="$FFBUILD_PREFIX"

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" fftw3
cd fftw3
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/fftw3
local myconf=(
--prefix="$FFBUILD_PREFIX"

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" freetype
cd freetype
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/freetype
./autogen.sh

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" fribidi
cd fribidi
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/fribidi
mkdir build && cd build

View File

@ -8,10 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
retry-tool check-wget "gmp.tar.xz" "$SCRIPT_URL" "$SCRIPT_SHA512"
}
tar xaf "gmp.tar.xz"
ffbuild_dockerbuild() {
tar xaf "$FFBUILD_DLDIR"/gmp.tar.xz
cd "gmp-$SCRIPT_VERSION"
local myconf=(

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" ogg
cd ogg
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/ogg
./autogen.sh

View File

@ -8,10 +8,14 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" openssl
cd openssl
git submodule update --init --recursive --depth=1
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/openssl
local myconf=(
threads

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" xz
cd xz
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/xz
./autogen.sh --no-po4a

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" fc
cd fc
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/fc
./autogen.sh --noconf

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" harfbuzz
cd harfbuzz
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/harfbuzz
local myconf=(
--prefix="$FFBUILD_PREFIX"

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libsr
cd libsr
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libsr
mkdir build
cd build

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libudfread
cd libudfread
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libudfread
./bootstrap

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" vorbis
cd vorbis
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/vorbis
./autogen.sh

View File

@ -10,16 +10,19 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
mkdir opencl && cd opencl
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" headers
git-mini-clone "$SCRIPT_REPO2" "$SCRIPT_COMMIT2" loader
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/opencl
mkdir -p "$FFBUILD_PREFIX"/include/CL
cp -r headers/CL/* "$FFBUILD_PREFIX"/include/CL/.
git-mini-clone "$SCRIPT_REPO2" "$SCRIPT_COMMIT2" loader
cd loader
mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" \

View File

@ -8,10 +8,14 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git clone --filter=blob:none "$SCRIPT_REPO" pa
cd pa
git checkout "$SCRIPT_COMMIT"
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/pa
# Kill build of utils and their sndfile dep
echo > src/utils/meson.build

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" vmaf
cd vmaf
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/vmaf
# Kill build of unused and broken tools
echo > libvmaf/tools/meson.build

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" xcbproto
cd xcbproto
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/xcbproto
autoreconf -i

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" xproto
cd xproto
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/xproto
autoreconf -i

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxtrans
cd libxtrans
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libxtrans
autoreconf -i

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxau
cd libxau
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libxau
autoreconf -i

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxcb
cd libxcb
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libxcb
autoreconf -i

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libx11
cd libx11
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libx11
autoreconf -i

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxext
cd libxext
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libxext
autoreconf -i

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxfixes
cd libxfixes
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libxfixes
autoreconf -i

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxi
cd libxi
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libxi
autoreconf -i

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxinerama
cd libxinerama
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libxinerama
autoreconf -i

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxrender
cd libxrender
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libxrender
autoreconf -i

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxscrnsaver
cd libxscrnsaver
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libxscrnsaver
autoreconf -i

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxxf86vm
cd libxxf86vm
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libxxf86vm
autoreconf -i

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" glvnd
cd glvnd
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/glvnd
mkdir build && cd build

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxcursor
cd libxcursor
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libxcursor
autoreconf -i

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxrandr
cd libxrandr
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libxrandr
autoreconf -i

View File

@ -9,9 +9,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxv
cd libxv
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libxv
autoreconf -i

View File

@ -12,6 +12,10 @@ ffbuild_dockerlayer() {
to_df "COPY --from=${SELFLAYER} \$FFBUILD_PREFIX/share/aclocal/. /usr/share/aclocal"
}
ffbuild_dockerdl() {
return 0
}
ffbuild_dockerbuild() {
rm "$FFBUILD_PREFIX"/lib/lib*.so* || true
rm "$FFBUILD_PREFIX"/lib/*.la || true

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" amf
cd amf
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/amf
mkdir -p "$FFBUILD_PREFIX"/include
mv amf/public/include "$FFBUILD_PREFIX"/include/AMF

View File

@ -8,12 +8,15 @@ ffbuild_enabled() {
}
ffbuild_dockerstage() {
to_df "RUN --mount=src=${SELF},dst=/stage.sh --mount=src=patches/aom,dst=/patches run_stage /stage.sh"
to_df "RUN --mount=src=${SELF},dst=/stage.sh --mount=src=\$FFBUILD_DLDIR,dst=\$FFBUILD_DLDIR,from=${DL_IMAGE},rw --mount=src=patches/aom,dst=/patches run_stage /stage.sh"
}
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" aom
}
ffbuild_dockerbuild() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" aom
cd aom
cd "$FFBUILD_DLDIR"/aom
for patch in /patches/*.patch; do
echo "Applying $patch"

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libpng
cd libpng
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libpng
autoreconf -i

View File

@ -8,12 +8,15 @@ ffbuild_enabled() {
}
ffbuild_dockerstage() {
to_df "RUN --mount=src=${SELF},dst=/stage.sh --mount=src=patches/aribb24,dst=/patches run_stage /stage.sh"
to_df "RUN --mount=src=${SELF},dst=/stage.sh --mount=src=\$FFBUILD_DLDIR,dst=\$FFBUILD_DLDIR,from=${DL_IMAGE},rw --mount=src=patches/aribb24,dst=/patches run_stage /stage.sh"
}
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" aribb24
}
ffbuild_dockerbuild() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" aribb24
cd aribb24
cd "$FFBUILD_DLDIR"/aribb24
for patch in /patches/*.patch; do
echo "Applying $patch"

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" avisynth
cd avisynth
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/avisynth
mkdir build && cd build

View File

@ -11,9 +11,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" chromaprint
cd chromaprint
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/chromaprint
mkdir build && cd build

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" dav1d
cd dav1d
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/dav1d
mkdir build && cd build

View File

@ -11,10 +11,14 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git clone "$SCRIPT_REPO" davs2
cd davs2
git checkout "$SCRIPT_COMMIT"
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/davs2
cd build/linux
local myconf=(

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" fdk
cd fdk
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/fdk
./autogen.sh

View File

@ -11,14 +11,18 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" ffnvcodec
git-mini-clone "$SCRIPT_REPO2" "$SCRIPT_COMMIT2" ffnvcodec2
}
ffbuild_dockerbuild() {
if [[ $ADDINS_STR == *4.4* || $ADDINS_STR == *5.0* || $ADDINS_STR == *5.1* ]]; then
SCRIPT_COMMIT="$SCRIPT_COMMIT2"
cd "$FFBUILD_DLDIR"/ffnvcodec2
else
cd "$FFBUILD_DLDIR"/ffnvcodec
fi
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" ffnvcodec
cd ffnvcodec
make PREFIX="$FFBUILD_PREFIX" install
}

View File

@ -9,9 +9,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" frei0r
cd frei0r
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/frei0r
mkdir build && cd build

View File

@ -7,10 +7,14 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git clone "$SCRIPT_REPO" gme
cd gme
git checkout "$SCRIPT_COMMIT"
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/gme
mkdir build && cd build

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" kvazaar
cd kvazaar
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/kvazaar
./autogen.sh

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" ass
cd ass
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/ass
./autogen.sh

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libbluray
cd libbluray
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libbluray
./bootstrap

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" brotli
cd brotli
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/brotli
mkdir build && cd build

View File

@ -9,10 +9,14 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" jxl
cd jxl
git submodule update --init --recursive --depth 1 --recommend-shallow third_party/{highway,skcms}
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/jxl
mkdir build && cd build

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
retry-tool sh -c "rm -rf lame && svn checkout '${SCRIPT_REPO}@${SCRIPT_REV}' lame"
cd lame
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/lame
autoreconf -i

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" opus
cd opus
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/opus
./autogen.sh

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" mbedtls
cd mbedtls
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/mbedtls
mkdir build && cd build

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" librist
cd librist
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/librist
mkdir build && cd build

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libssh
cd libssh
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libssh
mkdir build && cd build

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" theora
cd theora
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/theora
./autogen.sh

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libvpx
cd libvpx
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libvpx
local myconf=(
--disable-shared

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" webp
cd webp
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/webp
./autogen.sh

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" lv2
cd lv2
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/lv2
mkdir build && cd build

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" serd
cd serd
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/serd
mkdir build && cd build

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" zix
cd zix
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/zix
mkdir build && cd build

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" sord
cd sord
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/sord
mkdir build && cd build

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" sratom
cd sratom
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/sratom
mkdir build && cd build

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" lilv
cd lilv
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/lilv
mkdir build && cd build

View File

@ -11,9 +11,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" onevpl
cd onevpl
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/onevpl
mkdir build && cd build

View File

@ -10,9 +10,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" openal
cd openal
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/openal
mkdir cm_build && cd cm_build

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" opencore
cd opencore
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/opencore
autoreconf -i

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" openh264
cd openh264
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/openh264
local myconf=(
PREFIX="$FFBUILD_PREFIX"

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" openjpeg
cd openjpeg
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/openjpeg
mkdir build && cd build

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
retry-tool sh -c "rm -rf openmpt && svn checkout '${SCRIPT_REPO}@${SCRIPT}' openmpt"
cd openmpt
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/openmpt
local myconf=(
PREFIX="$FFBUILD_PREFIX"

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" rav1e
cd rav1e
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/rav1e
local myconf=(
--prefix="$FFBUILD_PREFIX"

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" rubberband
cd rubberband
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/rubberband
mkdir build && cd build

View File

@ -6,6 +6,10 @@ ffbuild_enabled() {
[[ $TARGET == win* ]]
}
ffbuild_dockerdl() {
return 0
}
ffbuild_dockerstage() {
return 0
}
@ -14,6 +18,14 @@ ffbuild_dockerbuild() {
return 0
}
ffbuild_dockerstage_dl() {
return 0
}
ffbuild_dockerlayer_dl() {
return 0
}
ffbuild_configure() {
echo --enable-schannel
}

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" sdl
cd sdl
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/sdl
mkdir build && cd build

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" soxr
cd soxr
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/soxr
mkdir build && cd build

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" srt
cd srt
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/srt
mkdir build && cd build

View File

@ -8,10 +8,14 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git clone "$SCRIPT_REPO" svtav1
cd svtav1
git checkout "$SCRIPT_COMMIT"
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/svtav1
mkdir build && cd build

View File

@ -7,9 +7,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" twolame
cd twolame
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/twolame
NOCONFIGURE=1 ./autogen.sh
touch doc/twolame.1

View File

@ -8,10 +8,14 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git clone "$SCRIPT_REPO" uavs3d
cd uavs3d
git checkout "$SCRIPT_COMMIT"
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/uavs3d
mkdir build/linux
cd build/linux

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libpciaccess
cd libpciaccess
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libpciaccess
autoreconf -fi

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libdrm
cd libdrm
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libdrm
mkdir build && cd build

View File

@ -9,9 +9,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libva
cd libva
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/libva
autoreconf -i

View File

@ -7,6 +7,10 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerdl() {
return 0
}
ffbuild_dockerbuild() {
rm "$FFBUILD_PREFIX"/lib/lib*.so* || true
rm "$FFBUILD_PREFIX"/lib/*.la || true

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" vidstab
cd vidstab
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/vidstab
mkdir build && cd build

View File

@ -9,9 +9,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" vkheaders
cd vkheaders
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/vkheaders
mkdir build && cd build

View File

@ -8,11 +8,14 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" shaderc
cd shaderc
./utils/git-sync-deps
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/shaderc
mkdir build && cd build

View File

@ -8,9 +8,12 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" spirv-cross
cd spirv-cross
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/spirv-cross
VER_MAJ="$(grep 'set(spirv-cross-abi-major' CMakeLists.txt | sed -re 's/.* ([0-9]+)\)/\1/')"
VER_MIN="$(grep 'set(spirv-cross-abi-minor' CMakeLists.txt | sed -re 's/.* ([0-9]+)\)/\1/')"

View File

@ -11,10 +11,14 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
ffbuild_dockerdl() {
git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" placebo
cd placebo
git submodule update --init --recursive
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR"/placebo
mkdir build && cd build

View File

@ -7,6 +7,10 @@ ffbuild_enabled() {
return 0
}
ffbuild_dockerdl() {
return 0
}
ffbuild_dockerbuild() {
return 0
}

Some files were not shown because too many files have changed in this diff Show More