Use git shallow clone script for all git operations

This commit is contained in:
DataHoarder 2022-05-08 19:55:11 +02:00
parent 67ac63ce82
commit 4e19cc00fa
Signed by: DataHoarder
SSH key fingerprint: SHA256:OLTRf6Fl87G52SiR7sWLGNzlJt4WOX+tfI2yxo0z7xk
23 changed files with 52 additions and 46 deletions

View file

@ -35,6 +35,9 @@ ENV CPPFLAGS "$CFLAGS"
ENV CXXFLAGS "-Ofast -march=native -flto"
ENV LDFLAGS "-flto -fuse-ld=lld"
COPY docker/git-shallow-clone.sh /usr/bin/git-shallow-clone
FROM build-base AS build-x265
ARG X265_TAG=3.5
@ -79,7 +82,7 @@ RUN /build.sh
FROM build-base AS build-vvenc
ARG VVENC_TAG=v1.4.0
ARG VVENC_TAG=a361f5931d3cbee07d9a7d557a7a59a92d9121f8
ARG VVENC_REPO=https://github.com/fraunhoferhhi/vvenc.git
COPY docker/build/vvenc/build.sh /build.sh
@ -128,6 +131,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt update && \
DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends \
nasm jq
COPY docker/git-shallow-clone.sh /usr/bin/git-shallow-clone
COPY docker/build/rav1e/build.sh /build.sh
RUN /build.sh

View file

@ -2,8 +2,9 @@
set -e
set -o pipefail
git clone --branch "${AOM_TAG}" --depth 1 "${AOM_REPO}" /src/aom
git-shallow-clone "${AOM_TAG}" "${AOM_REPO}" /src/aom
pushd /src/aom
sed -i 's/MAX_NUM_THREADS 64/MAX_NUM_THREADS 128/' aom_util/aom_thread.h
#patch out libskcms as it's bundled in JXL

View file

@ -4,7 +4,7 @@ set -o pipefail
source $HOME/.cargo/env
git clone --branch "${AV1AN_TAG}" --depth 1 "${AV1AN_REPO}" /src/av1an
git-shallow-clone "${AV1AN_TAG}" "${AV1AN_REPO}" /src/av1an
pushd /src/av1an
CFLAGS="" CXXFLAGS="" CPPFLAGS="" LDFLAGS="" LD=ld RUSTFLAGS="-C target-cpu=native" cargo build --release --features ""

View file

@ -2,7 +2,7 @@
set -e
set -o pipefail
git clone --branch "${BROTLI_TAG}" --depth 1 "${BROTLI_REPO}" /src/brotli
git-shallow-clone "${BROTLI_TAG}" "${BROTLI_REPO}" /src/brotli
pushd /src/brotli
mkdir b
pushd b

View file

@ -2,7 +2,7 @@
set -e
set -o pipefail
git clone --branch "${FDKAAC_TAG}" --depth 1 "${FDKAAC_REPO}" /src/fdk-aac
git-shallow-clone "${FDKAAC_TAG}" "${FDKAAC_REPO}" /src/fdk-aac
pushd /src/fdk-aac
mkdir b
pushd b

View file

@ -2,9 +2,8 @@
set -e
set -o pipefail
git clone --branch "${JXL_TAG}" --depth 1 "${JXL_REPO}" /src/libjxl
git-shallow-clone "${JXL_TAG}" "${JXL_REPO}" /src/libjxl
pushd /src/libjxl
git submodule update --jobs $(nproc) --depth 1 --init
mkdir b
pushd b

View file

@ -2,8 +2,7 @@
set -e
set -o pipefail
git clone --branch "master" --depth 1 https://github.com/l-smash/l-smash /src/l-smash
git-shallow-clone "master" "https://github.com/l-smash/l-smash" /src/l-smash
pushd /src/l-smash
./configure --prefix=/usr --extra-cflags="-fPIC" --extra-ldflags="-fPIC"
make -j$(nproc)

View file

@ -2,8 +2,7 @@
set -e
set -o pipefail
git clone --branch "${MAGICK_TAG}" --depth 1 https://github.com/ImageMagick/ImageMagick /src/imagemagick
git-shallow-clone "${MAGICK_TAG}" "https://github.com/ImageMagick/ImageMagick" /src/imagemagick
cd /src/imagemagick
./configure --with-magick-plus-plus --prefix=/usr
make -j$(nproc)

View file

