diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 06307fc..971260b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,11 +22,27 @@ on: env: DOCKER_BUILDKIT: 1 + HAVE_CLEANUP_PAT: ${{ secrets.CLEANUP_PAT != '' }} jobs: + pre_check: + name: Pre Checks + if: ${{ github.event.inputs.buildOnly != 'true' }} + runs-on: ubuntu-latest + steps: + - name: Repo Check + run: | + if [[ "$GITHUB_REPOSITORY" != "BtbN/FFmpeg-Builds" ]]; then + echo "When forking this repository to make your own builds, you have to adjust this check." + echo "When doing so make sure to randomize the scheduled cron time above, in order to spread out the various build times as much as possible." + echo "This has been put in place due to the enormous amounts of traffic hundreds/thousands of parallel builds can cause on external infrastructure." + exit 1 + fi + exit 0 build_base: name: Build base image if: ${{ github.event.inputs.buildOnly != 'true' }} + needs: pre_check runs-on: ubuntu-latest steps: - name: Checkout @@ -43,7 +59,13 @@ jobs: password: ${{ github.token }} - name: Image Name id: imagename - run: echo "name=ghcr.io/${GITHUB_REPOSITORY,,}/base" >> $GITHUB_OUTPUT + run: | + IMG="${GITHUB_REPOSITORY,,}/base" + DLIMG="${GITHUB_REPOSITORY,,}/dl_cache" + echo "name=ghcr.io/${IMG/ /-}" >> $GITHUB_OUTPUT + echo "rawname=${IMG/ /-}" >> $GITHUB_OUTPUT + echo "dlname=ghcr.io/${DLIMG/ /-}" >> $GITHUB_OUTPUT + echo "dlrawname=${DLIMG/ /-}" >> $GITHUB_OUTPUT - name: Stop Commands run: T="$(echo -n ${{ github.token }} | sha256sum | head -c 64)" && echo -e "::add-mask::${T}\n::stop-commands::${T}" - name: Build target base image @@ -55,6 +77,45 @@ jobs: tags: ${{ steps.imagename.outputs.name }}:latest cache-to: type=registry,mode=max,ref=${{ steps.imagename.outputs.name }}:cache cache-from: type=registry,ref=${{ steps.imagename.outputs.name }}:cache + - name: Generate download cache Dockerfile + id: dl_cache + run: | + ./generate.sh dl only + echo "dltagname=$(./util/get_dl_cache_tag.sh)" >> $GITHUB_OUTPUT + cat Dockerfile.dl + - name: Build download cache image + uses: docker/build-push-action@v3 + with: + context: . + file: Dockerfile.dl + pull: true + push: true + tags: ${{ steps.imagename.outputs.dlname }}:${{ steps.dl_cache.outputs.dltagname }} + cache-to: type=registry,mode=max,ref=${{ steps.imagename.outputs.dlname }}:cache + cache-from: type=registry,ref=${{ steps.imagename.outputs.dlname }}:cache + - name: Cleanup + if: ${{ env.HAVE_CLEANUP_PAT == 'true' }} + continue-on-error: true + uses: BtbN/delete-untagged-ghcr-action@main + with: + token: ${{ secrets.CLEANUP_PAT }} + package_name: ${{ steps.imagename.outputs.rawname }} + repository_owner: ${{ github.repository_owner }} + repository: ${{ github.repository }} + owner_type: user + untagged_only: true + - name: Cleanup Download Cache + if: ${{ env.HAVE_CLEANUP_PAT == 'true' }} + continue-on-error: true + uses: BtbN/delete-untagged-ghcr-action@main + with: + token: ${{ secrets.CLEANUP_PAT }} + package_name: ${{ steps.imagename.outputs.dlrawname }} + repository_owner: ${{ github.repository_owner }} + repository: ${{ github.repository }} + owner_type: user + untagged_only: false + keep_latest: 20 build_target_bases: name: Build target base image if: ${{ github.event.inputs.buildOnly != 'true' }} @@ -79,7 +140,11 @@ jobs: password: ${{ github.token }} - name: Image Name id: imagename - run: echo "name=ghcr.io/${GITHUB_REPOSITORY,,}/base-${{ matrix.target }}" >> $GITHUB_OUTPUT + run: | + IMG="${GITHUB_REPOSITORY,,}/base-${{ matrix.target }}" + echo "name=ghcr.io/${IMG/ /-}" >> $GITHUB_OUTPUT + echo "rawname=${IMG/ /-}" >> $GITHUB_OUTPUT + echo "gh_repo=${GITHUB_REPOSITORY,,}" >> $GITHUB_OUTPUT - name: Stop Commands run: T="$(echo -n ${{ github.token }} | sha256sum | head -c 64)" && echo -e "::add-mask::${T}\n::stop-commands::${T}" - name: Build target base image @@ -91,6 +156,19 @@ jobs: tags: ${{ steps.imagename.outputs.name }}:latest cache-to: type=registry,mode=max,ref=${{ steps.imagename.outputs.name }}:cache cache-from: type=registry,ref=${{ steps.imagename.outputs.name }}:cache + build-args: | + GH_REPO=ghcr.io/${{ steps.imagename.outputs.gh_repo }} + - name: Cleanup + if: ${{ env.HAVE_CLEANUP_PAT == 'true' }} + continue-on-error: true + uses: BtbN/delete-untagged-ghcr-action@main + with: + token: ${{ secrets.CLEANUP_PAT }} + package_name: ${{ steps.imagename.outputs.rawname }} + repository_owner: ${{ github.repository_owner }} + repository: ${{ github.repository }} + owner_type: user + untagged_only: true build_targets: name: Build target-variant image if: ${{ github.event.inputs.buildOnly != 'true' }} @@ -100,7 +178,7 @@ jobs: fail-fast: false matrix: target: [win64,linux64,linuxarm64] - variant: [gpl,lgpl,gpl 4.4,gpl 5.1,lgpl 4.4,lgpl 5.1,gpl-shared,lgpl-shared,gpl-shared 4.4,gpl-shared 5.1,lgpl-shared 4.4,lgpl-shared 5.1] + variant: [gpl,lgpl,gpl 4.4,gpl 5.1,gpl 6.0,lgpl 4.4,lgpl 5.1,lgpl 6.0,gpl-shared,lgpl-shared,gpl-shared 4.4,gpl-shared 5.1,gpl-shared 6.0,lgpl-shared 4.4,lgpl-shared 5.1,lgpl-shared 6.0] steps: - name: Checkout uses: actions/checkout@v3 @@ -119,9 +197,9 @@ jobs: - name: Image Name id: imagename run: | - IMG="ghcr.io/${GITHUB_REPOSITORY,,}/${{ matrix.target }}-${{ matrix.variant }}" - echo "name=${IMG/ /-}" >> $GITHUB_OUTPUT - echo "gh_repo=${GITHUB_REPOSITORY,,}" >> $GITHUB_OUTPUT + IMG="${GITHUB_REPOSITORY,,}/${{ matrix.target }}-${{ matrix.variant }}" + echo "name=ghcr.io/${IMG/ /-}" >> $GITHUB_OUTPUT + echo "rawname=${IMG/ /-}" >> $GITHUB_OUTPUT - name: Stop Commands run: T="$(echo -n ${{ github.token }} | sha256sum | head -c 64)" && echo -e "::add-mask::${T}\n::stop-commands::${T}" - name: Build target base image @@ -133,8 +211,17 @@ jobs: tags: ${{ steps.imagename.outputs.name }}:latest cache-to: type=registry,mode=max,ref=${{ steps.imagename.outputs.name }}:cache cache-from: type=registry,ref=${{ steps.imagename.outputs.name }}:cache - build-args: | - GH_REPO=ghcr.io/${{ steps.imagename.outputs.gh_repo }} + - name: Cleanup + if: ${{ env.HAVE_CLEANUP_PAT == 'true' }} + continue-on-error: true + uses: BtbN/delete-untagged-ghcr-action@main + with: + token: ${{ secrets.CLEANUP_PAT }} + package_name: ${{ steps.imagename.outputs.rawname }} + repository_owner: ${{ github.repository_owner }} + repository: ${{ github.repository }} + owner_type: user + untagged_only: true build_ffmpeg: name: Build ffmpeg if: ${{ ( github.event.inputs.buildOnly == 'true' && !cancelled() ) || success() }} @@ -144,7 +231,7 @@ jobs: fail-fast: false matrix: target: [win64,linux64,linuxarm64] - variant: [gpl,lgpl,gpl 4.4,gpl 5.1,lgpl 4.4,lgpl 5.1,gpl-shared,lgpl-shared,gpl-shared 4.4,gpl-shared 5.1,lgpl-shared 4.4,lgpl-shared 5.1] + variant: [gpl,lgpl,gpl 4.4,gpl 5.1,gpl 6.0,lgpl 4.4,lgpl 5.1,lgpl 6.0,gpl-shared,lgpl-shared,gpl-shared 4.4,gpl-shared 5.1,gpl-shared 6.0,lgpl-shared 4.4,lgpl-shared 5.1,lgpl-shared 6.0] steps: - name: Checkout uses: actions/checkout@v3 @@ -199,7 +286,7 @@ jobs: TAGNAME="latest" hub release delete "$TAGNAME" || true git push --delete origin "$TAGNAME" || true - sleep 5 + sleep 15 hub release create $(for a in latest_artifacts/*; do echo -a $a; done) -m "$NAME" -t "master" "$TAGNAME" env: GITHUB_TOKEN: ${{ github.token }} diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 9c7fbb3..cc42dd8 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -18,7 +18,7 @@ jobs: fail-fast: false matrix: target: [win64,linux64,linuxarm64] - variant: [lgpl,gpl 4.4,gpl 5.1,lgpl 4.4,lgpl 5.1,gpl-shared,lgpl-shared,gpl-shared 4.4,gpl-shared 5.1,lgpl-shared 4.4,lgpl-shared 5.1] + variant: [lgpl,gpl 6.0,gpl 5.1,lgpl 6.0,lgpl 5.1,gpl-shared,lgpl-shared,gpl-shared 6.0,gpl-shared 5.1,lgpl-shared 6.0,lgpl-shared 5.1] quickbuild: [1] include: - target: win64 diff --git a/.gitignore b/.gitignore index 1c27a7e..107f214 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -/Dockerfile +/Dockerfile* /ffbuild/ /artifacts/ /.cache/ diff --git a/README.md b/README.md index 7072348..0185e90 100644 --- a/README.md +++ b/README.md @@ -64,8 +64,6 @@ Available variants: * `nonfree-shared` Same again, but with the nonfree set of dependencies. All of those can be optionally combined with any combination of addins: -* `4.4` to build from the 4.4 release branch instead of master. -* `5.0` to build from the 5.0 release branch instead of master. -* `5.1` to build from the 5.1 release branch instead of master. +* `4.4`/`5.0`/`5.1`/`6.0` to build from the respective release branch instead of master. * `debug` to not strip debug symbols from the binaries. This increases the output size by about 250MB. * `lto` build all dependencies and ffmpeg with -flto=auto (HIGHLY EXPERIMENTAL, broken for Windows, sometimes works for Linux) diff --git a/addins/6.0.sh b/addins/6.0.sh new file mode 100644 index 0000000..720a9cd --- /dev/null +++ b/addins/6.0.sh @@ -0,0 +1,2 @@ +#!/bin/bash +GIT_BRANCH="release/6.0" diff --git a/build.sh b/build.sh index 80ec56a..532535a 100755 --- a/build.sh +++ b/build.sh @@ -90,10 +90,10 @@ package_variant ffbuild/prefix "ffbuild/pkgroot/$BUILD_NAME" cd ffbuild/pkgroot if [[ "${TARGET}" == win* ]]; then OUTPUT_FNAME="${BUILD_NAME}.zip" - zip -9 -r "${ARTIFACTS_PATH}/${OUTPUT_FNAME}" "$BUILD_NAME" + docker run --rm -i $TTY_ARG "${UIDARGS[@]}" -v "${ARTIFACTS_PATH}":/out -v "${PWD}/${BUILD_NAME}":"/${BUILD_NAME}" -w / "$IMAGE" zip -9 -r "/out/${OUTPUT_FNAME}" "$BUILD_NAME" else OUTPUT_FNAME="${BUILD_NAME}.tar.xz" - tar cJf "${ARTIFACTS_PATH}/${OUTPUT_FNAME}" "$BUILD_NAME" + docker run --rm -i $TTY_ARG "${UIDARGS[@]}" -v "${ARTIFACTS_PATH}":/out -v "${PWD}/${BUILD_NAME}":"/${BUILD_NAME}" -w / "$IMAGE" tar cJf "/out/${OUTPUT_FNAME}" "$BUILD_NAME" fi cd - diff --git a/generate.sh b/generate.sh index 29d505d..c9fda9b 100755 --- a/generate.sh +++ b/generate.sh @@ -3,29 +3,83 @@ set -e cd "$(dirname "$0")" source util/vars.sh -rm -f Dockerfile +export LC_ALL=C.UTF-8 + +rm -f Dockerfile Dockerfile.{dl,final,dl.final} layername() { printf "layer-" basename "$1" | sed 's/.sh$//' } -exec_dockerstage() { - SCRIPT="$1" - ( - SELF="$SCRIPT" - source "$SCRIPT" - ffbuild_enabled || exit 0 - ffbuild_dockerstage || exit $? - ) -} - to_df() { _of="${TODF:-Dockerfile}" printf "$@" >> "$_of" echo >> "$_of" } +default_dl() { + to_df "RUN git-mini-clone \"$SCRIPT_REPO\" \"$SCRIPT_COMMIT\" \"$1\"" +} + +### +### Generate download Dockerfile +### + +exec_dockerstage_dl() { + SCRIPT="$1" + ( + SELF="$SCRIPT" + SELFLAYER="$(layername "$STAGE")" + source "$SCRIPT" + ffbuild_dockerdl || 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" +to_df "WORKDIR \$FFBUILD_DLDIR" + +for STAGE in scripts.d/*.sh scripts.d/*/*.sh; do + to_df "FROM base AS $(layername "$STAGE")" + exec_dockerstage_dl "$STAGE" +done + +to_df "FROM base AS intermediate" +cat Dockerfile.dl.final >> "$TODF" +rm Dockerfile.dl.final + +to_df "FROM scratch" +to_df "COPY --from=intermediate /opt/ffdl/. /" + +if [[ "$TARGET" == "dl" && "$VARIANT" == "only" ]]; then + exit 0 +fi + +DL_IMAGE="${DL_IMAGE_RAW}:$(./util/get_dl_cache_tag.sh)" + +### +### Generate main Dockerfile +### + +exec_dockerstage() { + SCRIPT="$1" + ( + SELF="$SCRIPT" + source "$SCRIPT" + + ffbuild_enabled || exit 0 + + to_df "ENV SELF=\"$SELF\"" + ffbuild_dockerstage || exit $? + ) +} + +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" diff --git a/images/base-linux64/ct-ng-config b/images/base-linux64/ct-ng-config index 7cfd776..dc1039b 100644 --- a/images/base-linux64/ct-ng-config +++ b/images/base-linux64/ct-ng-config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# crosstool-NG 1.25.0.90_cf9beb1 Configuration +# crosstool-NG 1.25.0.196_227d99d Configuration # CT_CONFIGURE_has_static_link=y CT_CONFIGURE_has_cxx11=y @@ -13,9 +13,9 @@ CT_CONFIGURE_has_make_3_81_or_newer=y CT_CONFIGURE_has_make_4_0_or_newer=y CT_CONFIGURE_has_libtool_2_4_or_newer=y CT_CONFIGURE_has_libtoolize_2_4_or_newer=y -CT_CONFIGURE_has_autoconf_2_65_or_newer=y -CT_CONFIGURE_has_autoreconf_2_65_or_newer=y -CT_CONFIGURE_has_automake_1_15_or_newer=y +CT_CONFIGURE_has_autoconf_2_71_or_newer=y +CT_CONFIGURE_has_autoreconf_2_71_or_newer=y +CT_CONFIGURE_has_automake_1_16_or_newer=y CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y CT_CONFIGURE_has_python_3_4_or_newer=y CT_CONFIGURE_has_bison_2_7_or_newer=y @@ -28,7 +28,7 @@ CT_CONFIGURE_has_sha1sum=y CT_CONFIGURE_has_sha256sum=y CT_CONFIGURE_has_sha512sum=y CT_CONFIGURE_has_install_with_strip_program=y -CT_VERSION="1.25.0.90_cf9beb1" +CT_VERSION="1.25.0.196_227d99d" CT_VCHECK="" CT_CONFIG_VERSION_ENV="4" CT_CONFIG_VERSION_CURRENT="4" @@ -46,6 +46,7 @@ CT_OBSOLETE=y CT_EXPERIMENTAL=y CT_ALLOW_BUILD_AS_ROOT=y CT_ALLOW_BUILD_AS_ROOT_SURE=y +# CT_ENABLE_EXPERIMENTAL_BUNDLED_PATCHES is not set # CT_DEBUG_CT is not set # @@ -64,6 +65,7 @@ CT_REMOVE_DOCS=y # CT_PREFIX_DIR_RO is not set CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y +# CT_TARBALL_RESULT is not set # # Downloading @@ -126,7 +128,6 @@ CT_CONFIG_SHELL="${bash}" CT_LOG_DEBUG=y CT_LOG_LEVEL_MAX="DEBUG" # CT_LOG_SEE_TOOLS_WARN is not set -# CT_LOG_PROGRESS_BAR is not set # CT_LOG_TO_FILE is not set # end of Paths and misc options @@ -137,6 +138,7 @@ CT_LOG_LEVEL_MAX="DEBUG" # CT_ARCH_ARC is not set # CT_ARCH_ARM is not set # CT_ARCH_AVR is not set +# CT_ARCH_BPF is not set # CT_ARCH_C6X is not set # CT_ARCH_LOONGARCH is not set # CT_ARCH_M68K is not set @@ -163,7 +165,7 @@ CT_ARCH_X86_SHOW=y # Options for x86 # CT_ARCH_X86_PKG_KSYM="" -CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR C6X LOONGARCH M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA" +CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR BPF C6X LOONGARCH M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA" CT_ARCH_SUFFIX="" # CT_OMIT_TARGET_VENDOR is not set @@ -267,6 +269,9 @@ CT_LINUX_PATCH_GLOBAL=y # CT_LINUX_PATCH_LOCAL_BUNDLED is not set # CT_LINUX_PATCH_NONE is not set CT_LINUX_PATCH_ORDER="global" +# CT_LINUX_V_6_3 is not set +# CT_LINUX_V_6_2 is not set +# CT_LINUX_V_6_1 is not set # CT_LINUX_V_6_0 is not set # CT_LINUX_V_5_19 is not set # CT_LINUX_V_5_18 is not set @@ -372,7 +377,8 @@ CT_BINUTILS_PATCH_GLOBAL=y # CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set # CT_BINUTILS_PATCH_NONE is not set CT_BINUTILS_PATCH_ORDER="global" -CT_BINUTILS_V_2_39=y +CT_BINUTILS_V_2_40=y +# CT_BINUTILS_V_2_39 is not set # CT_BINUTILS_V_2_38 is not set # CT_BINUTILS_V_2_37 is not set # CT_BINUTILS_V_2_36 is not set @@ -386,14 +392,14 @@ CT_BINUTILS_V_2_39=y # CT_BINUTILS_V_2_28 is not set # CT_BINUTILS_V_2_27 is not set # CT_BINUTILS_V_2_26 is not set -CT_BINUTILS_VERSION="2.39" +CT_BINUTILS_VERSION="2.40" CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)" CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz" CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig" +CT_BINUTILS_later_than_2_39=y CT_BINUTILS_2_39_or_later=y -CT_BINUTILS_2_39_or_older=y CT_BINUTILS_later_than_2_30=y CT_BINUTILS_2_30_or_later=y CT_BINUTILS_later_than_2_27=y @@ -448,6 +454,7 @@ CT_GLIBC_PATCH_GLOBAL=y # CT_GLIBC_PATCH_LOCAL_BUNDLED is not set # CT_GLIBC_PATCH_NONE is not set CT_GLIBC_PATCH_ORDER="global" +# CT_GLIBC_V_2_37 is not set # CT_GLIBC_V_2_36 is not set # CT_GLIBC_V_2_35 is not set # CT_GLIBC_V_2_34 is not set @@ -470,6 +477,8 @@ CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz" CT_GLIBC_SIGNATURE_FORMAT="packed/.sig" +CT_GLIBC_2_37_or_older=y +CT_GLIBC_older_than_2_37=y CT_GLIBC_2_36_or_older=y CT_GLIBC_older_than_2_36=y CT_GLIBC_2_34_or_older=y @@ -525,7 +534,7 @@ CT_GLIBC_KERNEL_VERSION_AS_HEADERS=y # CT_GLIBC_KERNEL_VERSION_CHOSEN is not set CT_GLIBC_MIN_KERNEL="4.4.302" CT_GLIBC_ENABLE_COMMON_FLAG=y -CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC_NG" +CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE PICOLIBC UCLIBC_NG" CT_LIBC_SUPPORT_THREADS_ANY=y CT_LIBC_SUPPORT_THREADS_NATIVE=y @@ -545,6 +554,7 @@ CT_CC_SUPPORT_CXX=y CT_CC_SUPPORT_FORTRAN=y CT_CC_SUPPORT_ADA=y CT_CC_SUPPORT_D=y +CT_CC_SUPPORT_JIT=y CT_CC_SUPPORT_OBJC=y CT_CC_SUPPORT_OBJCXX=y CT_CC_SUPPORT_GOLANG=y @@ -573,7 +583,8 @@ CT_GCC_PATCH_GLOBAL=y # CT_GCC_PATCH_LOCAL_BUNDLED is not set # CT_GCC_PATCH_NONE is not set CT_GCC_PATCH_ORDER="global" -CT_GCC_V_12=y +CT_GCC_V_13=y +# CT_GCC_V_12 is not set # CT_GCC_V_11 is not set # CT_GCC_V_10 is not set # CT_GCC_V_9 is not set @@ -582,12 +593,14 @@ CT_GCC_V_12=y # CT_GCC_V_6 is not set # CT_GCC_V_5 is not set # CT_GCC_V_4_9 is not set -CT_GCC_VERSION="12.2.0" +CT_GCC_VERSION="13.1.0" CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})" CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_GCC_SIGNATURE_FORMAT="" +CT_GCC_later_than_13=y +CT_GCC_13_or_later=y CT_GCC_later_than_12=y CT_GCC_12_or_later=y CT_GCC_later_than_11=y @@ -661,6 +674,7 @@ CT_ALL_CC_CHOICES="GCC" # CT_CC_LANG_CXX=y # CT_CC_LANG_FORTRAN is not set +# CT_CC_LANG_JIT is not set # CT_CC_LANG_ADA is not set # CT_CC_LANG_D is not set # CT_CC_LANG_OBJC is not set @@ -759,7 +773,9 @@ CT_ISL_PATCH_GLOBAL=y # CT_ISL_PATCH_LOCAL_BUNDLED is not set # CT_ISL_PATCH_NONE is not set CT_ISL_PATCH_ORDER="global" -CT_ISL_V_0_24=y +CT_ISL_V_0_26=y +# CT_ISL_V_0_25 is not set +# CT_ISL_V_0_24 is not set # CT_ISL_V_0_23 is not set # CT_ISL_V_0_22 is not set # CT_ISL_V_0_21 is not set @@ -770,7 +786,7 @@ CT_ISL_V_0_24=y # CT_ISL_V_0_16 is not set # CT_ISL_V_0_15 is not set # CT_ISL_V_0_11 is not set -CT_ISL_VERSION="0.24" +CT_ISL_VERSION="0.26" CT_ISL_MIRRORS="https://libisl.sourceforge.io" CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" @@ -867,10 +883,11 @@ CT_NCURSES_PATCH_GLOBAL=y # CT_NCURSES_PATCH_LOCAL_BUNDLED is not set # CT_NCURSES_PATCH_NONE is not set CT_NCURSES_PATCH_ORDER="global" -CT_NCURSES_V_6_2=y +CT_NCURSES_V_6_4=y +# CT_NCURSES_V_6_2 is not set # CT_NCURSES_V_6_1 is not set # CT_NCURSES_V_6_0 is not set -CT_NCURSES_VERSION="6.2" +CT_NCURSES_VERSION="6.4" CT_NCURSES_MIRRORS="https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)" CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" @@ -905,7 +922,29 @@ CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_ZLIB_SIGNATURE_FORMAT="packed/.asc" -CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB" +CT_COMP_LIBS_ZSTD=y +CT_COMP_LIBS_ZSTD_PKG_KSYM="ZSTD" +CT_ZSTD_DIR_NAME="zstd" +CT_ZSTD_PKG_NAME="zstd" +CT_ZSTD_SRC_RELEASE=y +# CT_ZSTD_SRC_DEVEL is not set +# CT_ZSTD_SRC_CUSTOM is not set +CT_ZSTD_PATCH_GLOBAL=y +# CT_ZSTD_PATCH_BUNDLED is not set +# CT_ZSTD_PATCH_LOCAL is not set +# CT_ZSTD_PATCH_BUNDLED_LOCAL is not set +# CT_ZSTD_PATCH_LOCAL_BUNDLED is not set +# CT_ZSTD_PATCH_NONE is not set +CT_ZSTD_PATCH_ORDER="global" +CT_ZSTD_V_1_5_5=y +# CT_ZSTD_V_1_5_2 is not set +CT_ZSTD_VERSION="1.5.5" +CT_ZSTD_MIRRORS="https://github.com/facebook/zstd/releases/download/v${CT_ZSTD_VERSION} https://www.zstd.net/" +CT_ZSTD_ARCHIVE_FILENAME="@{pkg_name}-@{version}" +CT_ZSTD_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" +CT_ZSTD_ARCHIVE_FORMATS=".tar.gz" +CT_ZSTD_SIGNATURE_FORMAT="packed/.sig" +CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB ZSTD" CT_LIBICONV_NEEDED=y CT_GETTEXT_NEEDED=y CT_GMP_NEEDED=y @@ -914,6 +953,7 @@ CT_ISL_NEEDED=y CT_MPC_NEEDED=y CT_NCURSES_NEEDED=y CT_ZLIB_NEEDED=y +CT_ZSTD_NEEDED=y CT_LIBICONV=y CT_GETTEXT=y CT_GMP=y @@ -922,6 +962,7 @@ CT_ISL=y CT_MPC=y CT_NCURSES=y CT_ZLIB=y +CT_ZSTD=y # end of Companion libraries # diff --git a/images/base-linuxarm64/ct-ng-config b/images/base-linuxarm64/ct-ng-config index 39137ab..1ab09e8 100644 --- a/images/base-linuxarm64/ct-ng-config +++ b/images/base-linuxarm64/ct-ng-config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# crosstool-NG 1.25.0.90_cf9beb1 Configuration +# crosstool-NG 1.25.0.196_227d99d Configuration # CT_CONFIGURE_has_static_link=y CT_CONFIGURE_has_cxx11=y @@ -13,9 +13,9 @@ CT_CONFIGURE_has_make_3_81_or_newer=y CT_CONFIGURE_has_make_4_0_or_newer=y CT_CONFIGURE_has_libtool_2_4_or_newer=y CT_CONFIGURE_has_libtoolize_2_4_or_newer=y -CT_CONFIGURE_has_autoconf_2_65_or_newer=y -CT_CONFIGURE_has_autoreconf_2_65_or_newer=y -CT_CONFIGURE_has_automake_1_15_or_newer=y +CT_CONFIGURE_has_autoconf_2_71_or_newer=y +CT_CONFIGURE_has_autoreconf_2_71_or_newer=y +CT_CONFIGURE_has_automake_1_16_or_newer=y CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y CT_CONFIGURE_has_python_3_4_or_newer=y CT_CONFIGURE_has_bison_2_7_or_newer=y @@ -28,7 +28,7 @@ CT_CONFIGURE_has_sha1sum=y CT_CONFIGURE_has_sha256sum=y CT_CONFIGURE_has_sha512sum=y CT_CONFIGURE_has_install_with_strip_program=y -CT_VERSION="1.25.0.90_cf9beb1" +CT_VERSION="1.25.0.196_227d99d" CT_VCHECK="" CT_CONFIG_VERSION_ENV="4" CT_CONFIG_VERSION_CURRENT="4" @@ -46,6 +46,7 @@ CT_OBSOLETE=y CT_EXPERIMENTAL=y CT_ALLOW_BUILD_AS_ROOT=y CT_ALLOW_BUILD_AS_ROOT_SURE=y +# CT_ENABLE_EXPERIMENTAL_BUNDLED_PATCHES is not set # CT_DEBUG_CT is not set # @@ -64,6 +65,7 @@ CT_REMOVE_DOCS=y # CT_PREFIX_DIR_RO is not set CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y +# CT_TARBALL_RESULT is not set # # Downloading @@ -126,7 +128,6 @@ CT_CONFIG_SHELL="${bash}" CT_LOG_DEBUG=y CT_LOG_LEVEL_MAX="DEBUG" # CT_LOG_SEE_TOOLS_WARN is not set -# CT_LOG_PROGRESS_BAR is not set # CT_LOG_TO_FILE is not set # end of Paths and misc options @@ -137,6 +138,7 @@ CT_LOG_LEVEL_MAX="DEBUG" # CT_ARCH_ARC is not set CT_ARCH_ARM=y # CT_ARCH_AVR is not set +# CT_ARCH_BPF is not set # CT_ARCH_C6X is not set # CT_ARCH_LOONGARCH is not set # CT_ARCH_M68K is not set @@ -163,7 +165,7 @@ CT_ARCH_ARM_SHOW=y # Options for arm # CT_ARCH_ARM_PKG_KSYM="" -CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR C6X LOONGARCH M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA" +CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR BPF C6X LOONGARCH M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA" CT_ARCH_SUFFIX="" # CT_OMIT_TARGET_VENDOR is not set @@ -274,6 +276,9 @@ CT_LINUX_PATCH_GLOBAL=y # CT_LINUX_PATCH_LOCAL_BUNDLED is not set # CT_LINUX_PATCH_NONE is not set CT_LINUX_PATCH_ORDER="global" +# CT_LINUX_V_6_3 is not set +# CT_LINUX_V_6_2 is not set +# CT_LINUX_V_6_1 is not set # CT_LINUX_V_6_0 is not set # CT_LINUX_V_5_19 is not set # CT_LINUX_V_5_18 is not set @@ -378,7 +383,8 @@ CT_BINUTILS_PATCH_GLOBAL=y # CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set # CT_BINUTILS_PATCH_NONE is not set CT_BINUTILS_PATCH_ORDER="global" -CT_BINUTILS_V_2_39=y +CT_BINUTILS_V_2_40=y +# CT_BINUTILS_V_2_39 is not set # CT_BINUTILS_V_2_38 is not set # CT_BINUTILS_V_2_37 is not set # CT_BINUTILS_V_2_36 is not set @@ -392,14 +398,14 @@ CT_BINUTILS_V_2_39=y # CT_BINUTILS_V_2_28 is not set # CT_BINUTILS_V_2_27 is not set # CT_BINUTILS_V_2_26 is not set -CT_BINUTILS_VERSION="2.39" +CT_BINUTILS_VERSION="2.40" CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)" CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz" CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig" +CT_BINUTILS_later_than_2_39=y CT_BINUTILS_2_39_or_later=y -CT_BINUTILS_2_39_or_older=y CT_BINUTILS_later_than_2_30=y CT_BINUTILS_2_30_or_later=y CT_BINUTILS_later_than_2_27=y @@ -454,6 +460,7 @@ CT_GLIBC_PATCH_GLOBAL=y # CT_GLIBC_PATCH_LOCAL_BUNDLED is not set # CT_GLIBC_PATCH_NONE is not set CT_GLIBC_PATCH_ORDER="global" +# CT_GLIBC_V_2_37 is not set # CT_GLIBC_V_2_36 is not set # CT_GLIBC_V_2_35 is not set # CT_GLIBC_V_2_34 is not set @@ -476,6 +483,8 @@ CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz" CT_GLIBC_SIGNATURE_FORMAT="packed/.sig" +CT_GLIBC_2_37_or_older=y +CT_GLIBC_older_than_2_37=y CT_GLIBC_2_36_or_older=y CT_GLIBC_older_than_2_36=y CT_GLIBC_2_34_or_older=y @@ -537,7 +546,7 @@ CT_GLIBC_SSP_DEFAULT=y # CT_GLIBC_SSP_ALL is not set # CT_GLIBC_SSP_STRONG is not set CT_GLIBC_ENABLE_COMMON_FLAG=y -CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC_NG" +CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE PICOLIBC UCLIBC_NG" CT_LIBC_SUPPORT_THREADS_ANY=y CT_LIBC_SUPPORT_THREADS_NATIVE=y @@ -557,6 +566,7 @@ CT_CC_SUPPORT_CXX=y CT_CC_SUPPORT_FORTRAN=y CT_CC_SUPPORT_ADA=y CT_CC_SUPPORT_D=y +CT_CC_SUPPORT_JIT=y CT_CC_SUPPORT_OBJC=y CT_CC_SUPPORT_OBJCXX=y CT_CC_SUPPORT_GOLANG=y @@ -585,7 +595,8 @@ CT_GCC_PATCH_GLOBAL=y # CT_GCC_PATCH_LOCAL_BUNDLED is not set # CT_GCC_PATCH_NONE is not set CT_GCC_PATCH_ORDER="global" -CT_GCC_V_12=y +CT_GCC_V_13=y +# CT_GCC_V_12 is not set # CT_GCC_V_11 is not set # CT_GCC_V_10 is not set # CT_GCC_V_9 is not set @@ -594,12 +605,14 @@ CT_GCC_V_12=y # CT_GCC_V_6 is not set # CT_GCC_V_5 is not set # CT_GCC_V_4_9 is not set -CT_GCC_VERSION="12.2.0" +CT_GCC_VERSION="13.1.0" CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})" CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_GCC_SIGNATURE_FORMAT="" +CT_GCC_later_than_13=y +CT_GCC_13_or_later=y CT_GCC_later_than_12=y CT_GCC_12_or_later=y CT_GCC_later_than_11=y @@ -673,6 +686,7 @@ CT_ALL_CC_CHOICES="GCC" # CT_CC_LANG_CXX=y # CT_CC_LANG_FORTRAN is not set +# CT_CC_LANG_JIT is not set # CT_CC_LANG_ADA is not set # CT_CC_LANG_D is not set # CT_CC_LANG_OBJC is not set @@ -771,7 +785,9 @@ CT_ISL_PATCH_GLOBAL=y # CT_ISL_PATCH_LOCAL_BUNDLED is not set # CT_ISL_PATCH_NONE is not set CT_ISL_PATCH_ORDER="global" -CT_ISL_V_0_24=y +CT_ISL_V_0_26=y +# CT_ISL_V_0_25 is not set +# CT_ISL_V_0_24 is not set # CT_ISL_V_0_23 is not set # CT_ISL_V_0_22 is not set # CT_ISL_V_0_21 is not set @@ -782,7 +798,7 @@ CT_ISL_V_0_24=y # CT_ISL_V_0_16 is not set # CT_ISL_V_0_15 is not set # CT_ISL_V_0_11 is not set -CT_ISL_VERSION="0.24" +CT_ISL_VERSION="0.26" CT_ISL_MIRRORS="https://libisl.sourceforge.io" CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" @@ -879,10 +895,11 @@ CT_NCURSES_PATCH_GLOBAL=y # CT_NCURSES_PATCH_LOCAL_BUNDLED is not set # CT_NCURSES_PATCH_NONE is not set CT_NCURSES_PATCH_ORDER="global" -CT_NCURSES_V_6_2=y +CT_NCURSES_V_6_4=y +# CT_NCURSES_V_6_2 is not set # CT_NCURSES_V_6_1 is not set # CT_NCURSES_V_6_0 is not set -CT_NCURSES_VERSION="6.2" +CT_NCURSES_VERSION="6.4" CT_NCURSES_MIRRORS="https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)" CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" @@ -917,7 +934,29 @@ CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_ZLIB_SIGNATURE_FORMAT="packed/.asc" -CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB" +CT_COMP_LIBS_ZSTD=y +CT_COMP_LIBS_ZSTD_PKG_KSYM="ZSTD" +CT_ZSTD_DIR_NAME="zstd" +CT_ZSTD_PKG_NAME="zstd" +CT_ZSTD_SRC_RELEASE=y +# CT_ZSTD_SRC_DEVEL is not set +# CT_ZSTD_SRC_CUSTOM is not set +CT_ZSTD_PATCH_GLOBAL=y +# CT_ZSTD_PATCH_BUNDLED is not set +# CT_ZSTD_PATCH_LOCAL is not set +# CT_ZSTD_PATCH_BUNDLED_LOCAL is not set +# CT_ZSTD_PATCH_LOCAL_BUNDLED is not set +# CT_ZSTD_PATCH_NONE is not set +CT_ZSTD_PATCH_ORDER="global" +CT_ZSTD_V_1_5_5=y +# CT_ZSTD_V_1_5_2 is not set +CT_ZSTD_VERSION="1.5.5" +CT_ZSTD_MIRRORS="https://github.com/facebook/zstd/releases/download/v${CT_ZSTD_VERSION} https://www.zstd.net/" +CT_ZSTD_ARCHIVE_FILENAME="@{pkg_name}-@{version}" +CT_ZSTD_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" +CT_ZSTD_ARCHIVE_FORMATS=".tar.gz" +CT_ZSTD_SIGNATURE_FORMAT="packed/.sig" +CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB ZSTD" CT_LIBICONV_NEEDED=y CT_GETTEXT_NEEDED=y CT_GMP_NEEDED=y @@ -926,6 +965,7 @@ CT_ISL_NEEDED=y CT_MPC_NEEDED=y CT_NCURSES_NEEDED=y CT_ZLIB_NEEDED=y +CT_ZSTD_NEEDED=y CT_LIBICONV=y CT_GETTEXT=y CT_GMP=y @@ -934,6 +974,7 @@ CT_ISL=y CT_MPC=y CT_NCURSES=y CT_ZLIB=y +CT_ZSTD=y # end of Companion libraries # diff --git a/images/base-win32/cross.meson b/images/base-win32/cross.meson index a52a835..c2a0ad1 100644 --- a/images/base-win32/cross.meson +++ b/images/base-win32/cross.meson @@ -5,6 +5,7 @@ ar = 'i686-w64-mingw32-gcc-ar' ranlib = 'i686-w64-mingw32-gcc-ranlib' strip = 'i686-w64-mingw32-strip' windres = 'i686-w64-mingw32-windres' +dlltool = 'i686-w64-mingw32-dlltool' exe_wrapper = ['wine'] [properties] diff --git a/images/base-win32/ct-ng-config b/images/base-win32/ct-ng-config index 07bdd9f..96759e1 100644 --- a/images/base-win32/ct-ng-config +++ b/images/base-win32/ct-ng-config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# crosstool-NG 1.25.0.90_cf9beb1 Configuration +# crosstool-NG 1.25.0.196_227d99d Configuration # CT_CONFIGURE_has_static_link=y CT_CONFIGURE_has_cxx11=y @@ -13,9 +13,9 @@ CT_CONFIGURE_has_make_3_81_or_newer=y CT_CONFIGURE_has_make_4_0_or_newer=y CT_CONFIGURE_has_libtool_2_4_or_newer=y CT_CONFIGURE_has_libtoolize_2_4_or_newer=y -CT_CONFIGURE_has_autoconf_2_65_or_newer=y -CT_CONFIGURE_has_autoreconf_2_65_or_newer=y -CT_CONFIGURE_has_automake_1_15_or_newer=y +CT_CONFIGURE_has_autoconf_2_71_or_newer=y +CT_CONFIGURE_has_autoreconf_2_71_or_newer=y +CT_CONFIGURE_has_automake_1_16_or_newer=y CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y CT_CONFIGURE_has_python_3_4_or_newer=y CT_CONFIGURE_has_bison_2_7_or_newer=y @@ -28,7 +28,7 @@ CT_CONFIGURE_has_sha1sum=y CT_CONFIGURE_has_sha256sum=y CT_CONFIGURE_has_sha512sum=y CT_CONFIGURE_has_install_with_strip_program=y -CT_VERSION="1.25.0.90_cf9beb1" +CT_VERSION="1.25.0.196_227d99d" CT_VCHECK="" CT_CONFIG_VERSION_ENV="4" CT_CONFIG_VERSION_CURRENT="4" @@ -46,6 +46,7 @@ CT_MODULES=y CT_EXPERIMENTAL=y CT_ALLOW_BUILD_AS_ROOT=y CT_ALLOW_BUILD_AS_ROOT_SURE=y +# CT_ENABLE_EXPERIMENTAL_BUNDLED_PATCHES is not set # CT_DEBUG_CT is not set # @@ -64,6 +65,7 @@ CT_REMOVE_DOCS=y # CT_PREFIX_DIR_RO is not set CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y +# CT_TARBALL_RESULT is not set # # Downloading @@ -126,7 +128,6 @@ CT_CONFIG_SHELL="${bash}" CT_LOG_DEBUG=y CT_LOG_LEVEL_MAX="DEBUG" # CT_LOG_SEE_TOOLS_WARN is not set -# CT_LOG_PROGRESS_BAR is not set # CT_LOG_TO_FILE is not set # end of Paths and misc options @@ -137,6 +138,7 @@ CT_LOG_LEVEL_MAX="DEBUG" # CT_ARCH_ARC is not set # CT_ARCH_ARM is not set # CT_ARCH_AVR is not set +# CT_ARCH_BPF is not set # CT_ARCH_C6X is not set # CT_ARCH_LOONGARCH is not set # CT_ARCH_M68K is not set @@ -163,7 +165,7 @@ CT_ARCH_X86_SHOW=y # Options for x86 # CT_ARCH_X86_PKG_KSYM="" -CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR C6X LOONGARCH M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA" +CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR BPF C6X LOONGARCH M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA" CT_ARCH_SUFFIX="" # CT_OMIT_TARGET_VENDOR is not set @@ -173,6 +175,7 @@ CT_ARCH_SUFFIX="" # CT_MULTILIB is not set CT_DEMULTILIB=y CT_ARCH_USE_MMU=y +CT_ARCH_SUPPORTS_LIBSANITIZER=y CT_ARCH_SUPPORTS_32=y CT_ARCH_SUPPORTS_64=y CT_ARCH_DEFAULT_32=y @@ -292,7 +295,8 @@ CT_BINUTILS_PATCH_GLOBAL=y # CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set # CT_BINUTILS_PATCH_NONE is not set CT_BINUTILS_PATCH_ORDER="global" -CT_BINUTILS_V_2_39=y +CT_BINUTILS_V_2_40=y +# CT_BINUTILS_V_2_39 is not set # CT_BINUTILS_V_2_38 is not set # CT_BINUTILS_V_2_37 is not set # CT_BINUTILS_V_2_36 is not set @@ -306,14 +310,14 @@ CT_BINUTILS_V_2_39=y # CT_BINUTILS_V_2_28 is not set # CT_BINUTILS_V_2_27 is not set # CT_BINUTILS_V_2_26 is not set -CT_BINUTILS_VERSION="2.39" +CT_BINUTILS_VERSION="2.40" CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)" CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz" CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig" +CT_BINUTILS_later_than_2_39=y CT_BINUTILS_2_39_or_later=y -CT_BINUTILS_2_39_or_older=y CT_BINUTILS_later_than_2_30=y CT_BINUTILS_2_30_or_later=y CT_BINUTILS_later_than_2_27=y @@ -364,24 +368,29 @@ CT_MINGW_W64_PATCH_GLOBAL=y # CT_MINGW_W64_PATCH_LOCAL_BUNDLED is not set # CT_MINGW_W64_PATCH_NONE is not set CT_MINGW_W64_PATCH_ORDER="global" -CT_MINGW_W64_V_V9_0=y +CT_MINGW_W64_V_V10_0=y +# CT_MINGW_W64_V_V9_0 is not set # CT_MINGW_W64_V_V8_0 is not set # CT_MINGW_W64_V_V7_0 is not set # CT_MINGW_W64_V_V6_0 is not set # CT_MINGW_W64_V_V5_0 is not set # CT_MINGW_W64_V_V4_0 is not set -CT_MINGW_W64_VERSION="v9.0.0" +CT_MINGW_W64_VERSION="v10.0.0" CT_MINGW_W64_MIRRORS="http://downloads.sourceforge.net/sourceforge/mingw-w64 https://downloads.sourceforge.net/project/mingw-w64/mingw-w64/mingw-w64-release/" CT_MINGW_W64_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_MINGW_W64_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_MINGW_W64_ARCHIVE_FORMATS=".tar.bz2 .zip" CT_MINGW_W64_SIGNATURE_FORMAT="packed/.sig" CT_MINGW_SECURE_API=y +# CT_MINGW_DEFAULT_MSVCRT_DEFAULT is not set +# CT_MINGW_DEFAULT_MSVCRT_MSVCRT is not set +CT_MINGW_DEFAULT_MSVCRT_UCRT=y +# CT_MINGW_DEFAULT_MSVCRT_CUSTOM is not set CT_MINGW_DIRECTX=y CT_MINGW_DDK=y CT_MINGW_TOOLS=y CT_MINGW_TOOL_LIST_ARRAY="gendef genidl genlib genpeimg widl" -CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC_NG" +CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE PICOLIBC UCLIBC_NG" CT_LIBC_SUPPORT_THREADS_ANY=y CT_LIBC_SUPPORT_THREADS_NATIVE=y CT_LIBC_SUPPORT_THREADS_POSIX=y @@ -403,6 +412,7 @@ CT_CC_SUPPORT_CXX=y CT_CC_SUPPORT_FORTRAN=y CT_CC_SUPPORT_ADA=y CT_CC_SUPPORT_D=y +CT_CC_SUPPORT_JIT=y CT_CC_SUPPORT_OBJC=y CT_CC_SUPPORT_OBJCXX=y CT_CC_SUPPORT_GOLANG=y @@ -431,7 +441,8 @@ CT_GCC_PATCH_GLOBAL=y # CT_GCC_PATCH_LOCAL_BUNDLED is not set # CT_GCC_PATCH_NONE is not set CT_GCC_PATCH_ORDER="global" -CT_GCC_V_12=y +CT_GCC_V_13=y +# CT_GCC_V_12 is not set # CT_GCC_V_11 is not set # CT_GCC_V_10 is not set # CT_GCC_V_9 is not set @@ -440,12 +451,14 @@ CT_GCC_V_12=y # CT_GCC_V_6 is not set # CT_GCC_V_5 is not set # CT_GCC_V_4_9 is not set -CT_GCC_VERSION="12.2.0" +CT_GCC_VERSION="13.1.0" CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})" CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_GCC_SIGNATURE_FORMAT="" +CT_GCC_later_than_13=y +CT_GCC_13_or_later=y CT_GCC_later_than_12=y CT_GCC_12_or_later=y CT_GCC_later_than_11=y @@ -516,6 +529,7 @@ CT_ALL_CC_CHOICES="GCC" # CT_CC_LANG_CXX=y # CT_CC_LANG_FORTRAN is not set +# CT_CC_LANG_JIT is not set # CT_CC_LANG_ADA is not set # CT_CC_LANG_D is not set # CT_CC_LANG_OBJC is not set @@ -614,7 +628,9 @@ CT_ISL_PATCH_GLOBAL=y # CT_ISL_PATCH_LOCAL_BUNDLED is not set # CT_ISL_PATCH_NONE is not set CT_ISL_PATCH_ORDER="global" -CT_ISL_V_0_24=y +CT_ISL_V_0_26=y +# CT_ISL_V_0_25 is not set +# CT_ISL_V_0_24 is not set # CT_ISL_V_0_23 is not set # CT_ISL_V_0_22 is not set # CT_ISL_V_0_21 is not set @@ -624,7 +640,7 @@ CT_ISL_V_0_24=y # CT_ISL_V_0_17 is not set # CT_ISL_V_0_16 is not set # CT_ISL_V_0_15 is not set -CT_ISL_VERSION="0.24" +CT_ISL_VERSION="0.26" CT_ISL_MIRRORS="https://libisl.sourceforge.io" CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" @@ -708,7 +724,29 @@ CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_ZLIB_SIGNATURE_FORMAT="packed/.asc" -CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB" +CT_COMP_LIBS_ZSTD=y +CT_COMP_LIBS_ZSTD_PKG_KSYM="ZSTD" +CT_ZSTD_DIR_NAME="zstd" +CT_ZSTD_PKG_NAME="zstd" +CT_ZSTD_SRC_RELEASE=y +# CT_ZSTD_SRC_DEVEL is not set +# CT_ZSTD_SRC_CUSTOM is not set +CT_ZSTD_PATCH_GLOBAL=y +# CT_ZSTD_PATCH_BUNDLED is not set +# CT_ZSTD_PATCH_LOCAL is not set +# CT_ZSTD_PATCH_BUNDLED_LOCAL is not set +# CT_ZSTD_PATCH_LOCAL_BUNDLED is not set +# CT_ZSTD_PATCH_NONE is not set +CT_ZSTD_PATCH_ORDER="global" +CT_ZSTD_V_1_5_5=y +# CT_ZSTD_V_1_5_2 is not set +CT_ZSTD_VERSION="1.5.5" +CT_ZSTD_MIRRORS="https://github.com/facebook/zstd/releases/download/v${CT_ZSTD_VERSION} https://www.zstd.net/" +CT_ZSTD_ARCHIVE_FILENAME="@{pkg_name}-@{version}" +CT_ZSTD_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" +CT_ZSTD_ARCHIVE_FORMATS=".tar.gz" +CT_ZSTD_SIGNATURE_FORMAT="packed/.sig" +CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB ZSTD" # CT_LIBICONV_NEEDED is not set # CT_GETTEXT_NEEDED is not set CT_GMP_NEEDED=y @@ -716,11 +754,13 @@ CT_MPFR_NEEDED=y CT_ISL_NEEDED=y CT_MPC_NEEDED=y CT_ZLIB_NEEDED=y +CT_ZSTD_NEEDED=y CT_GMP=y CT_MPFR=y CT_ISL=y CT_MPC=y CT_ZLIB=y +CT_ZSTD=y # end of Companion libraries # diff --git a/images/base-win64/cross.meson b/images/base-win64/cross.meson index eb16efb..0b5513c 100644 --- a/images/base-win64/cross.meson +++ b/images/base-win64/cross.meson @@ -5,6 +5,7 @@ ar = 'x86_64-w64-mingw32-gcc-ar' ranlib = 'x86_64-w64-mingw32-gcc-ranlib' strip = 'x86_64-w64-mingw32-strip' windres = 'x86_64-w64-mingw32-windres' +dlltool = 'x86_64-w64-mingw32-dlltool' exe_wrapper = ['wine'] [properties] diff --git a/images/base-win64/ct-ng-config b/images/base-win64/ct-ng-config index 83b65cb..340cccd 100644 --- a/images/base-win64/ct-ng-config +++ b/images/base-win64/ct-ng-config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# crosstool-NG 1.25.0.90_cf9beb1 Configuration +# crosstool-NG 1.25.0.196_227d99d Configuration # CT_CONFIGURE_has_static_link=y CT_CONFIGURE_has_cxx11=y @@ -13,9 +13,9 @@ CT_CONFIGURE_has_make_3_81_or_newer=y CT_CONFIGURE_has_make_4_0_or_newer=y CT_CONFIGURE_has_libtool_2_4_or_newer=y CT_CONFIGURE_has_libtoolize_2_4_or_newer=y -CT_CONFIGURE_has_autoconf_2_65_or_newer=y -CT_CONFIGURE_has_autoreconf_2_65_or_newer=y -CT_CONFIGURE_has_automake_1_15_or_newer=y +CT_CONFIGURE_has_autoconf_2_71_or_newer=y +CT_CONFIGURE_has_autoreconf_2_71_or_newer=y +CT_CONFIGURE_has_automake_1_16_or_newer=y CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y CT_CONFIGURE_has_python_3_4_or_newer=y CT_CONFIGURE_has_bison_2_7_or_newer=y @@ -28,7 +28,7 @@ CT_CONFIGURE_has_sha1sum=y CT_CONFIGURE_has_sha256sum=y CT_CONFIGURE_has_sha512sum=y CT_CONFIGURE_has_install_with_strip_program=y -CT_VERSION="1.25.0.90_cf9beb1" +CT_VERSION="1.25.0.196_227d99d" CT_VCHECK="" CT_CONFIG_VERSION_ENV="4" CT_CONFIG_VERSION_CURRENT="4" @@ -46,6 +46,7 @@ CT_MODULES=y CT_EXPERIMENTAL=y CT_ALLOW_BUILD_AS_ROOT=y CT_ALLOW_BUILD_AS_ROOT_SURE=y +# CT_ENABLE_EXPERIMENTAL_BUNDLED_PATCHES is not set # CT_DEBUG_CT is not set # @@ -64,6 +65,7 @@ CT_REMOVE_DOCS=y # CT_PREFIX_DIR_RO is not set CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y +# CT_TARBALL_RESULT is not set # # Downloading @@ -126,7 +128,6 @@ CT_CONFIG_SHELL="${bash}" CT_LOG_DEBUG=y CT_LOG_LEVEL_MAX="DEBUG" # CT_LOG_SEE_TOOLS_WARN is not set -# CT_LOG_PROGRESS_BAR is not set # CT_LOG_TO_FILE is not set # end of Paths and misc options @@ -137,6 +138,7 @@ CT_LOG_LEVEL_MAX="DEBUG" # CT_ARCH_ARC is not set # CT_ARCH_ARM is not set # CT_ARCH_AVR is not set +# CT_ARCH_BPF is not set # CT_ARCH_C6X is not set # CT_ARCH_LOONGARCH is not set # CT_ARCH_M68K is not set @@ -163,7 +165,7 @@ CT_ARCH_X86_SHOW=y # Options for x86 # CT_ARCH_X86_PKG_KSYM="" -CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR C6X LOONGARCH M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA" +CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR BPF C6X LOONGARCH M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA" CT_ARCH_SUFFIX="" # CT_OMIT_TARGET_VENDOR is not set @@ -293,7 +295,8 @@ CT_BINUTILS_PATCH_GLOBAL=y # CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set # CT_BINUTILS_PATCH_NONE is not set CT_BINUTILS_PATCH_ORDER="global" -CT_BINUTILS_V_2_39=y +CT_BINUTILS_V_2_40=y +# CT_BINUTILS_V_2_39 is not set # CT_BINUTILS_V_2_38 is not set # CT_BINUTILS_V_2_37 is not set # CT_BINUTILS_V_2_36 is not set @@ -307,14 +310,14 @@ CT_BINUTILS_V_2_39=y # CT_BINUTILS_V_2_28 is not set # CT_BINUTILS_V_2_27 is not set # CT_BINUTILS_V_2_26 is not set -CT_BINUTILS_VERSION="2.39" +CT_BINUTILS_VERSION="2.40" CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)" CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz" CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig" +CT_BINUTILS_later_than_2_39=y CT_BINUTILS_2_39_or_later=y -CT_BINUTILS_2_39_or_older=y CT_BINUTILS_later_than_2_30=y CT_BINUTILS_2_30_or_later=y CT_BINUTILS_later_than_2_27=y @@ -365,24 +368,29 @@ CT_MINGW_W64_PATCH_GLOBAL=y # CT_MINGW_W64_PATCH_LOCAL_BUNDLED is not set # CT_MINGW_W64_PATCH_NONE is not set CT_MINGW_W64_PATCH_ORDER="global" -CT_MINGW_W64_V_V9_0=y +CT_MINGW_W64_V_V10_0=y +# CT_MINGW_W64_V_V9_0 is not set # CT_MINGW_W64_V_V8_0 is not set # CT_MINGW_W64_V_V7_0 is not set # CT_MINGW_W64_V_V6_0 is not set # CT_MINGW_W64_V_V5_0 is not set # CT_MINGW_W64_V_V4_0 is not set -CT_MINGW_W64_VERSION="v9.0.0" +CT_MINGW_W64_VERSION="v10.0.0" CT_MINGW_W64_MIRRORS="http://downloads.sourceforge.net/sourceforge/mingw-w64 https://downloads.sourceforge.net/project/mingw-w64/mingw-w64/mingw-w64-release/" CT_MINGW_W64_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_MINGW_W64_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_MINGW_W64_ARCHIVE_FORMATS=".tar.bz2 .zip" CT_MINGW_W64_SIGNATURE_FORMAT="packed/.sig" CT_MINGW_SECURE_API=y +# CT_MINGW_DEFAULT_MSVCRT_DEFAULT is not set +# CT_MINGW_DEFAULT_MSVCRT_MSVCRT is not set +CT_MINGW_DEFAULT_MSVCRT_UCRT=y +# CT_MINGW_DEFAULT_MSVCRT_CUSTOM is not set CT_MINGW_DIRECTX=y CT_MINGW_DDK=y CT_MINGW_TOOLS=y CT_MINGW_TOOL_LIST_ARRAY="gendef genidl genlib genpeimg widl" -CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC_NG" +CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE PICOLIBC UCLIBC_NG" CT_LIBC_SUPPORT_THREADS_ANY=y CT_LIBC_SUPPORT_THREADS_NATIVE=y CT_LIBC_SUPPORT_THREADS_POSIX=y @@ -404,6 +412,7 @@ CT_CC_SUPPORT_CXX=y CT_CC_SUPPORT_FORTRAN=y CT_CC_SUPPORT_ADA=y CT_CC_SUPPORT_D=y +CT_CC_SUPPORT_JIT=y CT_CC_SUPPORT_OBJC=y CT_CC_SUPPORT_OBJCXX=y CT_CC_SUPPORT_GOLANG=y @@ -432,7 +441,8 @@ CT_GCC_PATCH_GLOBAL=y # CT_GCC_PATCH_LOCAL_BUNDLED is not set # CT_GCC_PATCH_NONE is not set CT_GCC_PATCH_ORDER="global" -CT_GCC_V_12=y +CT_GCC_V_13=y +# CT_GCC_V_12 is not set # CT_GCC_V_11 is not set # CT_GCC_V_10 is not set # CT_GCC_V_9 is not set @@ -441,12 +451,14 @@ CT_GCC_V_12=y # CT_GCC_V_6 is not set # CT_GCC_V_5 is not set # CT_GCC_V_4_9 is not set -CT_GCC_VERSION="12.2.0" +CT_GCC_VERSION="13.1.0" CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})" CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_GCC_SIGNATURE_FORMAT="" +CT_GCC_later_than_13=y +CT_GCC_13_or_later=y CT_GCC_later_than_12=y CT_GCC_12_or_later=y CT_GCC_later_than_11=y @@ -517,6 +529,7 @@ CT_ALL_CC_CHOICES="GCC" # CT_CC_LANG_CXX=y # CT_CC_LANG_FORTRAN is not set +# CT_CC_LANG_JIT is not set # CT_CC_LANG_ADA is not set # CT_CC_LANG_D is not set # CT_CC_LANG_OBJC is not set @@ -615,7 +628,9 @@ CT_ISL_PATCH_GLOBAL=y # CT_ISL_PATCH_LOCAL_BUNDLED is not set # CT_ISL_PATCH_NONE is not set CT_ISL_PATCH_ORDER="global" -CT_ISL_V_0_24=y +CT_ISL_V_0_26=y +# CT_ISL_V_0_25 is not set +# CT_ISL_V_0_24 is not set # CT_ISL_V_0_23 is not set # CT_ISL_V_0_22 is not set # CT_ISL_V_0_21 is not set @@ -625,7 +640,7 @@ CT_ISL_V_0_24=y # CT_ISL_V_0_17 is not set # CT_ISL_V_0_16 is not set # CT_ISL_V_0_15 is not set -CT_ISL_VERSION="0.24" +CT_ISL_VERSION="0.26" CT_ISL_MIRRORS="https://libisl.sourceforge.io" CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" @@ -709,7 +724,29 @@ CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_ZLIB_SIGNATURE_FORMAT="packed/.asc" -CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB" +CT_COMP_LIBS_ZSTD=y +CT_COMP_LIBS_ZSTD_PKG_KSYM="ZSTD" +CT_ZSTD_DIR_NAME="zstd" +CT_ZSTD_PKG_NAME="zstd" +CT_ZSTD_SRC_RELEASE=y +# CT_ZSTD_SRC_DEVEL is not set +# CT_ZSTD_SRC_CUSTOM is not set +CT_ZSTD_PATCH_GLOBAL=y +# CT_ZSTD_PATCH_BUNDLED is not set +# CT_ZSTD_PATCH_LOCAL is not set +# CT_ZSTD_PATCH_BUNDLED_LOCAL is not set +# CT_ZSTD_PATCH_LOCAL_BUNDLED is not set +# CT_ZSTD_PATCH_NONE is not set +CT_ZSTD_PATCH_ORDER="global" +CT_ZSTD_V_1_5_5=y +# CT_ZSTD_V_1_5_2 is not set +CT_ZSTD_VERSION="1.5.5" +CT_ZSTD_MIRRORS="https://github.com/facebook/zstd/releases/download/v${CT_ZSTD_VERSION} https://www.zstd.net/" +CT_ZSTD_ARCHIVE_FILENAME="@{pkg_name}-@{version}" +CT_ZSTD_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" +CT_ZSTD_ARCHIVE_FORMATS=".tar.gz" +CT_ZSTD_SIGNATURE_FORMAT="packed/.sig" +CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB ZSTD" # CT_LIBICONV_NEEDED is not set # CT_GETTEXT_NEEDED is not set CT_GMP_NEEDED=y @@ -717,11 +754,13 @@ CT_MPFR_NEEDED=y CT_ISL_NEEDED=y CT_MPC_NEEDED=y CT_ZLIB_NEEDED=y +CT_ZSTD_NEEDED=y CT_GMP=y CT_MPFR=y CT_ISL=y CT_MPC=y CT_ZLIB=y +CT_ZSTD=y # end of Companion libraries # diff --git a/images/base/Dockerfile b/images/base/Dockerfile index 8162026..9725cf4 100644 --- a/images/base/Dockerfile +++ b/images/base/Dockerfile @@ -1,11 +1,14 @@ -FROM ubuntu:22.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 \ - xxd pkgconf curl wget unzip git subversion mercurial \ + xxd pkgconf curl wget unzip zip git subversion mercurial \ autoconf automake libtool libtool-bin autopoint gettext cmake clang meson ninja-build \ texinfo texi2html help2man flex bison groff \ gperf itstool ragel libc6-dev libssl-dev \ diff --git a/images/base/run_stage.sh b/images/base/run_stage.sh index 6db0e8d..baf52b1 100755 --- a/images/base/run_stage.sh +++ b/images/base/run_stage.sh @@ -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 diff --git a/makeimage.sh b/makeimage.sh index bbbd4cd..2e63a43 100755 --- a/makeimage.sh +++ b/makeimage.sh @@ -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,29 @@ 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[@]}" +DL_CACHE_TAG="$(./util/get_dl_cache_tag.sh)" +DL_IMAGE="${DL_IMAGE_RAW}:${DL_CACHE_TAG}" + +if docker pull "${DL_IMAGE}"; then + export REGISTRY_OVERRIDE_DL="$REGISTRY" GITHUB_REPOSITORY_DL="$REPO" + ./generate.sh "$TARGET" "$VARIANT" "${ADDINS[@]}" +else + DL_IMAGE="${LOCAL_ROOT}/dl_cache:${DL_CACHE_TAG}" + docker manifest inspect --insecure "${DL_IMAGE}" >/dev/null || + docker buildx --builder ffbuilder build -f Dockerfile.dl \ + --cache-from=type=local,src=.cache/dl_image_cache \ + --cache-to=type=local,mode=max,dest=.cache/dl_image_cache \ + --push --tag "${DL_IMAGE}" . +fi 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 diff --git a/scripts.d/10-mingw-std-threads.sh b/scripts.d/10-mingw-std-threads.sh index ad55011..d1ced26 100755 --- a/scripts.d/10-mingw-std-threads.sh +++ b/scripts.d/10-mingw-std-threads.sh @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" mingw-std-threads - cd mingw-std-threads + cd "$FFBUILD_DLDIR/$SELF" mkdir -p "$FFBUILD_PREFIX"/include cp *.h "$FFBUILD_PREFIX"/include diff --git a/scripts.d/10-mingw.sh b/scripts.d/10-mingw.sh index 1ad40ec..d0a6546 100755 --- a/scripts.d/10-mingw.sh +++ b/scripts.d/10-mingw.sh @@ -1,7 +1,7 @@ #!/bin/bash -SCRIPT_REPO="https://github.com/mirror/mingw-w64.git" -SCRIPT_COMMIT="8708b7d92f0d923c0f7196dd7d2aa12c02aa766d" +SCRIPT_REPO="https://git.code.sf.net/p/mingw-w64/mingw-w64.git" +SCRIPT_COMMIT="3638d5e9a6f28354bc3e18f04ba0d97e2cc3b44c" ffbuild_enabled() { [[ $TARGET == win* ]] || return -1 @@ -17,9 +17,12 @@ ffbuild_dockerfinal() { to_df "COPY --from=${PREVLAYER} /opt/mingw/. /" } +ffbuild_dockerdl() { + to_df "RUN retry-tool sh -c \"rm -rf mingw && git clone '$SCRIPT_REPO' mingw\" && cd mingw && git checkout \"$SCRIPT_COMMIT\"" +} + ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" mingw - cd mingw + cd "$FFBUILD_DLDIR/mingw" cd mingw-w64-headers @@ -34,6 +37,7 @@ ffbuild_dockerbuild() { --prefix="$GCC_SYSROOT/usr/$FFBUILD_TOOLCHAIN" --host="$FFBUILD_TOOLCHAIN" --with-default-win32-winnt="0x601" + --with-default-msvcrt=ucrt --enable-idl ) diff --git a/scripts.d/10-xorg-macros.sh b/scripts.d/10-xorg-macros.sh index 0de4dd6..d336ff1 100755 --- a/scripts.d/10-xorg-macros.sh +++ b/scripts.d/10-xorg-macros.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/util/macros.git" -SCRIPT_COMMIT="0326ba3c4caa34116c0e7e4af98661858cf25d1c" +SCRIPT_COMMIT="cb147377e9341af05232f95814022abdecf14024" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 @@ -14,8 +14,7 @@ ffbuild_dockerlayer() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" xorg-macros - cd xorg-macros + cd "$FFBUILD_DLDIR/$SELF" autoreconf -i ./configure --prefix="$FFBUILD_PREFIX" diff --git a/scripts.d/20-libiconv.sh b/scripts.d/20-libiconv.sh index 016c49a..6303f14 100755 --- a/scripts.d/20-libiconv.sh +++ b/scripts.d/20-libiconv.sh @@ -1,19 +1,21 @@ #!/bin/bash SCRIPT_REPO="https://git.savannah.gnu.org/git/libiconv.git" -SCRIPT_COMMIT="0a05ca75c08ae899f6fca5f79254491e13ffb500" +SCRIPT_COMMIT="6e2b31f6d66739c5abd850338ea68c6bd2012812" ffbuild_enabled() { return 0 } -ffbuild_dockerbuild() { - git clone "$SCRIPT_REPO" iconv - cd iconv - git checkout "$SCRIPT_COMMIT" +ffbuild_dockerdl() { + to_df "RUN retry-tool sh -c \"rm -rf $SELF && git clone '$SCRIPT_REPO' $SELF\" && git -C $SELF checkout \"$SCRIPT_COMMIT\"" + to_df "RUN cd $SELF && retry-tool ./autopull.sh --one-time" +} - ./gitsub.sh pull - ./autogen.sh +ffbuild_dockerbuild() { + cd "$FFBUILD_DLDIR/$SELF" + + (unset CC CFLAGS GMAKE && ./autogen.sh) local myconf=( --prefix="$FFBUILD_PREFIX" diff --git a/scripts.d/20-libxml2.sh b/scripts.d/20-libxml2.sh index cda35ae..40dfe1b 100755 --- a/scripts.d/20-libxml2.sh +++ b/scripts.d/20-libxml2.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.gnome.org/GNOME/libxml2.git" -SCRIPT_COMMIT="15c9f4353311c7b765e9e72e63779a161c21f010" +SCRIPT_COMMIT="884474477284474e0151280aaa275a18e3d7a036" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxml2 - cd libxml2 + cd "$FFBUILD_DLDIR/$SELF" local myconf=( --prefix="$FFBUILD_PREFIX" diff --git a/scripts.d/20-zlib.sh b/scripts.d/20-zlib.sh index c400b17..b9f4d5c 100755 --- a/scripts.d/20-zlib.sh +++ b/scripts.d/20-zlib.sh @@ -8,8 +8,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" zlib - cd zlib + cd "$FFBUILD_DLDIR/$SELF" local myconf=( --prefix="$FFBUILD_PREFIX" diff --git a/scripts.d/25-fftw3.sh b/scripts.d/25-fftw3.sh index bd97245..ede5622 100755 --- a/scripts.d/25-fftw3.sh +++ b/scripts.d/25-fftw3.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://github.com/FFTW/fftw3.git" -SCRIPT_COMMIT="9426cd59106ffddde1f55131c07fa9c562fa2f8e" +SCRIPT_COMMIT="69f6c1a6ebd7ac5af33e7074134fb79fbc729c3d" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT_PINNED" fftw3 - cd fftw3 + cd "$FFBUILD_DLDIR/$SELF" local myconf=( --prefix="$FFBUILD_PREFIX" diff --git a/scripts.d/25-freetype.sh b/scripts.d/25-freetype.sh index 2b57937..bcb52ed 100755 --- a/scripts.d/25-freetype.sh +++ b/scripts.d/25-freetype.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/freetype/freetype.git" -SCRIPT_COMMIT="dacbb55433079fb3539163862958a6b9466a0661" +SCRIPT_COMMIT="dec2743e6a2a40cddfc8a9892895cb4f861e1eeb" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" freetype - cd freetype + cd "$FFBUILD_DLDIR/$SELF" ./autogen.sh diff --git a/scripts.d/25-fribidi.sh b/scripts.d/25-fribidi.sh index 18b8a75..b9d824a 100755 --- a/scripts.d/25-fribidi.sh +++ b/scripts.d/25-fribidi.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://github.com/fribidi/fribidi.git" -SCRIPT_COMMIT="2c2a014bf7161d43ed9f0f23f383be176a4f9df3" +SCRIPT_COMMIT="b54871c339dabb7434718da3fed2fa63320997e5" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" fribidi - cd fribidi + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/25-gmp.sh b/scripts.d/25-gmp.sh index 926f715..3884ce6 100755 --- a/scripts.d/25-gmp.sh +++ b/scripts.d/25-gmp.sh @@ -1,15 +1,14 @@ #!/bin/bash -SCRIPT_REPO="https://gmplib.org/repo/gmp/" -SCRIPT_HGREV="614a1cd8bb1d" +SCRIPT_REPO="https://github.com/BtbN/gmplib.git" +SCRIPT_COMMIT="1d7f62515fc8f5109fabace9592d863417f17c37" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - retry-tool sh -c "rm -rf gmp && hg clone -r '$SCRIPT_HGREV' -u '$SCRIPT_HGREV' '$SCRIPT_REPO' gmp" - cd gmp + cd "$FFBUILD_DLDIR/$SELF" ./.bootstrap diff --git a/scripts.d/25-libogg.sh b/scripts.d/25-libogg.sh index 5b48232..066f8fa 100755 --- a/scripts.d/25-libogg.sh +++ b/scripts.d/25-libogg.sh @@ -8,8 +8,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" ogg - cd ogg + cd "$FFBUILD_DLDIR/$SELF" ./autogen.sh diff --git a/scripts.d/25-openssl.sh b/scripts.d/25-openssl.sh index f7ce7e3..63131eb 100755 --- a/scripts.d/25-openssl.sh +++ b/scripts.d/25-openssl.sh @@ -1,16 +1,20 @@ #!/bin/bash SCRIPT_REPO="https://github.com/openssl/openssl.git" -SCRIPT_COMMIT="OpenSSL_1_1_1t" -SCRIPT_TAGFILTER="OpenSSL_1_1_1*" +SCRIPT_COMMIT="openssl-3.0.9" +SCRIPT_TAGFILTER="openssl-3.0.*" ffbuild_enabled() { return 0 } +ffbuild_dockerdl() { + default_dl "$SELF" + to_df "RUN git -C \"$SELF\" submodule update --init --recursive --depth=1" +} + ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" openssl - cd openssl + cd "$FFBUILD_DLDIR/$SELF" local myconf=( threads @@ -20,6 +24,7 @@ ffbuild_dockerbuild() { enable-ec enable-srp --prefix="$FFBUILD_PREFIX" + --libdir=lib ) if [[ $TARGET == win64 ]]; then @@ -51,15 +56,20 @@ ffbuild_dockerbuild() { export CXXFLAGS="$CXXFLAGS -fno-strict-aliasing" # OpenSSL build system prepends the cross prefix itself - export CC="gcc" - export CXX="g++" - export AR="gcc-ar" - export RANLIB="gcc-ranlib" + export CC="${CC/${FFBUILD_CROSS_PREFIX}/}" + export CXX="${CXX/${FFBUILD_CROSS_PREFIX}/}" + export AR="${AR/${FFBUILD_CROSS_PREFIX}/}" + export RANLIB="${RANLIB/${FFBUILD_CROSS_PREFIX}/}" ./Configure "${myconf[@]}" sed -i -e "/^CFLAGS=/s|=.*|=${CFLAGS}|" -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" Makefile - make -j$(nproc) + make -j$(nproc) build_sw make install_sw } + +ffbuild_configure() { + [[ $TARGET == win* ]] && return 0 + echo --enable-openssl +} diff --git a/scripts.d/25-xz.sh b/scripts.d/25-xz.sh index 4f02f98..4d9581b 100755 --- a/scripts.d/25-xz.sh +++ b/scripts.d/25-xz.sh @@ -1,17 +1,16 @@ #!/bin/bash SCRIPT_REPO="https://github.com/xz-mirror/xz.git" -SCRIPT_COMMIT="1dbe12b90cff79bb51923733ac0840747b4b4131" +SCRIPT_COMMIT="66bdcfa85fef2911cc80f5f30fed3f9610faccb4" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" xz - cd xz + cd "$FFBUILD_DLDIR/$SELF" - ./autogen.sh --no-po4a + ./autogen.sh --no-po4a --no-doxygen local myconf=( --prefix="$FFBUILD_PREFIX" diff --git a/scripts.d/35-fontconfig.sh b/scripts.d/35-fontconfig.sh index 3c20840..aba3f20 100755 --- a/scripts.d/35-fontconfig.sh +++ b/scripts.d/35-fontconfig.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/fontconfig/fontconfig.git" -SCRIPT_COMMIT="2ef790a0dbbab24235d1b8c0325ab4414de5f0a9" +SCRIPT_COMMIT="7e2a1b2577e8d90ea5be3f14091e809ac7742438" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" fc - cd fc + cd "$FFBUILD_DLDIR/$SELF" ./autogen.sh --noconf @@ -22,7 +21,13 @@ ffbuild_dockerbuild() { --enable-static ) - if [[ $TARGET == win* || $TARGET == linux* ]]; then + if [[ $TARGET == linux* ]]; then + myconf+=( + --sysconfdir=/etc + --localstatedir=/var + --host="$FFBUILD_TOOLCHAIN" + ) + elif [[ $TARGET == win* ]]; then myconf+=( --host="$FFBUILD_TOOLCHAIN" ) diff --git a/scripts.d/45-harfbuzz.sh b/scripts.d/45-harfbuzz.sh index e908674..65c2f38 100755 --- a/scripts.d/45-harfbuzz.sh +++ b/scripts.d/45-harfbuzz.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://github.com/harfbuzz/harfbuzz.git" -SCRIPT_COMMIT="8bdaeddfcd86aa66f560ff1ae1ae71b1e1723463" +SCRIPT_COMMIT="73ee9c346f3acccbe14a4caf258b636de7c459be" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" harfbuzz - cd harfbuzz + cd "$FFBUILD_DLDIR/$SELF" local myconf=( --prefix="$FFBUILD_PREFIX" diff --git a/scripts.d/45-libsamplerate.sh b/scripts.d/45-libsamplerate.sh index 4f06107..701f294 100755 --- a/scripts.d/45-libsamplerate.sh +++ b/scripts.d/45-libsamplerate.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://github.com/libsndfile/libsamplerate.git" -SCRIPT_COMMIT="c01e2405612ad3561bf93e8e6dddb9ba0dffe4d9" +SCRIPT_COMMIT="22bd06eb114850ebe31981eb794d150a95439fef" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libsr - cd libsr + cd "$FFBUILD_DLDIR/$SELF" mkdir build cd build diff --git a/scripts.d/45-libudfread.sh b/scripts.d/45-libudfread.sh index e46ea84..58b5780 100755 --- a/scripts.d/45-libudfread.sh +++ b/scripts.d/45-libudfread.sh @@ -8,8 +8,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libudfread - cd libudfread + cd "$FFBUILD_DLDIR/$SELF" ./bootstrap diff --git a/scripts.d/45-libvorbis.sh b/scripts.d/45-libvorbis.sh index 1499431..4b5cde8 100755 --- a/scripts.d/45-libvorbis.sh +++ b/scripts.d/45-libvorbis.sh @@ -8,8 +8,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" vorbis - cd vorbis + cd "$FFBUILD_DLDIR/$SELF" ./autogen.sh diff --git a/scripts.d/45-opencl.sh b/scripts.d/45-opencl.sh index affb991..dfbda16 100755 --- a/scripts.d/45-opencl.sh +++ b/scripts.d/45-opencl.sh @@ -1,25 +1,27 @@ #!/bin/bash SCRIPT_REPO="https://github.com/KhronosGroup/OpenCL-Headers.git" -SCRIPT_COMMIT="4c82e9cfaaad18c340f48af3cf5d09ff33e8c1b7" +SCRIPT_COMMIT="e049b16b5f157e2f28e7b5c301e71e1ccb3fe288" SCRIPT_REPO2="https://github.com/KhronosGroup/OpenCL-ICD-Loader.git" -SCRIPT_COMMIT2="2cde5d09953a041786d1cfdcb1c08704a82cb904" +SCRIPT_COMMIT2="229410f86a8c8c9e0f86f195409e5481a2bae067" ffbuild_enabled() { return 0 } -ffbuild_dockerbuild() { - mkdir opencl && cd opencl +ffbuild_dockerdl() { + default_dl opencl/headers + to_df "RUN git-mini-clone \"$SCRIPT_REPO2\" \"$SCRIPT_COMMIT2\" opencl/loader" +} + +ffbuild_dockerbuild() { + cd "$FFBUILD_DLDIR"/opencl - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" headers 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" \ diff --git a/scripts.d/45-pulseaudio.sh b/scripts.d/45-pulseaudio.sh index 8d96ad0..356b6be 100755 --- a/scripts.d/45-pulseaudio.sh +++ b/scripts.d/45-pulseaudio.sh @@ -1,17 +1,19 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git" -SCRIPT_COMMIT="300db779224625144d6279d230c2daa857c967d8" +SCRIPT_COMMIT="e96d278bfc514f290b60c9e924fabc1c772e1689" ffbuild_enabled() { [[ $TARGET == linux* ]] || return 1 return 0 } +ffbuild_dockerdl() { + to_df "RUN git clone --filter=blob:none \"$SCRIPT_REPO\" \"$SELF\" && git -C \"$SELF\" checkout \"$SCRIPT_COMMIT\"" +} + ffbuild_dockerbuild() { - git clone --filter=blob:none "$SCRIPT_REPO" pa - cd pa - git checkout "$SCRIPT_COMMIT" + cd "$FFBUILD_DLDIR/$SELF" # Kill build of utils and their sndfile dep echo > src/utils/meson.build diff --git a/scripts.d/45-vmaf.sh b/scripts.d/45-vmaf.sh index bf70802..1ad7bac 100755 --- a/scripts.d/45-vmaf.sh +++ b/scripts.d/45-vmaf.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://github.com/Netflix/vmaf.git" -SCRIPT_COMMIT="e81d12e75629f6f0730077bfa7e28764c41b2907" +SCRIPT_COMMIT="98bdd77b296da207ab42c3113ec8f30de58db197" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" vmaf - cd vmaf + cd "$FFBUILD_DLDIR/$SELF" # Kill build of unused and broken tools echo > libvmaf/tools/meson.build diff --git a/scripts.d/45-x11/10-xcbproto.sh b/scripts.d/45-x11/10-xcbproto.sh index 1726024..75dfd3d 100755 --- a/scripts.d/45-x11/10-xcbproto.sh +++ b/scripts.d/45-x11/10-xcbproto.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/proto/xcbproto.git" -SCRIPT_COMMIT="842d91316243eb1f2e208231acc1512c2cf43a1f" +SCRIPT_COMMIT="91178913c25b19e0457cdf6d21e00e6a613823e2" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" xcbproto - cd xcbproto + cd "$FFBUILD_DLDIR/$SELF" autoreconf -i diff --git a/scripts.d/45-x11/10-xproto.sh b/scripts.d/45-x11/10-xproto.sh index a4f3bc7..e0e1428 100755 --- a/scripts.d/45-x11/10-xproto.sh +++ b/scripts.d/45-x11/10-xproto.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/proto/xorgproto.git" -SCRIPT_COMMIT="1b6e63b2c38a0cf6cd1c70bfc5483cac0d1710e1" +SCRIPT_COMMIT="766967322209f2dcb72e6a8edea0c651f586201d" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" xproto - cd xproto + cd "$FFBUILD_DLDIR/$SELF" autoreconf -i diff --git a/scripts.d/45-x11/10-xtrans.sh b/scripts.d/45-x11/10-xtrans.sh index 44b02e0..3f582b9 100755 --- a/scripts.d/45-x11/10-xtrans.sh +++ b/scripts.d/45-x11/10-xtrans.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxtrans.git" -SCRIPT_COMMIT="c761c6505d49e8381a3eae94f2e5e118cbdf6487" +SCRIPT_COMMIT="3b3a3bd75d86aec78f6ef893b198c3efc378bc64" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxtrans - cd libxtrans + cd "$FFBUILD_DLDIR/$SELF" autoreconf -i diff --git a/scripts.d/45-x11/20-libxau.sh b/scripts.d/45-x11/20-libxau.sh index 8dc79c5..19d9fde 100755 --- a/scripts.d/45-x11/20-libxau.sh +++ b/scripts.d/45-x11/20-libxau.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxau.git" -SCRIPT_COMMIT="14fdf25db9f21c8f3ad37f0d32a5b8e726efdc0d" +SCRIPT_COMMIT="df1bf4fe528a5a9eef420f78efb225e4696ac467" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxau - cd libxau + cd "$FFBUILD_DLDIR/$SELF" autoreconf -i diff --git a/scripts.d/45-x11/30-libxcb.sh b/scripts.d/45-x11/30-libxcb.sh index 267d9f7..588568d 100755 --- a/scripts.d/45-x11/30-libxcb.sh +++ b/scripts.d/45-x11/30-libxcb.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxcb.git" -SCRIPT_COMMIT="4d1a578dd5348909ade2a853d806272326d228d7" +SCRIPT_COMMIT="8935793f1f3751a6aa9d78955c7d6236177986de" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxcb - cd libxcb + cd "$FFBUILD_DLDIR/$SELF" autoreconf -i diff --git a/scripts.d/45-x11/40-libx11.sh b/scripts.d/45-x11/40-libx11.sh index c5b4fcc..8d90f37 100755 --- a/scripts.d/45-x11/40-libx11.sh +++ b/scripts.d/45-x11/40-libx11.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libx11.git" -SCRIPT_COMMIT="fc5ec8edda1efdf5d66db4e76796e3c407527b3b" +SCRIPT_COMMIT="af2b6dfab1616dc85be9c9b196e4c56d00447851" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libx11 - cd libx11 + cd "$FFBUILD_DLDIR/$SELF" autoreconf -i diff --git a/scripts.d/45-x11/50-libxext.sh b/scripts.d/45-x11/50-libxext.sh index d9c10ce..2e73d25 100755 --- a/scripts.d/45-x11/50-libxext.sh +++ b/scripts.d/45-x11/50-libxext.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxext.git" -SCRIPT_COMMIT="e8556ab06e03b59e9a512eb02955247efd4c4054" +SCRIPT_COMMIT="de2ebd62c1eb8fe16c11aceac4a6981bda124cf4" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxext - cd libxext + cd "$FFBUILD_DLDIR/$SELF" autoreconf -i diff --git a/scripts.d/45-x11/50-libxfixes.sh b/scripts.d/45-x11/50-libxfixes.sh index fa8efc9..80fa4dd 100755 --- a/scripts.d/45-x11/50-libxfixes.sh +++ b/scripts.d/45-x11/50-libxfixes.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxfixes.git" -SCRIPT_COMMIT="332394278b7110a774b5277bb3cfc58c42cd888c" +SCRIPT_COMMIT="c1cab28e27dd1c5a81394965248b57e490ccf2ca" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxfixes - cd libxfixes + cd "$FFBUILD_DLDIR/$SELF" autoreconf -i diff --git a/scripts.d/45-x11/50-libxi.sh b/scripts.d/45-x11/50-libxi.sh index 6dfa355..f979476 100755 --- a/scripts.d/45-x11/50-libxi.sh +++ b/scripts.d/45-x11/50-libxi.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxi.git" -SCRIPT_COMMIT="08431d0684f9a1edf199f6c6060d2bef1ac78399" +SCRIPT_COMMIT="3a7503ec7703f10de17c622ea22b7bff736cea74" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxi - cd libxi + cd "$FFBUILD_DLDIR/$SELF" autoreconf -i diff --git a/scripts.d/45-x11/50-libxinerama.sh b/scripts.d/45-x11/50-libxinerama.sh index 1af078e..6f24a94 100755 --- a/scripts.d/45-x11/50-libxinerama.sh +++ b/scripts.d/45-x11/50-libxinerama.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxinerama.git" -SCRIPT_COMMIT="71dfee64feb84f907016940263b235a61c9e8960" +SCRIPT_COMMIT="51c28095951676a5896437c4c3aa40fb1972bad2" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxinerama - cd libxinerama + cd "$FFBUILD_DLDIR/$SELF" autoreconf -i diff --git a/scripts.d/45-x11/50-libxrender.sh b/scripts.d/45-x11/50-libxrender.sh index 529d747..4f5566f 100755 --- a/scripts.d/45-x11/50-libxrender.sh +++ b/scripts.d/45-x11/50-libxrender.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxrender.git" -SCRIPT_COMMIT="e5e23272394c90731debd7e18dd167e8c25b5c15" +SCRIPT_COMMIT="07efd80468f6b595e6432edd28b8560ca7695ba0" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxrender - cd libxrender + cd "$FFBUILD_DLDIR/$SELF" autoreconf -i diff --git a/scripts.d/45-x11/50-libxscrnsaver.sh b/scripts.d/45-x11/50-libxscrnsaver.sh index 0f152d2..fec2cab 100755 --- a/scripts.d/45-x11/50-libxscrnsaver.sh +++ b/scripts.d/45-x11/50-libxscrnsaver.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxscrnsaver.git" -SCRIPT_COMMIT="34f3f72b88c0a0a10d618e9dfbc88474ae5ce880" +SCRIPT_COMMIT="9b4e000c6c4ae213a3e52345751d885543f17929" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxscrnsaver - cd libxscrnsaver + cd "$FFBUILD_DLDIR/$SELF" autoreconf -i diff --git a/scripts.d/45-x11/50-libxxf86vm.sh b/scripts.d/45-x11/50-libxxf86vm.sh index 2d706a1..72dd8fa 100755 --- a/scripts.d/45-x11/50-libxxf86vm.sh +++ b/scripts.d/45-x11/50-libxxf86vm.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxxf86vm.git" -SCRIPT_COMMIT="7fe2d41f164d3015216c1079cc7fbce1eea90c98" +SCRIPT_COMMIT="cfda59347e3a04415340a99f925a9cd85c0531b2" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxxf86vm - cd libxxf86vm + cd "$FFBUILD_DLDIR/$SELF" autoreconf -i diff --git a/scripts.d/45-x11/60-libglvnd.sh b/scripts.d/45-x11/60-libglvnd.sh index cd51237..15c439f 100755 --- a/scripts.d/45-x11/60-libglvnd.sh +++ b/scripts.d/45-x11/60-libglvnd.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/glvnd/libglvnd.git" -SCRIPT_COMMIT="dba80d0158b587de91640fae5c0b420c23599d1e" +SCRIPT_COMMIT="179d7278d7485ceea2d440807be9d677d32aedc4" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" glvnd - cd glvnd + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/45-x11/60-libxcursor.sh b/scripts.d/45-x11/60-libxcursor.sh index 8ddb57c..eaa36f8 100755 --- a/scripts.d/45-x11/60-libxcursor.sh +++ b/scripts.d/45-x11/60-libxcursor.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxcursor.git" -SCRIPT_COMMIT="87a30b1758b7757dd74d0a70e871d7af1cac3a44" +SCRIPT_COMMIT="a353f02a7ac4504ad5edb5407278c7a03c507aef" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxcursor - cd libxcursor + cd "$FFBUILD_DLDIR/$SELF" autoreconf -i diff --git a/scripts.d/45-x11/60-libxrandr.sh b/scripts.d/45-x11/60-libxrandr.sh index 5ba854c..ab1cdbc 100755 --- a/scripts.d/45-x11/60-libxrandr.sh +++ b/scripts.d/45-x11/60-libxrandr.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxrandr.git" -SCRIPT_COMMIT="3387129532899eaeee3477a2d92fa662d7292a84" +SCRIPT_COMMIT="5b96863cf2a34ee9e72ffc4ec6415bc59b6121fc" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxrandr - cd libxrandr + cd "$FFBUILD_DLDIR/$SELF" autoreconf -i diff --git a/scripts.d/45-x11/60-libxv.sh b/scripts.d/45-x11/60-libxv.sh index ebcf8da..980490e 100755 --- a/scripts.d/45-x11/60-libxv.sh +++ b/scripts.d/45-x11/60-libxv.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libxv.git" -SCRIPT_COMMIT="d419928942dbf1897c9627475aa4a2828a81240f" +SCRIPT_COMMIT="b022c9cf7004fe6f794c4c00dd519a2e4c74eca0" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 @@ -10,8 +10,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libxv - cd libxv + cd "$FFBUILD_DLDIR/$SELF" autoreconf -i diff --git a/scripts.d/45-x11/99-finalize.sh b/scripts.d/45-x11/99-finalize.sh index 1714e39..c63652b 100755 --- a/scripts.d/45-x11/99-finalize.sh +++ b/scripts.d/45-x11/99-finalize.sh @@ -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 diff --git a/scripts.d/50-amf.sh b/scripts.d/50-amf.sh index 72311dc..73ed13c 100755 --- a/scripts.d/50-amf.sh +++ b/scripts.d/50-amf.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://github.com/GPUOpen-LibrariesAndSDKs/AMF.git" -SCRIPT_COMMIT="37452e9e60940f04fc235a923ffcc31c407240fa" +SCRIPT_COMMIT="68f2396f1a55a5b12767f5433411bb4093ea65ed" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" amf - cd amf + cd "$FFBUILD_DLDIR/$SELF" mkdir -p "$FFBUILD_PREFIX"/include mv amf/public/include "$FFBUILD_PREFIX"/include/AMF diff --git a/scripts.d/50-aom.sh b/scripts.d/50-aom.sh index de0f852..89b526e 100755 --- a/scripts.d/50-aom.sh +++ b/scripts.d/50-aom.sh @@ -1,19 +1,18 @@ #!/bin/bash SCRIPT_REPO="https://aomedia.googlesource.com/aom" -SCRIPT_COMMIT="93fc4d7a259cde11f1c7612867eb33973a26b72d" +SCRIPT_COMMIT="83ccc009eade321c8723ae0da8655fc68ce6a128" ffbuild_enabled() { return 0 } 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=/,dst=\$FFBUILD_DLDIR,from=${DL_IMAGE},rw --mount=src=patches/aom,dst=/patches run_stage /stage.sh" } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" aom - cd aom + cd "$FFBUILD_DLDIR/$SELF" for patch in /patches/*.patch; do echo "Applying $patch" diff --git a/scripts.d/50-aribb24/25-libpng.sh b/scripts.d/50-aribb24/25-libpng.sh index 267c86c..e7aa9ff 100755 --- a/scripts.d/50-aribb24/25-libpng.sh +++ b/scripts.d/50-aribb24/25-libpng.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://github.com/glennrp/libpng.git" -SCRIPT_COMMIT="aab24fa1b3ccaab8770902a3c50ea9564925d053" +SCRIPT_COMMIT="82414985c1085737bccd3eedb0aaa997451f5d32" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libpng - cd libpng + cd "$FFBUILD_DLDIR/$SELF" autoreconf -i diff --git a/scripts.d/50-aribb24/50-libaribb24.sh b/scripts.d/50-aribb24/50-libaribb24.sh index 30a7c05..c032178 100755 --- a/scripts.d/50-aribb24/50-libaribb24.sh +++ b/scripts.d/50-aribb24/50-libaribb24.sh @@ -8,12 +8,11 @@ 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=/,dst=\$FFBUILD_DLDIR,from=${DL_IMAGE},rw --mount=src=patches/aribb24,dst=/patches run_stage /stage.sh" } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" aribb24 - cd aribb24 + cd "$FFBUILD_DLDIR/$SELF" for patch in /patches/*.patch; do echo "Applying $patch" diff --git a/scripts.d/50-avisynth.sh b/scripts.d/50-avisynth.sh index 8aea76b..4978378 100755 --- a/scripts.d/50-avisynth.sh +++ b/scripts.d/50-avisynth.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/AviSynth/AviSynthPlus.git" -SCRIPT_COMMIT="09f362bd2402335afd0b766b496bcd0855c58aa0" +SCRIPT_COMMIT="fc5b9bc41fd47001b7da39ea777d29c0ede2a2a7" ffbuild_enabled() { [[ $VARIANT == lgpl* ]] && return -1 @@ -9,8 +9,10 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" avisynth - cd avisynth + cd "$FFBUILD_DLDIR/$SELF" + + # their version check is insistant on a tag to exist, so make one + git tag -a ffbuild -m "FFbuild Version" mkdir build && cd build diff --git a/scripts.d/50-chromaprint.sh b/scripts.d/50-chromaprint.sh index 85c7149..cdec6d4 100755 --- a/scripts.d/50-chromaprint.sh +++ b/scripts.d/50-chromaprint.sh @@ -12,8 +12,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" chromaprint - cd chromaprint + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-dav1d.sh b/scripts.d/50-dav1d.sh index 17051f1..ca12597 100755 --- a/scripts.d/50-dav1d.sh +++ b/scripts.d/50-dav1d.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://code.videolan.org/videolan/dav1d.git" -SCRIPT_COMMIT="9b4b2448106f863bfa4789ba6e86555ad57c838f" +SCRIPT_COMMIT="a7e12b628472516718d37108fde7d438b14a0372" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" dav1d - cd dav1d + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-davs2.sh b/scripts.d/50-davs2.sh index fb5dcbb..1e4cd15 100755 --- a/scripts.d/50-davs2.sh +++ b/scripts.d/50-davs2.sh @@ -11,10 +11,12 @@ ffbuild_enabled() { return 0 } +ffbuild_dockerdl() { + to_df "RUN git clone \"$SCRIPT_REPO\" \"$SELF\" && git -C \"$SELF\" checkout \"$SCRIPT_COMMIT\"" +} + ffbuild_dockerbuild() { - git clone "$SCRIPT_REPO" davs2 - cd davs2 - git checkout "$SCRIPT_COMMIT" + cd "$FFBUILD_DLDIR/$SELF" cd build/linux local myconf=( diff --git a/scripts.d/50-fdk-aac.sh b/scripts.d/50-fdk-aac.sh index 9e6c9c3..e5f69b6 100755 --- a/scripts.d/50-fdk-aac.sh +++ b/scripts.d/50-fdk-aac.sh @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" fdk - cd fdk + cd "$FFBUILD_DLDIR/$SELF" ./autogen.sh diff --git a/scripts.d/50-ffnvcodec.sh b/scripts.d/50-ffnvcodec.sh index 920a82e..63862b5 100755 --- a/scripts.d/50-ffnvcodec.sh +++ b/scripts.d/50-ffnvcodec.sh @@ -1,24 +1,28 @@ #!/bin/bash SCRIPT_REPO="https://github.com/FFmpeg/nv-codec-headers.git" -SCRIPT_COMMIT="c5e4af74850a616c42d39ed45b9b8568b71bf8bf" +SCRIPT_COMMIT="855f8263d97bbdcaeabaaaa2997e1ccad7c52dc3" SCRIPT_REPO2="https://github.com/FFmpeg/nv-codec-headers.git" -SCRIPT_COMMIT2="2055784e5d5bfb3df78d4d3645f345f19062dce2" +SCRIPT_COMMIT2="dc3e4484dc83485734e503991fe5ed3bdf256fba" SCRIPT_BRANCH2="sdk/11.1" ffbuild_enabled() { return 0 } +ffbuild_dockerdl() { + default_dl ffnvcodec + to_df "RUN 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 } diff --git a/scripts.d/50-frei0r.sh b/scripts.d/50-frei0r.sh index ffd05ba..ae465f4 100755 --- a/scripts.d/50-frei0r.sh +++ b/scripts.d/50-frei0r.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/dyne/frei0r.git" -SCRIPT_COMMIT="599b47843400a248d2b415f46df6d1777902e865" +SCRIPT_COMMIT="c3f987c4cc8c1a7f6928e574f4cb272a7770ca6f" ffbuild_enabled() { [[ $VARIANT == lgpl* ]] && return -1 @@ -10,8 +10,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" frei0r - cd frei0r + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-gme.sh b/scripts.d/50-gme.sh index 8411df2..e580cd4 100755 --- a/scripts.d/50-gme.sh +++ b/scripts.d/50-gme.sh @@ -7,10 +7,12 @@ ffbuild_enabled() { return 0 } +ffbuild_dockerdl() { + to_df "RUN git clone \"$SCRIPT_REPO\" \"$SELF\" && git -C \"$SELF\" checkout \"$SCRIPT_COMMIT\"" +} + ffbuild_dockerbuild() { - git clone "$SCRIPT_REPO" gme - cd gme - git checkout "$SCRIPT_COMMIT" + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-kvazaar.sh b/scripts.d/50-kvazaar.sh index d864353..2ee1b5d 100755 --- a/scripts.d/50-kvazaar.sh +++ b/scripts.d/50-kvazaar.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://github.com/ultravideo/kvazaar.git" -SCRIPT_COMMIT="37a0404bc8ccdc39515a5aed706205dc53810019" +SCRIPT_COMMIT="aaae5b0f4926065136f287876c6bc41631bae692" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" kvazaar - cd kvazaar + cd "$FFBUILD_DLDIR/$SELF" ./autogen.sh diff --git a/scripts.d/50-libass.sh b/scripts.d/50-libass.sh index 06fae4f..e418f67 100755 --- a/scripts.d/50-libass.sh +++ b/scripts.d/50-libass.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://github.com/libass/libass.git" -SCRIPT_COMMIT="077328ca6715e2e2826881003946640f56cb763c" +SCRIPT_COMMIT="1a599b1db748dfc07df98cd37d8603edb87da2fd" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" ass - cd ass + cd "$FFBUILD_DLDIR/$SELF" ./autogen.sh diff --git a/scripts.d/50-libbluray.sh b/scripts.d/50-libbluray.sh index 1e71eac..8d23987 100755 --- a/scripts.d/50-libbluray.sh +++ b/scripts.d/50-libbluray.sh @@ -8,8 +8,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libbluray - cd libbluray + cd "$FFBUILD_DLDIR/$SELF" ./bootstrap diff --git a/scripts.d/50-libjxl/45-brotli.sh b/scripts.d/50-libjxl/45-brotli.sh index 33cd082..717e814 100755 --- a/scripts.d/50-libjxl/45-brotli.sh +++ b/scripts.d/50-libjxl/45-brotli.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://github.com/google/brotli.git" -SCRIPT_COMMIT="ed1995b6bda19244070ab5d331111f16f67c8054" +SCRIPT_COMMIT="413b098564a90a2e6cae192d30642d33a9197a39" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" brotli - cd brotli + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-libjxl/50-libjxl.sh b/scripts.d/50-libjxl/50-libjxl.sh index b10cbdd..adbcf6a 100755 --- a/scripts.d/50-libjxl/50-libjxl.sh +++ b/scripts.d/50-libjxl/50-libjxl.sh @@ -1,18 +1,23 @@ #!/bin/bash SCRIPT_REPO="https://github.com/libjxl/libjxl.git" -SCRIPT_COMMIT="6280645ef5530e186ddba0f814f1ea5f6d754e3e" +SCRIPT_COMMIT="c3a4f9ca89ae59c6265a2f1bf2a6d2a87a71fc16" ffbuild_enabled() { [[ $ADDINS_STR == *4.4* ]] && return -1 [[ $ADDINS_STR == *5.0* ]] && return -1 + [[ $ADDINS_STR == *5.1* ]] && return -1 + [[ $ADDINS_STR == *6.0* ]] && return -1 return 0 } +ffbuild_dockerdl() { + default_dl "$SELF" + to_df "RUN git -C \"$SELF\" submodule update --init --recursive --depth 1 --recommend-shallow third_party/highway third_party/skcms" +} + ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" jxl - cd jxl - git submodule update --init --recursive --depth 1 --recommend-shallow third_party/{highway,skcms} + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build @@ -27,7 +32,7 @@ ffbuild_dockerbuild() { cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ -DBUILD_SHARED_LIBS=OFF -DJPEGXL_STATIC=OFF -DJPEGXL_ENABLE_TOOLS=OFF -DJPEGXL_ENABLE_VIEWERS=OFF -DJPEGXL_EMSCRIPTEN=OFF -DJPEGXL_ENABLE_DOXYGEN=OFF \ - -DBUILD_TESTING=OFF -DJPEGXL_ENABLE_EXAMPLES=OFF -DJPEGXL_ENABLE_MANPAGES=OFF -DJPEGXL_ENABLE_JNI=OFF -DJPEGXL_ENABLE_PLUGINS=OFF \ + -DJPEGXL_ENABLE_JPEGLI=OFF -DBUILD_TESTING=OFF -DJPEGXL_ENABLE_EXAMPLES=OFF -DJPEGXL_ENABLE_MANPAGES=OFF -DJPEGXL_ENABLE_JNI=OFF -DJPEGXL_ENABLE_PLUGINS=OFF \ -DJPEGXL_ENABLE_DEVTOOLS=OFF -DJPEGXL_ENABLE_BENCHMARK=OFF -DJPEGXL_BUNDLE_LIBPNG=OFF -DJPEGXL_ENABLE_SJPEG=OFF -DJPEGXL_FORCE_SYSTEM_BROTLI=ON .. ninja -j$(nproc) ninja install diff --git a/scripts.d/50-libmp3lame.sh b/scripts.d/50-libmp3lame.sh index e5418f2..352e3f2 100755 --- a/scripts.d/50-libmp3lame.sh +++ b/scripts.d/50-libmp3lame.sh @@ -7,9 +7,12 @@ ffbuild_enabled() { return 0 } +ffbuild_dockerdl() { + to_df "RUN retry-tool sh -c \"rm -rf lame && svn checkout '${SCRIPT_REPO}@${SCRIPT_REV}' lame\"" +} + ffbuild_dockerbuild() { - retry-tool sh -c "rm -rf lame && svn checkout '${SCRIPT_REPO}@${SCRIPT_REV}' lame" - cd lame + cd "$FFBUILD_DLDIR"/lame autoreconf -i diff --git a/scripts.d/50-libopus.sh b/scripts.d/50-libopus.sh index f81dee0..e69f098 100755 --- a/scripts.d/50-libopus.sh +++ b/scripts.d/50-libopus.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://github.com/xiph/opus.git" -SCRIPT_COMMIT="8cf872a186b96085b1bb3a547afd598354ebeb87" +SCRIPT_COMMIT="9fc8fc4cf432640f284113ba502ee027268b0d9f" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" opus - cd opus + cd "$FFBUILD_DLDIR/$SELF" ./autogen.sh diff --git a/scripts.d/50-librist/40-mbedtls.sh b/scripts.d/50-librist/40-mbedtls.sh index ca129ba..404abda 100755 --- a/scripts.d/50-librist/40-mbedtls.sh +++ b/scripts.d/50-librist/40-mbedtls.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/ARMmbed/mbedtls.git" -SCRIPT_COMMIT="v3.3.0" +SCRIPT_COMMIT="v3.4.0" SCRIPT_TAGFILTER="v3.*" ffbuild_enabled() { @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" mbedtls - cd mbedtls + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build @@ -21,8 +20,3 @@ ffbuild_dockerbuild() { make -j$(nproc) make install } - -ffbuild_configure() { - [[ $TARGET == win* ]] && return -1 - echo --enable-mbedtls -} diff --git a/scripts.d/50-librist/50-librist.sh b/scripts.d/50-librist/50-librist.sh index a5ec29d..0b648ba 100755 --- a/scripts.d/50-librist/50-librist.sh +++ b/scripts.d/50-librist/50-librist.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://code.videolan.org/rist/librist.git" -SCRIPT_COMMIT="809390b3b75a259a704079d0fb4d8f1b5f7fa956" +SCRIPT_COMMIT="04ba78abb6f8f673da0cc75056df876178e504fb" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" librist - cd librist + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-libssh.sh b/scripts.d/50-libssh.sh index fd0f99b..9f4b611 100755 --- a/scripts.d/50-libssh.sh +++ b/scripts.d/50-libssh.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://git.libssh.org/projects/libssh.git" -SCRIPT_COMMIT="7291f2173ccfcaf0a90b2df863a2d7b8b2833b1b" +SCRIPT_COMMIT="a7f85944c8c04cd1aba1a122b766f5d04db51050" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libssh - cd libssh + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-libtheora.sh b/scripts.d/50-libtheora.sh index 11f5ac1..79b7603 100755 --- a/scripts.d/50-libtheora.sh +++ b/scripts.d/50-libtheora.sh @@ -8,8 +8,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" theora - cd theora + cd "$FFBUILD_DLDIR/$SELF" ./autogen.sh diff --git a/scripts.d/50-libvpx.sh b/scripts.d/50-libvpx.sh index e666570..f16cc1e 100755 --- a/scripts.d/50-libvpx.sh +++ b/scripts.d/50-libvpx.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://chromium.googlesource.com/webm/libvpx" -SCRIPT_COMMIT="5595e18870b24fdfd8fdeb4cfa5ea51824486273" +SCRIPT_COMMIT="b2c2955c8200ff434f178009df41a1e1e1623156" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libvpx - cd libvpx + cd "$FFBUILD_DLDIR/$SELF" local myconf=( --disable-shared diff --git a/scripts.d/50-libwebp.sh b/scripts.d/50-libwebp.sh index 9682b9c..2579d7e 100755 --- a/scripts.d/50-libwebp.sh +++ b/scripts.d/50-libwebp.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://chromium.googlesource.com/webm/libwebp" -SCRIPT_COMMIT="1347a32d82276ecf4daba12f6e9142cc4e1f2401" +SCRIPT_COMMIT="eac3bd5c53da8bec55a635c6f4234c9cd5753820" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" webp - cd webp + cd "$FFBUILD_DLDIR/$SELF" ./autogen.sh diff --git a/scripts.d/50-lilv/96-lv2.sh b/scripts.d/50-lilv/96-lv2.sh index 7f3a984..7a14ca7 100755 --- a/scripts.d/50-lilv/96-lv2.sh +++ b/scripts.d/50-lilv/96-lv2.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://github.com/lv2/lv2.git" -SCRIPT_COMMIT="c287eaa2948b7553ccce877115e7a94a07530d80" +SCRIPT_COMMIT="bb6a2103c7adf3c1339728915d7f1497ee98dcbf" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" lv2 - cd lv2 + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-lilv/96-serd.sh b/scripts.d/50-lilv/96-serd.sh index f6f89e6..3a5cbcb 100755 --- a/scripts.d/50-lilv/96-serd.sh +++ b/scripts.d/50-lilv/96-serd.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://github.com/drobilla/serd.git" -SCRIPT_COMMIT="c7f85701199b42695ce78b28b120a3c56e114fd6" +SCRIPT_COMMIT="dbf48d099a78d2075e224549a28e690d56a6d503" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" serd - cd serd + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-lilv/96-zix.sh b/scripts.d/50-lilv/96-zix.sh index 74313e0..534e224 100755 --- a/scripts.d/50-lilv/96-zix.sh +++ b/scripts.d/50-lilv/96-zix.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://github.com/drobilla/zix.git" -SCRIPT_COMMIT="18e62483cb7173c6604f7dd2097299e47c2a4c0c" +SCRIPT_COMMIT="a5c18d52a5351430d370084f25aaf7d166f7afd5" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" zix - cd zix + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-lilv/97-sord.sh b/scripts.d/50-lilv/97-sord.sh index 5ff235f..cce7dda 100755 --- a/scripts.d/50-lilv/97-sord.sh +++ b/scripts.d/50-lilv/97-sord.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://github.com/drobilla/sord.git" -SCRIPT_COMMIT="4113c78db9969054354b153819bde4ff0c8b6a73" +SCRIPT_COMMIT="46f4bcbe04330645a11d00e56a7754cc1386bc45" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" sord - cd sord + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-lilv/98-sratom.sh b/scripts.d/50-lilv/98-sratom.sh index c94d244..d32e200 100755 --- a/scripts.d/50-lilv/98-sratom.sh +++ b/scripts.d/50-lilv/98-sratom.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://github.com/lv2/sratom.git" -SCRIPT_COMMIT="988162496bbb66a2c52d384ef2ca602698024267" +SCRIPT_COMMIT="b97b447d77fbf172260b4b40f184959f59c3623e" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" sratom - cd sratom + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-lilv/99-lilv.sh b/scripts.d/50-lilv/99-lilv.sh index 90deec3..d026da6 100755 --- a/scripts.d/50-lilv/99-lilv.sh +++ b/scripts.d/50-lilv/99-lilv.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://github.com/lv2/lilv.git" -SCRIPT_COMMIT="803be790d97a0bd219e15dbe2c9483f33af5877c" +SCRIPT_COMMIT="54b32c1949d60225602a7161d5d6c4853230307a" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" lilv - cd lilv + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-mfx.sh b/scripts.d/50-mfx.sh deleted file mode 100755 index 28c34d4..0000000 --- a/scripts.d/50-mfx.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash - -SCRIPT_REPO="https://github.com/lu-zero/mfx_dispatch.git" -SCRIPT_COMMIT="5a3f178be7f406cec920b9f52f46c1ae29f29bb2" - -ffbuild_enabled() { - [[ $TARGET == *arm64 ]] && return -1 - [[ $ADDINS_STR != *4.4* && $ADDINS_STR != *5.0* && $ADDINS_STR != *5.1* ]] && return -1 - return 0 -} - -ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" mfx - cd mfx - - autoreconf -i - - local myconf=( - --prefix="$FFBUILD_PREFIX" - --disable-shared - --enable-static - --with-pic - ) - - if [[ $TARGET == win* || $TARGET == linux* ]]; then - myconf+=( - --host="$FFBUILD_TOOLCHAIN" - ) - else - echo "Unknown target" - return -1 - fi - - ./configure "${myconf[@]}" - make -j$(nproc) - make install - - ln -s libmfx.pc "$FFBUILD_PREFIX"/lib/pkgconfig/mfx.pc -} - -ffbuild_configure() { - echo --enable-libmfx -} - -ffbuild_unconfigure() { - echo --disable-libmfx -} diff --git a/scripts.d/50-onevpl.sh b/scripts.d/50-onevpl.sh index 29b1794..1e6aee5 100755 --- a/scripts.d/50-onevpl.sh +++ b/scripts.d/50-onevpl.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/oneapi-src/oneVPL.git" -SCRIPT_COMMIT="6ca7a09c4b5b2c1ae6b52d73bc44c334ab66adbc" +SCRIPT_COMMIT="e12ace9761bb52786409e830f619916b86e87fc5" ffbuild_enabled() { [[ $TARGET == *arm64 ]] && return -1 @@ -12,8 +12,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" onevpl - cd onevpl + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build @@ -27,8 +26,6 @@ ffbuild_dockerbuild() { ninja install rm -rf "$FFBUILD_PREFIX"/{etc,share} - - cat /opt/ffbuild/lib/pkgconfig/vpl.pc } ffbuild_configure() { diff --git a/scripts.d/50-openal.sh b/scripts.d/50-openal.sh index 13dc57a..7da1fa1 100755 --- a/scripts.d/50-openal.sh +++ b/scripts.d/50-openal.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/kcat/openal-soft.git" -SCRIPT_COMMIT="b22f9410dde0da5b3795ba62f1a728590238349e" +SCRIPT_COMMIT="05f9ce8b978239cebecef1a60f0d451a118fa3df" ffbuild_enabled() { [[ $ADDINS_STR == *4.4* ]] && return -1 @@ -11,8 +11,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" openal - cd openal + cd "$FFBUILD_DLDIR/$SELF" mkdir cm_build && cd cm_build diff --git a/scripts.d/50-opencore-amr.sh b/scripts.d/50-opencore-amr.sh index b72d70d..02309a4 100755 --- a/scripts.d/50-opencore-amr.sh +++ b/scripts.d/50-opencore-amr.sh @@ -8,8 +8,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" opencore - cd opencore + cd "$FFBUILD_DLDIR/$SELF" autoreconf -i diff --git a/scripts.d/50-openh264.sh b/scripts.d/50-openh264.sh index 4de93b9..476489c 100755 --- a/scripts.d/50-openh264.sh +++ b/scripts.d/50-openh264.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://github.com/cisco/openh264.git" -SCRIPT_COMMIT="045aeac1dd01df12dec7b1ef8191b3193cf4273c" +SCRIPT_COMMIT="986606644aca8f795fc04f76dcc758d88378e4a0" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" openh264 - cd openh264 + cd "$FFBUILD_DLDIR/$SELF" local myconf=( PREFIX="$FFBUILD_PREFIX" diff --git a/scripts.d/50-openjpeg.sh b/scripts.d/50-openjpeg.sh index 3277557..1a8fd49 100755 --- a/scripts.d/50-openjpeg.sh +++ b/scripts.d/50-openjpeg.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://github.com/uclouvain/openjpeg.git" -SCRIPT_COMMIT="ee58d77047867dd422593163e660e66a109ba1c0" +SCRIPT_COMMIT="1ee6d115e80036d1d38bad7f95a680bfc612c1bf" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" openjpeg - cd openjpeg + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-openmpt.sh b/scripts.d/50-openmpt.sh index eefa723..b3803f6 100755 --- a/scripts.d/50-openmpt.sh +++ b/scripts.d/50-openmpt.sh @@ -1,15 +1,18 @@ #!/bin/bash SCRIPT_REPO="https://source.openmpt.org/svn/openmpt/trunk/OpenMPT" -SCRIPT_REV="18737" +SCRIPT_REV="19445" ffbuild_enabled() { return 0 } +ffbuild_dockerdl() { + to_df "RUN retry-tool sh -c \"rm -rf openmpt && svn checkout '${SCRIPT_REPO}@${SCRIPT_REV}' openmpt\"" +} + ffbuild_dockerbuild() { - retry-tool sh -c "rm -rf openmpt && svn checkout '${SCRIPT_REPO}@${SCRIPT}' openmpt" - cd openmpt + cd "$FFBUILD_DLDIR"/openmpt local myconf=( PREFIX="$FFBUILD_PREFIX" diff --git a/scripts.d/50-rav1e.sh b/scripts.d/50-rav1e.sh index cc8ed36..eb8c37c 100755 --- a/scripts.d/50-rav1e.sh +++ b/scripts.d/50-rav1e.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/xiph/rav1e.git" -SCRIPT_COMMIT="c548b8498c039614fa3c8583cdf093ffa8fdd742" +SCRIPT_COMMIT="5ec4f95d9fe1a9295fe8239e2860c8f84e5e2336" ffbuild_enabled() { [[ $TARGET == win32 ]] && return -1 @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" rav1e - cd rav1e + cd "$FFBUILD_DLDIR/$SELF" local myconf=( --prefix="$FFBUILD_PREFIX" diff --git a/scripts.d/50-rubberband.sh b/scripts.d/50-rubberband.sh index 4c7e9fa..e3577c4 100755 --- a/scripts.d/50-rubberband.sh +++ b/scripts.d/50-rubberband.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/breakfastquay/rubberband.git" -SCRIPT_COMMIT="b317d0e81a8e0ea84269cc2c1dab2906ca8df271" +SCRIPT_COMMIT="1eddafd7a7c8b64e377d64ee5e87ead881a32a48" ffbuild_enabled() { [[ $VARIANT == lgpl* ]] && return -1 @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" rubberband - cd rubberband + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-schannel.sh b/scripts.d/50-schannel.sh index 4546e2b..2ea5efa 100755 --- a/scripts.d/50-schannel.sh +++ b/scripts.d/50-schannel.sh @@ -6,6 +6,10 @@ ffbuild_enabled() { [[ $TARGET == win* ]] } +ffbuild_dockerdl() { + return 0 +} + ffbuild_dockerstage() { return 0 } @@ -14,6 +18,10 @@ ffbuild_dockerbuild() { return 0 } +ffbuild_dockerlayer_dl() { + return 0 +} + ffbuild_configure() { echo --enable-schannel } diff --git a/scripts.d/50-sdl.sh b/scripts.d/50-sdl.sh index a36f6ea..bf6b0c2 100755 --- a/scripts.d/50-sdl.sh +++ b/scripts.d/50-sdl.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/libsdl-org/SDL.git" -SCRIPT_COMMIT="2b66ef0df4eee18c5d9fdc77157cc109b6976efc" +SCRIPT_COMMIT="e16a83d393ae1784040519f42c482e2641b971a2" SCRIPT_BRANCH="SDL2" ffbuild_enabled() { @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" sdl - cd sdl + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-soxr.sh b/scripts.d/50-soxr.sh index f351fa6..f3651aa 100755 --- a/scripts.d/50-soxr.sh +++ b/scripts.d/50-soxr.sh @@ -8,8 +8,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" soxr - cd soxr + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-srt.sh b/scripts.d/50-srt.sh index 3ca615e..d40e9da 100755 --- a/scripts.d/50-srt.sh +++ b/scripts.d/50-srt.sh @@ -1,15 +1,14 @@ #!/bin/bash SCRIPT_REPO="https://github.com/Haivision/srt.git" -SCRIPT_COMMIT="3ffc93f2f6d04dcea765a10e9e5caa7fb071291c" +SCRIPT_COMMIT="61c7bedf27a2edbcf6e6fdc179612980bae53c6a" ffbuild_enabled() { return 0 } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" srt - cd srt + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-svtav1.sh b/scripts.d/50-svtav1.sh index c674694..66b6600 100755 --- a/scripts.d/50-svtav1.sh +++ b/scripts.d/50-svtav1.sh @@ -1,17 +1,19 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.com/AOMediaCodec/SVT-AV1.git" -SCRIPT_COMMIT="93fc87b0ff0823d5703d31516cb4093aff86c848" +SCRIPT_COMMIT="08c18ba0768ed3dbbff0903adc326fb3a7549bd9" ffbuild_enabled() { [[ $TARGET == win32 ]] && return -1 return 0 } +ffbuild_dockerdl() { + to_df "RUN git clone \"$SCRIPT_REPO\" \"$SELF\" && git -C \"$SELF\" checkout \"$SCRIPT_COMMIT\"" +} + ffbuild_dockerbuild() { - git clone "$SCRIPT_REPO" svtav1 - cd svtav1 - git checkout "$SCRIPT_COMMIT" + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-twolame.sh b/scripts.d/50-twolame.sh index 2dac91d..8e8a60b 100755 --- a/scripts.d/50-twolame.sh +++ b/scripts.d/50-twolame.sh @@ -8,8 +8,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" twolame - cd twolame + cd "$FFBUILD_DLDIR/$SELF" NOCONFIGURE=1 ./autogen.sh touch doc/twolame.1 diff --git a/scripts.d/50-uavs3d.sh b/scripts.d/50-uavs3d.sh index 02ca0e5..38e56bd 100755 --- a/scripts.d/50-uavs3d.sh +++ b/scripts.d/50-uavs3d.sh @@ -8,10 +8,12 @@ ffbuild_enabled() { return 0 } +ffbuild_dockerdl() { + to_df "RUN git clone \"$SCRIPT_REPO\" \"$SELF\" && git -C \"$SELF\" checkout \"$SCRIPT_COMMIT\"" +} + ffbuild_dockerbuild() { - git clone "$SCRIPT_REPO" uavs3d - cd uavs3d - git checkout "$SCRIPT_COMMIT" + cd "$FFBUILD_DLDIR/$SELF" mkdir build/linux cd build/linux diff --git a/scripts.d/50-vaapi/30-libpciaccess.sh b/scripts.d/50-vaapi/30-libpciaccess.sh index d284296..83dfbc2 100755 --- a/scripts.d/50-vaapi/30-libpciaccess.sh +++ b/scripts.d/50-vaapi/30-libpciaccess.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/xorg/lib/libpciaccess.git" -SCRIPT_COMMIT="833c86ce15cee2a84a37ae71015f236fd32615d9" +SCRIPT_COMMIT="8980a39004b10298a7db1f1b0b711a19e8b73aee" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libpciaccess - cd libpciaccess + cd "$FFBUILD_DLDIR/$SELF" autoreconf -fi diff --git a/scripts.d/50-vaapi/40-libdrm.sh b/scripts.d/50-vaapi/40-libdrm.sh index fa0a05b..f2b3d4c 100755 --- a/scripts.d/50-vaapi/40-libdrm.sh +++ b/scripts.d/50-vaapi/40-libdrm.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/mesa/drm.git" -SCRIPT_COMMIT="c6d6dce99fb3e7e681fbba9e198345fdbd10e49e" +SCRIPT_COMMIT="7d7a9901bd67cf5b1ce07e5d237a82e13e9fb500" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libdrm - cd libdrm + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-vaapi/50-libva.sh b/scripts.d/50-vaapi/50-libva.sh index 65baac9..ed3d88f 100755 --- a/scripts.d/50-vaapi/50-libva.sh +++ b/scripts.d/50-vaapi/50-libva.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/intel/libva.git" -SCRIPT_COMMIT="9ac72efe2e123321d8fd5500fb1aca51cd31bc97" +SCRIPT_COMMIT="984dfee4177021c400367f5dffc0776a6dd745dc" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 @@ -10,8 +10,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" libva - cd libva + cd "$FFBUILD_DLDIR/$SELF" autoreconf -i diff --git a/scripts.d/50-vaapi/99-finalize.sh b/scripts.d/50-vaapi/99-finalize.sh index 5435582..ee8a518 100755 --- a/scripts.d/50-vaapi/99-finalize.sh +++ b/scripts.d/50-vaapi/99-finalize.sh @@ -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 diff --git a/scripts.d/50-vidstab.sh b/scripts.d/50-vidstab.sh index 3268a3d..c9a3b4c 100755 --- a/scripts.d/50-vidstab.sh +++ b/scripts.d/50-vidstab.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/georgmartius/vid.stab.git" -SCRIPT_COMMIT="90c76aca2cb06c3ff6f7476a7cd6851b39436656" +SCRIPT_COMMIT="05829db776069b7478dd2d90b6e0081668a41abc" ffbuild_enabled() { [[ $VARIANT == lgpl* ]] && return -1 @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT_PINNED" vidstab - cd vidstab + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-vulkan/45-vulkan.sh b/scripts.d/50-vulkan/45-vulkan.sh index 36499f2..c1a718b 100755 --- a/scripts.d/50-vulkan/45-vulkan.sh +++ b/scripts.d/50-vulkan/45-vulkan.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/KhronosGroup/Vulkan-Headers.git" -SCRIPT_COMMIT="v1.3.240" +SCRIPT_COMMIT="v1.3.257" SCRIPT_TAGFILTER="v?.*.*" ffbuild_enabled() { @@ -10,8 +10,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" vkheaders - cd vkheaders + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-vulkan/50-shaderc.sh b/scripts.d/50-vulkan/50-shaderc.sh index 2e5c868..576dc37 100755 --- a/scripts.d/50-vulkan/50-shaderc.sh +++ b/scripts.d/50-vulkan/50-shaderc.sh @@ -1,18 +1,20 @@ #!/bin/bash SCRIPT_REPO="https://github.com/google/shaderc.git" -SCRIPT_COMMIT="dde14deee743b1ae4ec8ad541f3cd268941051bb" +SCRIPT_COMMIT="e31c4c2e41544d63d90be28c46e4a4793a624240" ffbuild_enabled() { [[ $ADDINS_STR == *4.4* ]] && return -1 return 0 } -ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" shaderc - cd shaderc +ffbuild_dockerdl() { + default_dl "$SELF" + to_df "RUN cd \"$SELF\" && ./utils/git-sync-deps" +} - ./utils/git-sync-deps +ffbuild_dockerbuild() { + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-vulkan/55-spirv-cross.sh b/scripts.d/50-vulkan/55-spirv-cross.sh index 7ef0f3a..f5d189c 100755 --- a/scripts.d/50-vulkan/55-spirv-cross.sh +++ b/scripts.d/50-vulkan/55-spirv-cross.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/KhronosGroup/SPIRV-Cross.git" -SCRIPT_COMMIT="4e2fdb25671c742a9fbe93a6034eb1542244c7e1" +SCRIPT_COMMIT="b8e742c91ba47eb3238c939ee11ec9ba2ba247bf" ffbuild_enabled() { [[ $ADDINS_STR == *4.4* ]] && return -1 @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" spirv-cross - cd spirv-cross + cd "$FFBUILD_DLDIR/$SELF" 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/')" diff --git a/scripts.d/50-vulkan/60-libplacebo.sh b/scripts.d/50-vulkan/60-libplacebo.sh index 4f6a8e2..0987426 100755 --- a/scripts.d/50-vulkan/60-libplacebo.sh +++ b/scripts.d/50-vulkan/60-libplacebo.sh @@ -1,17 +1,23 @@ #!/bin/bash SCRIPT_REPO="https://code.videolan.org/videolan/libplacebo.git" -SCRIPT_COMMIT="855280962b3f5adb453e53d89ea20387e25a1a81" +SCRIPT_COMMIT="b959cab8b859dc53a6dbd26c050be0b3883114c8" ffbuild_enabled() { [[ $ADDINS_STR == *4.4* ]] && return -1 + [[ $ADDINS_STR == *5.0* ]] && return -1 + [[ $ADDINS_STR == *5.1* ]] && return -1 + [[ $ADDINS_STR == *6.0* ]] && return -1 return 0 } +ffbuild_dockerdl() { + default_dl "$SELF" + to_df "RUN git -C \"$SELF\" submodule update --init --recursive" +} + ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" placebo - cd placebo - git submodule update --init --recursive + cd "$FFBUILD_DLDIR/$SELF" mkdir build && cd build diff --git a/scripts.d/50-vulkan/99-enable.sh b/scripts.d/50-vulkan/99-enable.sh new file mode 100755 index 0000000..d83e3cb --- /dev/null +++ b/scripts.d/50-vulkan/99-enable.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +SCRIPT_SKIP="1" + +ffbuild_enabled() { + [[ $ADDINS_STR == *4.4* ]] && return -1 + return 0 +} + +ffbuild_dockerdl() { + return 0 +} + +ffbuild_dockerbuild() { + return 0 +} diff --git a/scripts.d/50-x264.sh b/scripts.d/50-x264.sh index 38997cb..0060cf3 100755 --- a/scripts.d/50-x264.sh +++ b/scripts.d/50-x264.sh @@ -9,8 +9,7 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" x264 - cd x264 + cd "$FFBUILD_DLDIR/$SELF" local myconf=( --disable-cli diff --git a/scripts.d/50-x265.sh b/scripts.d/50-x265.sh index 962dd70..14bc515 100755 --- a/scripts.d/50-x265.sh +++ b/scripts.d/50-x265.sh @@ -1,17 +1,19 @@ #!/bin/bash SCRIPT_REPO="https://bitbucket.org/multicoreware/x265_git.git" -SCRIPT_COMMIT="6da609e41ca5ae1d661a1b5c4805ed7a3f4117cc" +SCRIPT_COMMIT="8f18e3ad32684eee95e885e718655f93951128c3" ffbuild_enabled() { [[ $VARIANT == lgpl* ]] && return -1 return 0 } +ffbuild_dockerdl() { + to_df "RUN git clone \"$SCRIPT_REPO\" \"$SELF\" && git -C \"$SELF\" checkout \"$SCRIPT_COMMIT\"" +} + ffbuild_dockerbuild() { - git clone "$SCRIPT_REPO" x265 - cd x265 - git checkout "$SCRIPT_COMMIT" + cd "$FFBUILD_DLDIR/$SELF" local common_config=( -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" diff --git a/scripts.d/50-xavs2.sh b/scripts.d/50-xavs2.sh index bd128b3..36b1e65 100755 --- a/scripts.d/50-xavs2.sh +++ b/scripts.d/50-xavs2.sh @@ -11,10 +11,12 @@ ffbuild_enabled() { return 0 } +ffbuild_dockerdl() { + to_df "RUN git clone \"$SCRIPT_REPO\" \"$SELF\" && git -C \"$SELF\" checkout \"$SCRIPT_COMMIT\"" +} + ffbuild_dockerbuild() { - git clone "$SCRIPT_REPO" xavs2 - cd xavs2 - git checkout "$SCRIPT_COMMIT" + cd "$FFBUILD_DLDIR/$SELF" cd build/linux local myconf=( diff --git a/scripts.d/50-xvid.sh b/scripts.d/50-xvid.sh index 0db384d..484d2fa 100755 --- a/scripts.d/50-xvid.sh +++ b/scripts.d/50-xvid.sh @@ -8,9 +8,12 @@ ffbuild_enabled() { return 0 } +ffbuild_dockerdl() { + to_df "RUN retry-tool sh -c \"rm -rf xvid && svn checkout --username 'anonymous' --password '' '${SCRIPT_REPO}@${SCRIPT_REV}' xvid\"" +} + ffbuild_dockerbuild() { - retry-tool sh -c "rm -rf xvid && svn checkout --username 'anonymous' --password '' '${SCRIPT_REPO}@${SCRIPT_REV}' xvid" - cd xvid + cd "$FFBUILD_DLDIR"/xvid cd build/generic diff --git a/scripts.d/50-zimg.sh b/scripts.d/50-zimg.sh index 80c3347..49bc5bb 100755 --- a/scripts.d/50-zimg.sh +++ b/scripts.d/50-zimg.sh @@ -1,16 +1,19 @@ #!/bin/bash SCRIPT_REPO="https://github.com/sekrit-twc/zimg.git" -SCRIPT_COMMIT="5a5397c2b149fc9e5cb898973121de6edea77c70" +SCRIPT_COMMIT="ec0c604a9e29dd144b0bb1fb0974ac3b398fc18b" ffbuild_enabled() { return 0 } +ffbuild_dockerdl() { + default_dl "$SELF" + to_df "RUN git -C \"$SELF\" submodule update --init --recursive --depth=1" +} + ffbuild_dockerbuild() { - git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" zimg - cd zimg - git submodule update --init --recursive --depth=1 + cd "$FFBUILD_DLDIR/$SELF" ./autogen.sh diff --git a/scripts.d/50-zvbi.sh b/scripts.d/50-zvbi.sh index d0c8031..5f7cb97 100755 --- a/scripts.d/50-zvbi.sh +++ b/scripts.d/50-zvbi.sh @@ -8,12 +8,15 @@ ffbuild_enabled() { } ffbuild_dockerstage() { - to_df "RUN --mount=src=${SELF},dst=/stage.sh --mount=src=patches/zvbi,dst=/patches run_stage /stage.sh" + to_df "RUN --mount=src=${SELF},dst=/stage.sh --mount=src=/,dst=\$FFBUILD_DLDIR,from=${DL_IMAGE},rw --mount=src=patches/zvbi,dst=/patches run_stage /stage.sh" +} + +ffbuild_dockerdl() { + to_df "RUN retry-tool sh -c \"rm -rf $SELF && svn checkout '${SCRIPT_REPO}@${SCRIPT_REV}' $SELF\"" } ffbuild_dockerbuild() { - retry-tool sh -c "rm -rf zvbi && svn checkout '${SCRIPT_REPO}@${SCRIPT_REV}' zvbi" - cd zvbi + cd "$FFBUILD_DLDIR/$SELF" for patch in /patches/*.patch; do echo "Applying $patch" diff --git a/scripts.d/99-rpath.sh b/scripts.d/99-rpath.sh index c5d3256..be7bc33 100755 --- a/scripts.d/99-rpath.sh +++ b/scripts.d/99-rpath.sh @@ -10,6 +10,10 @@ ffbuild_dockerfinal() { return 0 } +ffbuild_dockerdl() { + return 0 +} + ffbuild_dockerlayer() { return 0 } @@ -18,6 +22,10 @@ ffbuild_dockerstage() { return 0 } +ffbuild_dockerlayer_dl() { + return 0 +} + ffbuild_dockerbuild() { return 0 } diff --git a/util/get_dl_cache_tag.sh b/util/get_dl_cache_tag.sh new file mode 100755 index 0000000..4ca3a36 --- /dev/null +++ b/util/get_dl_cache_tag.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -eo pipefail +printf dlcache_ +tail -n+3 Dockerfile.dl | sha256sum | cut -d' ' -f1 diff --git a/util/vars.sh b/util/vars.sh index 656ac06..0fd91ef 100644 --- a/util/vars.sh +++ b/util/vars.sh @@ -37,8 +37,23 @@ BASE_IMAGE="${REGISTRY}/${REPO}/base:latest" TARGET_IMAGE="${REGISTRY}/${REPO}/base-${TARGET}:latest" IMAGE="${REGISTRY}/${REPO}/${TARGET}-${VARIANT}${ADDINS_STR:+-}${ADDINS_STR}:latest" +DL_IMAGE_RAW="${REGISTRY}/${REPO}/dl_cache" +if [[ -n "$REGISTRY_OVERRIDE_DL" && -n "$GITHUB_REPOSITORY_DL" ]]; then + DL_IMAGE_RAW="${REGISTRY_OVERRIDE_DL}/${GITHUB_REPOSITORY_DL}/dl_cache" + DL_IMAGE_RAW="${DL_IMAGE_RAW,,}" +fi +DL_IMAGE="${DL_IMAGE_RAW}:unset" + +ffbuild_dockerdl() { + default_dl "$SELF" +} + +ffbuild_dockerlayer_dl() { + to_df "COPY --from=${SELFLAYER} \$FFBUILD_DLDIR/. \$FFBUILD_DLDIR" +} + ffbuild_dockerstage() { - to_df "RUN --mount=src=${SELF},dst=/stage.sh run_stage /stage.sh" + to_df "RUN --mount=src=${SELF},dst=/stage.sh --mount=src=/,dst=\$FFBUILD_DLDIR,from=${DL_IMAGE},rw run_stage /stage.sh" } ffbuild_dockerlayer() { diff --git a/variants/dl-only.sh b/variants/dl-only.sh new file mode 100644 index 0000000..a9bf588 --- /dev/null +++ b/variants/dl-only.sh @@ -0,0 +1 @@ +#!/bin/bash diff --git a/variants/linux-install-shared.sh b/variants/linux-install-shared.sh index ef8e791..5507cb6 100644 --- a/variants/linux-install-shared.sh +++ b/variants/linux-install-shared.sh @@ -23,4 +23,7 @@ package_variant() { mkdir -p "$OUT"/doc cp -r "$IN"/share/doc/ffmpeg/* "$OUT"/doc + + mkdir -p "$OUT/man" + cp -r "$IN"/share/man/* "$OUT"/man } diff --git a/variants/linux-install-static.sh b/variants/linux-install-static.sh new file mode 100644 index 0000000..6c6a4e6 --- /dev/null +++ b/variants/linux-install-static.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +package_variant() { + IN="$1" + OUT="$2" + + mkdir -p "$OUT"/bin + cp "$IN"/bin/* "$OUT"/bin + + mkdir -p "$OUT/doc" + cp -r "$IN"/share/doc/ffmpeg/* "$OUT"/doc + + mkdir -p "$OUT/man" + cp -r "$IN"/share/man/* "$OUT"/man +} diff --git a/variants/linux64-gpl.sh b/variants/linux64-gpl.sh index b3003a4..bd5fc12 100644 --- a/variants/linux64-gpl.sh +++ b/variants/linux64-gpl.sh @@ -1,3 +1,3 @@ #!/bin/bash -source "$(dirname "$BASH_SOURCE")"/default-install.sh +source "$(dirname "$BASH_SOURCE")"/linux-install-static.sh source "$(dirname "$BASH_SOURCE")"/defaults-gpl.sh diff --git a/variants/linux64-lgpl.sh b/variants/linux64-lgpl.sh index f000a33..da1f9b7 100644 --- a/variants/linux64-lgpl.sh +++ b/variants/linux64-lgpl.sh @@ -1,3 +1,3 @@ #!/bin/bash -source "$(dirname "$BASH_SOURCE")"/default-install.sh +source "$(dirname "$BASH_SOURCE")"/linux-install-static.sh source "$(dirname "$BASH_SOURCE")"/defaults-lgpl.sh diff --git a/variants/linuxarm64-gpl.sh b/variants/linuxarm64-gpl.sh index b3003a4..bd5fc12 100644 --- a/variants/linuxarm64-gpl.sh +++ b/variants/linuxarm64-gpl.sh @@ -1,3 +1,3 @@ #!/bin/bash -source "$(dirname "$BASH_SOURCE")"/default-install.sh +source "$(dirname "$BASH_SOURCE")"/linux-install-static.sh source "$(dirname "$BASH_SOURCE")"/defaults-gpl.sh diff --git a/variants/linuxarm64-lgpl.sh b/variants/linuxarm64-lgpl.sh index f000a33..da1f9b7 100644 --- a/variants/linuxarm64-lgpl.sh +++ b/variants/linuxarm64-lgpl.sh @@ -1,3 +1,3 @@ #!/bin/bash -source "$(dirname "$BASH_SOURCE")"/default-install.sh +source "$(dirname "$BASH_SOURCE")"/linux-install-static.sh source "$(dirname "$BASH_SOURCE")"/defaults-lgpl.sh diff --git a/variants/win32-gpl.sh b/variants/win32-gpl.sh index b3003a4..d629915 100644 --- a/variants/win32-gpl.sh +++ b/variants/win32-gpl.sh @@ -1,3 +1,3 @@ #!/bin/bash -source "$(dirname "$BASH_SOURCE")"/default-install.sh +source "$(dirname "$BASH_SOURCE")"/windows-install-static.sh source "$(dirname "$BASH_SOURCE")"/defaults-gpl.sh diff --git a/variants/win32-lgpl.sh b/variants/win32-lgpl.sh index f000a33..f360d75 100644 --- a/variants/win32-lgpl.sh +++ b/variants/win32-lgpl.sh @@ -1,3 +1,3 @@ #!/bin/bash -source "$(dirname "$BASH_SOURCE")"/default-install.sh +source "$(dirname "$BASH_SOURCE")"/windows-install-static.sh source "$(dirname "$BASH_SOURCE")"/defaults-lgpl.sh diff --git a/variants/win64-gpl.sh b/variants/win64-gpl.sh index b3003a4..d629915 100644 --- a/variants/win64-gpl.sh +++ b/variants/win64-gpl.sh @@ -1,3 +1,3 @@ #!/bin/bash -source "$(dirname "$BASH_SOURCE")"/default-install.sh +source "$(dirname "$BASH_SOURCE")"/windows-install-static.sh source "$(dirname "$BASH_SOURCE")"/defaults-gpl.sh diff --git a/variants/win64-lgpl.sh b/variants/win64-lgpl.sh index f000a33..f360d75 100644 --- a/variants/win64-lgpl.sh +++ b/variants/win64-lgpl.sh @@ -1,3 +1,3 @@ #!/bin/bash -source "$(dirname "$BASH_SOURCE")"/default-install.sh +source "$(dirname "$BASH_SOURCE")"/windows-install-static.sh source "$(dirname "$BASH_SOURCE")"/defaults-lgpl.sh diff --git a/variants/default-install.sh b/variants/windows-install-static.sh similarity index 100% rename from variants/default-install.sh rename to variants/windows-install-static.sh