This commit is contained in:
sudo-nautilus 2021-04-06 11:43:43 +05:30
commit bd3b511c1a
65 changed files with 110 additions and 306 deletions

View file

@ -7,6 +7,9 @@ on:
schedule: schedule:
- cron: '0 12 * * *' - cron: '0 12 * * *'
env:
DOCKER_BUILDKIT: 1
jobs: jobs:
purge_artifacts: purge_artifacts:
name: Purge old artifacts name: Purge old artifacts
@ -26,16 +29,16 @@ jobs:
- name: Login to Docker - name: Login to Docker
uses: docker/login-action@v1 uses: docker/login-action@v1
with: with:
registry: docker.pkg.github.com registry: ghcr.io
username: ${{ github.actor }} username: ${{ github.actor }}
password: ${{ github.token }} password: ${{ github.token }}
- name: Image Name - name: Image Name
id: imagename id: imagename
run: echo "::set-output name=name::docker.pkg.github.com/${GITHUB_REPOSITORY,,}/base:latest" run: echo "::set-output name=name::ghcr.io/${GITHUB_REPOSITORY,,}/base:latest"
- name: Pull latest - name: Pull latest
run: docker pull ${{ steps.imagename.outputs.name }} || true run: docker pull ${{ steps.imagename.outputs.name }} || true
- name: Build base image - name: Build base image
run: docker build --pull --cache-from ${{ steps.imagename.outputs.name }} --tag ${{ steps.imagename.outputs.name }} images/base run: docker build --pull --build-arg BUILDKIT_INLINE_CACHE=1 --cache-from ${{ steps.imagename.outputs.name }} --tag ${{ steps.imagename.outputs.name }} images/base
- name: Push base image - name: Push base image
run: docker push ${{ steps.imagename.outputs.name }} run: docker push ${{ steps.imagename.outputs.name }}
build_target_bases: build_target_bases:
@ -52,16 +55,16 @@ jobs:
- name: Login to Docker - name: Login to Docker
uses: docker/login-action@v1 uses: docker/login-action@v1
with: with:
registry: docker.pkg.github.com registry: ghcr.io
username: ${{ github.actor }} username: ${{ github.actor }}
password: ${{ github.token }} password: ${{ github.token }}
- name: Image Name - name: Image Name
id: imagename id: imagename
run: echo "::set-output name=name::docker.pkg.github.com/${GITHUB_REPOSITORY,,}/base-${{ matrix.target }}:latest" run: echo "::set-output name=name::ghcr.io/${GITHUB_REPOSITORY,,}/base-${{ matrix.target }}:latest"
- name: Pull latest - name: Pull latest
run: docker pull ${{ steps.imagename.outputs.name }} || true run: docker pull ${{ steps.imagename.outputs.name }} || true
- name: Build target base image - name: Build target base image
run: docker build --pull --build-arg GH_REPO=${GITHUB_REPOSITORY,,} --cache-from ${{ steps.imagename.outputs.name }} --tag ${{ steps.imagename.outputs.name }} images/base-${{ matrix.target }} run: docker build --pull --build-arg BUILDKIT_INLINE_CACHE=1 --build-arg GH_REPO=${GITHUB_REPOSITORY,,} --cache-from ${{ steps.imagename.outputs.name }} --tag ${{ steps.imagename.outputs.name }} images/base-${{ matrix.target }}
- name: Push target base image - name: Push target base image
run: docker push ${{ steps.imagename.outputs.name }} run: docker push ${{ steps.imagename.outputs.name }}
build_targets: build_targets:
@ -81,18 +84,18 @@ jobs:
- name: Login to Docker - name: Login to Docker
uses: docker/login-action@v1 uses: docker/login-action@v1
with: with:
registry: docker.pkg.github.com registry: ghcr.io
username: ${{ github.actor }} username: ${{ github.actor }}
password: ${{ github.token }} password: ${{ github.token }}
- name: Image Name - name: Image Name
id: imagename id: imagename
run: | run: |
IMG="docker.pkg.github.com/${GITHUB_REPOSITORY,,}/${{ matrix.target }}-${{ matrix.variant }}:latest" IMG="ghcr.io/${GITHUB_REPOSITORY,,}/${{ matrix.target }}-${{ matrix.variant }}:latest"
echo "::set-output name=name::${IMG/ /-}" echo "::set-output name=name::${IMG/ /-}"
- name: Pull latest - name: Pull latest
run: docker pull ${{ steps.imagename.outputs.name }} || true run: docker pull ${{ steps.imagename.outputs.name }} || true
- name: Build variant image - name: Build variant image
run: docker build --pull --cache-from ${{ steps.imagename.outputs.name }} --tag ${{ steps.imagename.outputs.name }} . run: docker build --pull --build-arg BUILDKIT_INLINE_CACHE=1 --cache-from ${{ steps.imagename.outputs.name }} --tag ${{ steps.imagename.outputs.name }} .
- name: Push variant image - name: Push variant image
run: docker push ${{ steps.imagename.outputs.name }} run: docker push ${{ steps.imagename.outputs.name }}
build_ffmpeg: build_ffmpeg:
@ -110,7 +113,7 @@ jobs:
- name: Login to Docker - name: Login to Docker
uses: docker/login-action@v1 uses: docker/login-action@v1
with: with:
registry: docker.pkg.github.com registry: ghcr.io
username: ${{ github.actor }} username: ${{ github.actor }}
password: ${{ github.token }} password: ${{ github.token }}
- name: Build ffmpeg - name: Build ffmpeg