@ -2,22 +2,21 @@
set -e
set -o pipefail
git clone --branch "v0.4.39" --depth 1 https://github.com/MediaArea/ZenLib.git /src/ZenLib
git-shallow-clone "v0.4.39" "https://github.com/MediaArea/ZenLib.git" /src/ZenLib
pushd /src/ZenLib/Project/GNU/Library
./autogen.sh
./configure --enable-static --prefix=/usr
make -j$(nproc)
make install
git clone --branch "${MEDIAINFOLIB_TAG}" --depth 1 https://github.com/MediaArea/MediaInfoLib.git /src/MediaInfoLib
git-shallow-clone "${MEDIAINFOLIB_TAG}" "https://github.com/MediaArea/MediaInfoLib.git" /src/MediaInfoLib
pushd /src/MediaInfoLib/Project/GNU/Library
./autogen.sh
./configure --enable-staticlibs --enable-static --prefix=/usr
make -j$(nproc)
make install
git clone --branch "${MEDIAINFO_TAG}" --depth 1 https://github.com/MediaArea/MediaInfo.git /src/MediaInfo
git-shallow-clone "${MEDIAINFO_TAG}" "https://github.com/MediaArea/MediaInfo.git" /src/MediaInfo
pushd /src/MediaInfo/Project/GNU/CLI
./autogen.sh
./configure --enable-staticlibs --prefix=/usr

View file

@ -2,7 +2,7 @@
set -e
set -o pipefail
git clone --branch "${MKVTOOLNIX_TAG}" --recursive --depth 1 "${MKVTOOLNIX_REPO}" /src/mkvtoolnix
git-shallow-clone "${MKVTOOLNIX_TAG}" "${MKVTOOLNIX_REPO}" /src/mkvtoolnix
pushd /src/mkvtoolnix
./autogen.sh
./configure --enable-static --disable-gui --disable-qt6 --enable-qt5 --with-qt-pkg-config --enable-static-qt --enable-precompiled-headers --disable-update-check --prefix=/usr

View file

@ -3,9 +3,8 @@ set -e
set -o pipefail
git clone --branch "5.15.2" --depth 1 https://code.qt.io/qt/qt5.git /src/qt5
git-shallow-clone "5.15.2" "https://code.qt.io/qt/qt5.git" /src/qt5
pushd /src/qt5
git submodule update --jobs $(nproc) --depth 1 --init
mkdir b
pushd b
../configure -verbose -prefix /usr -confirm-license -release -no-shared -static -mp -ltcg \

View file

@ -2,7 +2,7 @@
set -e
set -o pipefail
git clone --branch "${RAV1E_TAG}" --depth 1 "${RAV1E_REPO}" /src/rav1e
git-shallow-clone "${RAV1E_TAG}" "${RAV1E_REPO}" /src/rav1e
pushd /src/rav1e
RUSTFLAGS="-C target-cpu=native" cargo build --release --features unstable,asm,threading

View file

@ -2,6 +2,6 @@
set -e
set -o pipefail
git clone --branch "${SVT_TAG}" --depth 1 "${SVT_REPO}" /src/svt-av1
git-shallow-clone "${SVT_TAG}" "${SVT_REPO}" /src/svt-av1
pushd /src/svt-av1
./Build/linux/build.sh --enable-avx512 --enable-lto --static --native --release --install --prefix /usr

View file

@ -2,7 +2,7 @@
set -e
set -o pipefail
git clone --branch "${UVG266_TAG}" --depth 1 --recursive "${UVG266_REPO}" /src/uvg266
git-shallow-clone "${UVG266_TAG}" "${UVG266_REPO}" /src/uvg266
pushd /src/uvg266
mkdir b
pushd b

View file

@ -8,28 +8,28 @@ curl https://raw.githubusercontent.com/dubhater/vapoursynth-fieldhint/v3/src/fie
-
git clone --branch "master" --depth 1 https://github.com/VFR-maniac/L-SMASH-Works.git /src/L-SMASH-Works
git-shallow-clone "master" https://github.com/VFR-maniac/L-SMASH-Works.git /src/L-SMASH-Works
pushd /src/L-SMASH-Works
cd VapourSynth
./configure --vs-plugindir=/usr/lib/vapoursynth --prefix=/usr
make -j$(nproc)
make install
git clone --branch "v1.2" --depth 1 https://github.com/dwbuiten/d2vsource.git /src/d2vsource
git-shallow-clone "v1.2" https://github.com/dwbuiten/d2vsource.git /src/d2vsource
pushd /src/d2vsource
./autogen.sh
./configure --prefix=/usr
make -j$(nproc)
cp .libs/libd2vsource.so /usr/lib/vapoursynth/
git clone --branch "r10.1" --depth 1 https://github.com/HomeOfVapourSynthEvolution/VapourSynth-TDeintMod.git /src/VapourSynth-TDeintMod
git-shallow-clone "r10.1" https://github.com/HomeOfVapourSynthEvolution/VapourSynth-TDeintMod.git /src/VapourSynth-TDeintMod
pushd /src/VapourSynth-TDeintMod
./autogen.sh
./configure
make -j$(nproc)
cp .libs/libtdeintmod.so /usr/lib/vapoursynth/
git clone --branch "r28" --depth 1 https://github.com/EleonoreMizo/fmtconv.git /src/fmtconv
git-shallow-clone "r28" https://github.com/EleonoreMizo/fmtconv.git /src/fmtconv
pushd /src/fmtconv
cd build/unix
./autogen.sh
@ -37,29 +37,29 @@ cd build/unix
make -j$(nproc)
cp .libs/libfmtconv.so /usr/lib/vapoursynth/
git clone --branch "v23" --depth 1 https://github.com/dubhater/vapoursynth-mvtools /src/vapoursynth-mvtools
git-shallow-clone "v23" https://github.com/dubhater/vapoursynth-mvtools.git /src/vapoursynth-mvtools
pushd /src/vapoursynth-mvtools
./autogen.sh
./configure --prefix=/usr
make -j$(nproc)
cp .libs/libmvtools.so /usr/lib/vapoursynth/
git clone --branch "master" https://github.com/myrsloik/VapourSynth-FFT3DFilter /src/VapourSynth-FFT3DFilter
pushd /src/VapourSynth-FFT3DFilter && git reset --hard 64323f0fdee4dd4fe429ee6287906dbae8e7571c
git-shallow-clone "64323f0fdee4dd4fe429ee6287906dbae8e7571c" https://github.com/myrsloik/VapourSynth-FFT3DFilter.git /src/VapourSynth-FFT3DFilter
pushd /src/VapourSynth-FFT3DFilter
mkdir b
pushd b
meson ..
ninja
cp libfft3dfilter.so /usr/lib/vapoursynth/
git clone --branch "r2.1" --depth 1 --recursive https://github.com/sekrit-twc/znedi3 /src/znedi3
git-shallow-clone "r2.1" https://github.com/sekrit-twc/znedi3.git /src/znedi3
pushd /src/znedi3
#TODO: remove X86 hardcode
make X86=1 -j$(nproc)
cp vsznedi3.so /usr/lib/vapoursynth/
cp nnedi3_weights.bin /usr/lib/vapoursynth/
git clone --branch "r7" --depth 1 https://github.com/Irrational-Encoding-Wizardry/descale /src/descale
git-shallow-clone "r7" https://github.com/Irrational-Encoding-Wizardry/descale.git /src/descale
pushd /src/descale
mkdir b
pushd b
@ -68,14 +68,14 @@ ninja
cp libdescale.so /usr/lib/vapoursynth/
cp ../descale.py /usr/lib/vapoursynth/
git clone --branch "master" --depth 1 --recursive https://github.com/SAPikachu/flash3kyuu_deband.git /src/flash3kyuu_deband
git-shallow-clone "master" https://github.com/SAPikachu/flash3kyuu_deband.git /src/flash3kyuu_deband
pushd /src/flash3kyuu_deband
sed -i 's/env python/env python3/' ./waf
./waf configure
./waf build
cp build/libf3kdb.so /usr/lib/vapoursynth/
git clone --branch "r9" --depth 1 https://github.com/HomeOfVapourSynthEvolution/VapourSynth-BM3D.git /src/VapourSynth-BM3D
git-shallow-clone "r9" https://github.com/HomeOfVapourSynthEvolution/VapourSynth-BM3D.git /src/VapourSynth-BM3D
pushd /src/VapourSynth-BM3D
mkdir b
pushd b
@ -83,7 +83,7 @@ LDFLAGS=-lfftw3f_threads meson ..
ninja
cp libbm3d.so /usr/lib/vapoursynth/
git clone --branch "r7" --depth 1 https://github.com/HomeOfVapourSynthEvolution/VapourSynth-DFTTest.git /src/VapourSynth-DFTTest
git-shallow-clone "r7" https://github.com/HomeOfVapourSynthEvolution/VapourSynth-DFTTest.git /src/VapourSynth-DFTTest
pushd /src/VapourSynth-DFTTest
mkdir b
pushd b
@ -91,14 +91,14 @@ LDFLAGS=-lfftw3f_threads meson ..
ninja
cp libdfttest.so /usr/lib/vapoursynth/
git clone --branch "r10.1" --depth 1 https://github.com/HomeOfVapourSynthEvolution/VapourSynth-Yadifmod.git /src/VapourSynth-Yadifmod
git-shallow-clone "r10.1" https://github.com/HomeOfVapourSynthEvolution/VapourSynth-Yadifmod.git /src/VapourSynth-Yadifmod
pushd /src/VapourSynth-Yadifmod
./autogen.sh
./configure --prefix=/usr
make -j$(nproc)
cp .libs/libyadifmod.so /usr/lib/vapoursynth/
git clone --branch "2.40" --depth 1 https://github.com/FFMS/ffms2.git /src/ffms2
git-shallow-clone "2.40" https://github.com/FFMS/ffms2.git /src/ffms2
pushd /src/ffms2
./autogen.sh
./configure --prefix=/usr