View file

@ -4,6 +4,9 @@ on:
branches: branches:
- master - master
env:
DOCKER_BUILDKIT: 1
jobs: jobs:
build: build:
name: Build ffmpeg name: Build ffmpeg

View file

@ -1,5 +1,6 @@
#!/bin/bash #!/bin/bash
set -xe set -xe
shopt -s globstar
cd "$(dirname "$0")" cd "$(dirname "$0")"
source util/vars.sh source util/vars.sh
@ -23,7 +24,7 @@ done
export FFBUILD_PREFIX="$(docker run --rm "$IMAGE" bash -c 'echo $FFBUILD_PREFIX')" export FFBUILD_PREFIX="$(docker run --rm "$IMAGE" bash -c 'echo $FFBUILD_PREFIX')"
for script in scripts.d/*.sh; do for script in scripts.d/**/*.sh; do
FF_CONFIGURE+=" $(get_output $script configure)" FF_CONFIGURE+=" $(get_output $script configure)"
FF_CFLAGS+=" $(get_output $script cflags)" FF_CFLAGS+=" $(get_output $script cflags)"
FF_CXXFLAGS+=" $(get_output $script cxxflags)" FF_CXXFLAGS+=" $(get_output $script cxxflags)"

View file

@ -5,19 +5,69 @@ source util/vars.sh
rm -f Dockerfile rm -f Dockerfile
to_df() { layername() {
printf "$@" >> Dockerfile printf "layer-"
echo >> Dockerfile basename "$1" | sed 's/.sh$//'
} }
to_df "FROM docker.pkg.github.com/${REPO}/base-${TARGET}:latest" exec_dockerstage() {
to_df "ENV TARGET=$TARGET VARIANT=$VARIANT REPO=$REPO ADDINS_STR=$ADDINS_STR" SCRIPT="$1"
for script in scripts.d/*.sh; do
( (
SELF="$script" SELF="$SCRIPT"
source $script source "$SCRIPT"
ffbuild_enabled || exit 0 ffbuild_enabled || exit 0
ffbuild_dockerstage || exit $? ffbuild_dockerstage || exit $?
) )
}
to_df() {
_of="${TODF:-Dockerfile}"
printf "$@" >> "$_of"
echo >> "$_of"
}
to_df "FROM ${REGISTRY}/${REPO}/base-${TARGET}: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
to_df "FROM $PREVLAYER AS $(layername "$STAGE")"
if [[ -f "$STAGE" ]]; then
exec_dockerstage "$STAGE"
else
for STAGE in "${STAGE}"/??-*; do
exec_dockerstage "$STAGE"
done done
fi
done
to_df "FROM $PREVLAYER AS $LAYER"
for STAGE in scripts.d/$ID-*; do
if [[ -f "$STAGE" ]]; then
SCRIPT="$STAGE"
else
SCRIPTS=( "$STAGE"/??-* )
SCRIPT="${SCRIPTS[-1]}"
fi
(
SELF="$SCRIPT"
SELFLAYER="$(layername "$STAGE")"
source "$SCRIPT"
ffbuild_enabled || exit 0
ffbuild_dockerlayer || exit $?
TODF="Dockerfile.final" PREVLAYER="__PREVLAYER__" \
ffbuild_dockerfinal || exit $?
)
done
PREVLAYER="$LAYER"
done
to_df "FROM base"
sed "s/__PREVLAYER__/$PREVLAYER/g" Dockerfile.final | sort -u >> Dockerfile
rm Dockerfile.final

View file

@ -1,5 +1,5 @@
ARG GH_REPO=btbn/ffmpeg-builds ARG GH_REPO=btbn/ffmpeg-builds
FROM docker.pkg.github.com/$GH_REPO/base:latest FROM ghcr.io/$GH_REPO/base:latest
ENV DEBIAN_FRONTEND noninteractive ENV DEBIAN_FRONTEND noninteractive

View file

@ -1,5 +1,5 @@
ARG GH_REPO=btbn/ffmpeg-builds ARG GH_REPO=btbn/ffmpeg-builds
FROM docker.pkg.github.com/$GH_REPO/base:latest FROM ghcr.io/$GH_REPO/base:latest
ENV DEBIAN_FRONTEND noninteractive ENV DEBIAN_FRONTEND noninteractive

View file

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
set -xe set -xe
mkdir -p /stage mkdir -p /stage
source "$1"
cd /stage cd /stage
source /stage.sh
ffbuild_dockerbuild ffbuild_dockerbuild
rm -rf /stage /stage.sh "$FFBUILD_PREFIX"/bin rm -rf /stage "$FFBUILD_PREFIX"/bin

View file

@ -3,6 +3,8 @@ set -xe
cd "$(dirname "$0")" cd "$(dirname "$0")"
source util/vars.sh source util/vars.sh
export DOCKER_BUILDKIT=1
docker build --tag "$BASE_IMAGE" images/base docker build --tag "$BASE_IMAGE" images/base
docker build --build-arg GH_REPO="$REPO" --tag "$TARGET_IMAGE" "images/base-${TARGET}" docker build --build-arg GH_REPO="$REPO" --tag "$TARGET_IMAGE" "images/base-${TARGET}"

View file

@ -8,9 +8,13 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() { ffbuild_dockerlayer() {
to_df "ADD $SELF /stage.sh" to_df "COPY --from=${SELFLAYER} /opt/mingw/. /"
to_df "RUN run_stage" to_df "COPY --from=${SELFLAYER} /opt/mingw/. /opt/mingw"
}
ffbuild_dockerfinal() {
to_df "COPY --from=${PREVLAYER} /opt/mingw/. /"
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
@ -33,7 +37,7 @@ ffbuild_dockerbuild() {
./configure "${myconf[@]}" ./configure "${myconf[@]}"
make -j$(nproc) make -j$(nproc)
make install make install DESTDIR="/opt/mingw"
cd ../mingw-w64-libraries/winpthreads cd ../mingw-w64-libraries/winpthreads
@ -49,7 +53,7 @@ ffbuild_dockerbuild() {
./configure "${myconf[@]}" ./configure "${myconf[@]}"
make -j$(nproc) make -j$(nproc)
make install make install DESTDIR="/opt/mingw"
} }
ffbuild_configure() { ffbuild_configure() {

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
mkdir iconv mkdir iconv
cd iconv cd iconv

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$LIBXML2_REPO" "$LIBXML2_COMMIT" libxml2 git-mini-clone "$LIBXML2_REPO" "$LIBXML2_COMMIT" libxml2
cd libxml2 cd libxml2

View file

@ -6,11 +6,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
mkdir zlib mkdir zlib
cd zlib cd zlib

View file

@ -10,11 +10,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
mkdir fftw3 mkdir fftw3
cd fftw3 cd fftw3

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
mkdir ft mkdir ft
cd ft cd ft

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$FRIBIDI_REPO" "$FRIBIDI_COMMIT" fribidi git-mini-clone "$FRIBIDI_REPO" "$FRIBIDI_COMMIT" fribidi
cd fribidi cd fribidi

View file

@ -6,11 +6,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
mkdir gmp mkdir gmp
cd gmp cd gmp

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$OGG_REPO" "$OGG_COMMIT" ogg git-mini-clone "$OGG_REPO" "$OGG_COMMIT" ogg
cd ogg cd ogg

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$OPENSSL_REPO" "$OPENSSL_COMMIT" openssl git-mini-clone "$OPENSSL_REPO" "$OPENSSL_COMMIT" openssl
cd openssl cd openssl

View file

@ -6,11 +6,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
mkdir xz mkdir xz
cd xz cd xz

View file

@ -6,11 +6,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
mkdir fc mkdir fc
cd fc cd fc

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$HARFBUZZ_REPO" "$HARFBUZZ_COMMIT" harfbuzz git-mini-clone "$HARFBUZZ_REPO" "$HARFBUZZ_COMMIT" harfbuzz
cd harfbuzz cd harfbuzz

View file

@ -9,11 +9,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$LIBSR_REPO" "$LIBSR_COMMIT" libsr git-mini-clone "$LIBSR_REPO" "$LIBSR_COMMIT" libsr
cd libsr cd libsr

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$LIBUDFREAD_REPO" "$LIBUDFREAD_COMMIT" libudfread git-mini-clone "$LIBUDFREAD_REPO" "$LIBUDFREAD_COMMIT" libudfread
cd libudfread cd libudfread

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$VORBIS_REPO" "$VORBIS_COMMIT" vorbis git-mini-clone "$VORBIS_REPO" "$VORBIS_COMMIT" vorbis
cd vorbis cd vorbis

View file

@ -10,11 +10,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
mkdir opencl && cd opencl mkdir opencl && cd opencl

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$VMAF_REPO" "$VMAF_COMMIT" vmaf git-mini-clone "$VMAF_REPO" "$VMAF_COMMIT" vmaf
cd vmaf cd vmaf

View file

@ -8,16 +8,14 @@ ffbuild_enabled() {
} }
ffbuild_dockerstage() { ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh" to_df "RUN --mount=src=${SELF},dst=/stage.sh --mount=src=patches/vulkan,dst=/patches run_stage /stage.sh"
to_df "ADD patches/vulkan /stage/patches"
to_df "RUN run_stage"
} }
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git clone "$LOADER_REPO" loader git clone "$LOADER_REPO" loader
git -C loader checkout "$LOADER_COMMIT" git -C loader checkout "$LOADER_COMMIT"
for patch in patches/*.patch; do for patch in /patches/*.patch; do
echo "Applying $patch" echo "Applying $patch"
git -C loader am -3 < "$patch" git -C loader am -3 < "$patch"
done done

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$AMF_REPO" "$AMF_COMMIT" amf git-mini-clone "$AMF_REPO" "$AMF_COMMIT" amf
cd amf cd amf

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$AOM_REPO" "$AOM_COMMIT" aom git-mini-clone "$AOM_REPO" "$AOM_COMMIT" aom
cd aom cd aom

View file

@ -8,11 +8,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$AVISYNTH_REPO" "$AVISYNTH_COMMIT" avisynth git-mini-clone "$AVISYNTH_REPO" "$AVISYNTH_COMMIT" avisynth
cd avisynth cd avisynth

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$DAV1D_REPO" "$DAV1D_COMMIT" dav1d git-mini-clone "$DAV1D_REPO" "$DAV1D_COMMIT" dav1d
cd dav1d cd dav1d

View file

@ -9,11 +9,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git clone "$DAVS2_REPO" davs2 git clone "$DAVS2_REPO" davs2
cd davs2 cd davs2

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$FFNVCODEC_REPO" "$FFNVCODEC_COMMIT" ffnvcodec git-mini-clone "$FFNVCODEC_REPO" "$FFNVCODEC_COMMIT" ffnvcodec
cd ffnvcodec cd ffnvcodec

View file

@ -4,14 +4,10 @@ GLSLANG_REPO="https://github.com/KhronosGroup/glslang.git"
GLSLANG_COMMIT="5878bcb17e43bf22cecaf6095900a33ff7f53445" GLSLANG_COMMIT="5878bcb17e43bf22cecaf6095900a33ff7f53445"
ffbuild_enabled() { ffbuild_enabled() {
[[ $ADDINS_STR == *4.3* ]] && return -1
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$GLSLANG_REPO" "$GLSLANG_COMMIT" glslang git-mini-clone "$GLSLANG_REPO" "$GLSLANG_COMMIT" glslang
cd glslang cd glslang

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git clone "$GME_REPO" gme git clone "$GME_REPO" gme
cd gme cd gme

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$ASS_REPO" "$ASS_COMMIT" ass git-mini-clone "$ASS_REPO" "$ASS_COMMIT" ass
cd ass cd ass

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$LIBBLURAY_REPO" "$LIBBLURAY_COMMIT" libbluray git-mini-clone "$LIBBLURAY_REPO" "$LIBBLURAY_COMMIT" libbluray
cd libbluray cd libbluray

View file

@ -6,11 +6,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
mkdir lame mkdir lame
cd lame cd lame

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$OPUS_REPO" "$OPUS_COMMIT" opus git-mini-clone "$OPUS_REPO" "$OPUS_COMMIT" opus
cd opus cd opus

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$THEORA_REPO" "$THEORA_COMMIT" theora git-mini-clone "$THEORA_REPO" "$THEORA_COMMIT" theora
cd theora cd theora

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$LIBVPX_REPO" "$LIBVPX_COMMIT" libvpx git-mini-clone "$LIBVPX_REPO" "$LIBVPX_COMMIT" libvpx
cd libvpx cd libvpx

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$WEBP_REPO" "$WEBP_COMMIT" webp git-mini-clone "$WEBP_REPO" "$WEBP_COMMIT" webp
cd webp cd webp

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$LV2_REPO" "$LV2_COMMIT" lv2 git-mini-clone "$LV2_REPO" "$LV2_COMMIT" lv2
cd lv2 cd lv2

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$SERD_REPO" "$SERD_COMMIT" serd git-mini-clone "$SERD_REPO" "$SERD_COMMIT" serd
cd serd cd serd

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$SORD_REPO" "$SORD_COMMIT" sord git-mini-clone "$SORD_REPO" "$SORD_COMMIT" sord
cd sord cd sord

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$SRATOM_REPO" "$SRATOM_COMMIT" sratom git-mini-clone "$SRATOM_REPO" "$SRATOM_COMMIT" sratom
cd sratom cd sratom

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$LILV_REPO" "$LILV_COMMIT" lilv git-mini-clone "$LILV_REPO" "$LILV_COMMIT" lilv
cd lilv cd lilv

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$MFX_REPO" "$MFX_COMMIT" mfx git-mini-clone "$MFX_REPO" "$MFX_COMMIT" mfx
cd mfx cd mfx

View file

@ -6,11 +6,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
mkdir opencore mkdir opencore
cd opencore cd opencore

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$OPENJPEG_REPO" "$OPENJPEG_COMMIT" openjpeg git-mini-clone "$OPENJPEG_REPO" "$OPENJPEG_COMMIT" openjpeg
cd openjpeg cd openjpeg

View file

@ -8,11 +8,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$RAV1E_REPO" "$RAV1E_COMMIT" rav1e git-mini-clone "$RAV1E_REPO" "$RAV1E_COMMIT" rav1e
cd rav1e cd rav1e

View file

@ -8,11 +8,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
mkdir rubberband mkdir rubberband
cd rubberband cd rubberband

View file

@ -6,11 +6,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
mkdir sdl mkdir sdl
cd sdl cd sdl

View file

@ -8,11 +8,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$SOXR_REPO" "$SOXR_COMMIT" soxr git-mini-clone "$SOXR_REPO" "$SOXR_COMMIT" soxr
cd soxr cd soxr

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$SRT_REPO" "$SRT_COMMIT" srt git-mini-clone "$SRT_REPO" "$SRT_COMMIT" srt
cd srt cd srt

View file

@ -9,11 +9,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git clone "$SVTAV1_REPO" svtav1 git clone "$SVTAV1_REPO" svtav1
cd svtav1 cd svtav1

View file

@ -6,11 +6,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
mkdir twolame mkdir twolame
cd twolame cd twolame

View file

@ -9,11 +9,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git clone "$UAVS3D_REPO" uavs3d git clone "$UAVS3D_REPO" uavs3d
cd uavs3d cd uavs3d

View file

@ -9,11 +9,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$VIDSTAB_REPO" "$VIDSTAB_COMMIT" vidstab git-mini-clone "$VIDSTAB_REPO" "$VIDSTAB_COMMIT" vidstab
cd vidstab cd vidstab

View file

@ -8,11 +8,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$X264_REPO" "$X264_COMMIT" x264 git-mini-clone "$X264_REPO" "$X264_COMMIT" x264
cd x264 cd x264

View file

@ -8,11 +8,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git clone "$X265_REPO" x265 git clone "$X265_REPO" x265
cd x265 cd x265

View file

@ -9,11 +9,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git clone "$XAVS2_REPO" xavs2 git clone "$XAVS2_REPO" xavs2
cd xavs2 cd xavs2

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
mkdir xvid mkdir xvid
cd xvid cd xvid

View file

@ -7,11 +7,6 @@ ffbuild_enabled() {
return 0 return 0
} }
ffbuild_dockerstage() {
to_df "ADD $SELF /stage.sh"
to_df "RUN run_stage"
}
ffbuild_dockerbuild() { ffbuild_dockerbuild() {
git-mini-clone "$ZIMG_REPO" "$ZIMG_COMMIT" zimg git-mini-clone "$ZIMG_REPO" "$ZIMG_COMMIT" zimg
cd zimg cd zimg

View file

@ -30,11 +30,23 @@ done
REPO="${GITHUB_REPOSITORY:-btbn/ffmpeg-builds}" REPO="${GITHUB_REPOSITORY:-btbn/ffmpeg-builds}"
REPO="${REPO,,}" REPO="${REPO,,}"
REGISTRY="docker.pkg.github.com" REGISTRY="ghcr.io"
BASE_IMAGE="${REGISTRY}/${REPO}/base:latest" BASE_IMAGE="${REGISTRY}/${REPO}/base:latest"
TARGET_IMAGE="${REGISTRY}/${REPO}/base-${TARGET}:latest" TARGET_IMAGE="${REGISTRY}/${REPO}/base-${TARGET}:latest"
IMAGE="${REGISTRY}/${REPO}/${TARGET}-${VARIANT}${ADDINS_STR:+-}${ADDINS_STR}:latest" IMAGE="${REGISTRY}/${REPO}/${TARGET}-${VARIANT}${ADDINS_STR:+-}${ADDINS_STR}:latest"
ffbuild_dockerstage() {
to_df "RUN --mount=src=${SELF},dst=/stage.sh run_stage /stage.sh"
}
ffbuild_dockerlayer() {
to_df "COPY --from=${SELFLAYER} \$FFBUILD_PREFIX/. \$FFBUILD_PREFIX"
}
ffbuild_dockerfinal() {
to_df "COPY --from=${PREVLAYER} \$FFBUILD_PREFIX/. \$FFBUILD_PREFIX"
}
ffbuild_configure() { ffbuild_configure() {
return 0 return 0
} }