View file

@ -3,7 +3,7 @@ set -e
set -o pipefail
git clone --branch "${VS_TAG}" --depth 1 https://github.com/vapoursynth/vapoursynth /src/vapoursynth
git-shallow-clone "${VS_TAG}" "https://github.com/vapoursynth/vapoursynth.git" /src/vapoursynth
pushd /src/vapoursynth
./autogen.sh
mkdir /usr/lib/vapoursynth

View file

@ -2,7 +2,7 @@
set -e
set -o pipefail
git clone --branch "${VMAF_TAG}" --depth 1 "${VMAF_REPO}" /src/vmaf
git-shallow-clone "${VMAF_TAG}" "${VMAF_REPO}" /src/vmaf
pushd /src/vmaf/libvmaf
meson setup build . --prefix /usr --buildtype release -Denable_float=true
ninja -vC build

View file

@ -2,10 +2,8 @@
set -e
set -o pipefail
git clone --branch "${VVENC_TAG}" --depth 1 "${VVENC_REPO}" /src/vvenc
git-shallow-clone "${VVENC_TAG}" "${VVENC_REPO}" /src/vvenc
pushd /src/vvenc
#TODO: remove this once new version is released
curl https://github.com/fraunhoferhhi/vvenc/commit/4137dfe29005c480154aa7287d92ce9dc8146617.diff | git apply
mkdir b
pushd b
cmake .. -DVVENC_ENABLE_X86_SIMD=ON -DBUILD_SHARED_LIBS=OFF -DVVENC_ENABLE_LINK_TIME_OPT=ON -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX:PATH=/usr && \

View file

@ -2,7 +2,7 @@
set -e
set -o pipefail
git clone --branch "${1}" --depth 1 "${X264_REPO}" /src/x264
git-shallow-clone "${1}" "${X264_REPO}" /src/x264
pushd /src/x264
CC=gcc CXX=g++ CFLAGS="-Ofast -march=native" CPPFLAGS="-Ofast -march=native" CXXFLAGS="-Ofast -march=native" LDFLAGS="" \
./configure --disable-ffms --disable-lavf --disable-swscale --enable-static --bit-depth=all --chroma-format=all --enable-lto --enable-pic --disable-opencl --prefix=/usr

View file

@ -2,8 +2,7 @@
set -e
set -o pipefail
git clone --branch "${X265_TAG}" --depth 1 "${X265_REPO}" /src/x265
pushd /src/x265
pushd build/linux
git-shallow-clone "${X265_TAG}" "${X265_REPO}" /src/x265
pushd /src/x265/build/linux
MAKEFLAGS=-j$(nproc) /multilib.sh
cp 8bit/x265 /usr/bin/x265

View file

@ -5,7 +5,7 @@ set -o pipefail
export CFLAGS="$CFLAGS -Wno-unknown-warning-option -Wno-error=parentheses-equality -Wno-error=empty-body -Wno-error=shift-negative-value -Wno-error=sometimes-uninitialized -Wno-error=typedef-redefinition -Wno-error=for-loop-analysis"
export CPPFLAGS="$CFLAGS"
git clone --branch "${XEVE_TAG}" --depth 1 "${XEVE_REPO}" /src/xeve
git-shallow-clone "${XEVE_TAG}" "${XEVE_REPO}" /src/xeve
pushd /src/xeve
mkdir b
pushd b

View file

@ -3,7 +3,7 @@ set -e
set -o pipefail
git clone --branch "${ZIMG_TAG}" --depth 1 https://github.com/sekrit-twc/zimg.git /src/zimg
git-shallow-clone "${ZIMG_TAG}" "https://github.com/sekrit-twc/zimg.git" /src/zimg
pushd /src/zimg
./autogen.sh
./configure --enable-example --enable-simd --enable-shared --enable-static --prefix=/usr

9
docker/git-shallow-clone.sh Executable file
View file

@ -0,0 +1,9 @@
#!/bin/bash
mkdir -p "${3}"
pushd "${3}" || exit 1
git init
git remote add origin "${2}"
git fetch --progress --jobs $(nproc) --depth 1 origin "${1}"
git checkout FETCH_HEAD
git submodule update --jobs $(nproc) --depth 1 --init