diff --git a/build.yaml b/build.yaml index 0e7bc834dfb..ec4a9da6299 100644 --- a/build.yaml +++ b/build.yaml @@ -1,7 +1,7 @@ --- # We just wrap `build` so this is really it name: "jellyfin-ffmpeg" -version: "6.0.1-7" +version: "6.0.1-8" packages: - bullseye-amd64 - bullseye-armhf diff --git a/builder/images/base-linux64/ct-ng-config b/builder/images/base-linux64/ct-ng-config index 64078f1b909..146c8062951 100644 --- a/builder/images/base-linux64/ct-ng-config +++ b/builder/images/base-linux64/ct-ng-config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# crosstool-NG 1.26.0.65_ecc5e41 Configuration +# crosstool-NG 1.26.0.93_a87bf7f Configuration # CT_CONFIGURE_has_static_link=y CT_CONFIGURE_has_cxx11=y @@ -10,6 +10,7 @@ CT_CONFIGURE_has_meson=y CT_CONFIGURE_has_ninja=y CT_CONFIGURE_has_make_3_81_or_newer=y CT_CONFIGURE_has_make_4_0_or_newer=y +CT_CONFIGURE_has_make_4_4_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 @@ -20,6 +21,7 @@ CT_CONFIGURE_has_python_3_4_or_newer=y CT_CONFIGURE_has_bison_2_7_or_newer=y CT_CONFIGURE_has_bison_3_0_4_or_newer=y CT_CONFIGURE_has_python=y +CT_CONFIGURE_has_dtc=y CT_CONFIGURE_has_svn=y CT_CONFIGURE_has_git=y CT_CONFIGURE_has_md5sum=y @@ -27,7 +29,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.26.0.65_ecc5e41" +CT_VERSION="1.26.0.93_a87bf7f" CT_VCHECK="" CT_CONFIG_VERSION_ENV="4" CT_CONFIG_VERSION_CURRENT="4" @@ -266,6 +268,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_9 is not set +# CT_LINUX_V_6_8 is not set +# CT_LINUX_V_6_7 is not set # CT_LINUX_V_6_6 is not set # CT_LINUX_V_6_5 is not set # CT_LINUX_V_6_4 is not set @@ -520,6 +525,7 @@ CT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y CT_GLIBC_DEP_BINUTILS=y CT_GLIBC_DEP_GCC=y CT_GLIBC_DEP_PYTHON=y +CT_GLIBC_DEP_MAKE_4_3=y CT_GLIBC_SPARC_ALLOW_V7=y CT_THREADS="nptl" CT_GLIBC_BUILD_SSP=y @@ -597,7 +603,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_13=y +CT_GCC_V_14=y +# CT_GCC_V_13 is not set # CT_GCC_V_12 is not set # CT_GCC_V_11 is not set # CT_GCC_V_10 is not set @@ -607,12 +614,14 @@ CT_GCC_V_13=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="13.2.0" +CT_GCC_VERSION="14.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_14=y +CT_GCC_14_or_later=y CT_GCC_later_than_13=y CT_GCC_13_or_later=y CT_GCC_later_than_12=y @@ -698,6 +707,17 @@ CT_CC_LANG_CXX=y CT_CC_LANG_OTHERS="" # end of C compiler +# +# Linkers +# + +# +# BFD enabled in binutils +# +# CT_LINKER_MOLD is not set +CT_ALL_LINKER_CHOICES="MOLD" +# end of Linkers + # # Debug facilities # @@ -728,17 +748,18 @@ CT_GETTEXT_PATCH_GLOBAL=y # CT_GETTEXT_PATCH_LOCAL_BUNDLED is not set # CT_GETTEXT_PATCH_NONE is not set CT_GETTEXT_PATCH_ORDER="global" -CT_GETTEXT_V_0_21=y +CT_GETTEXT_V_0_22_5=y +# CT_GETTEXT_V_0_21 is not set # CT_GETTEXT_V_0_20_1 is not set # CT_GETTEXT_V_0_19_8_1 is not set -CT_GETTEXT_VERSION="0.21" +CT_GETTEXT_VERSION="0.22.5" CT_GETTEXT_MIRRORS="$(CT_Mirrors GNU gettext)" CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig" +CT_GETTEXT_later_than_0_21=y CT_GETTEXT_0_21_or_later=y -CT_GETTEXT_0_21_or_older=y CT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y # @@ -947,9 +968,10 @@ CT_ZSTD_PATCH_GLOBAL=y # 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_6=y +# CT_ZSTD_V_1_5_5 is not set # CT_ZSTD_V_1_5_2 is not set -CT_ZSTD_VERSION="1.5.5" +CT_ZSTD_VERSION="1.5.6" 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}" @@ -986,7 +1008,35 @@ CT_ZSTD=y # CT_COMP_TOOLS_DTC is not set # CT_COMP_TOOLS_LIBTOOL is not set # CT_COMP_TOOLS_M4 is not set -# CT_COMP_TOOLS_MAKE is not set +CT_COMP_TOOLS_MAKE=y +CT_COMP_TOOLS_MAKE_PKG_KSYM="MAKE" +CT_MAKE_DIR_NAME="make" +CT_MAKE_PKG_NAME="make" +CT_MAKE_SRC_RELEASE=y +# CT_MAKE_SRC_DEVEL is not set +# CT_MAKE_SRC_CUSTOM is not set +CT_MAKE_PATCH_GLOBAL=y +# CT_MAKE_PATCH_BUNDLED is not set +# CT_MAKE_PATCH_LOCAL is not set +# CT_MAKE_PATCH_BUNDLED_LOCAL is not set +# CT_MAKE_PATCH_LOCAL_BUNDLED is not set +# CT_MAKE_PATCH_NONE is not set +CT_MAKE_PATCH_ORDER="global" +CT_MAKE_V_4_3=y +# CT_MAKE_V_4_2 is not set +CT_MAKE_VERSION="4.3" +CT_MAKE_MIRRORS="$(CT_Mirrors GNU make)" +CT_MAKE_ARCHIVE_FILENAME="@{pkg_name}-@{version}" +CT_MAKE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" +CT_MAKE_ARCHIVE_FORMATS=".tar.lz .tar.gz" +CT_MAKE_SIGNATURE_FORMAT="packed/.sig" +CT_MAKE_4_4_or_older=y +CT_MAKE_older_than_4_4=y +CT_MAKE_REQUIRE_older_than_4_4=y +CT_MAKE_4_3_or_later=y +CT_MAKE_4_3_or_older=y +CT_MAKE_GMAKE_SYMLINK=y +CT_MAKE_GNUMAKE_SYMLINK=y CT_ALL_COMP_TOOLS_CHOICES="AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE" # end of Companion tools diff --git a/builder/images/base-linux64/gen-implib.sh b/builder/images/base-linux64/gen-implib.sh index fd1930f37cf..389996f8345 100755 --- a/builder/images/base-linux64/gen-implib.sh +++ b/builder/images/base-linux64/gen-implib.sh @@ -13,5 +13,5 @@ cd "$TMPDIR" set -x python3 /opt/implib/implib-gen.py --target x86_64-linux-gnu --dlopen --lazy-load --verbose "$IN" -${FFBUILD_CROSS_PREFIX}gcc $CFLAGS $STAGE_CFLAGS -DIMPLIB_HIDDEN_SHIMS -c *.tramp.S *.init.c +${FFBUILD_CROSS_PREFIX}gcc $CFLAGS $STAGE_CFLAGS -Wa,--noexecstack -DIMPLIB_HIDDEN_SHIMS -c *.tramp.S *.init.c ${FFBUILD_CROSS_PREFIX}ar -rcs "$OUT" *.tramp.o *.init.o diff --git a/builder/images/base-linuxarm64/ct-ng-config b/builder/images/base-linuxarm64/ct-ng-config index f3f768a2400..2cd50855541 100644 --- a/builder/images/base-linuxarm64/ct-ng-config +++ b/builder/images/base-linuxarm64/ct-ng-config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# crosstool-NG 1.26.0.65_ecc5e41 Configuration +# crosstool-NG 1.26.0.93_a87bf7f Configuration # CT_CONFIGURE_has_static_link=y CT_CONFIGURE_has_cxx11=y @@ -10,6 +10,7 @@ CT_CONFIGURE_has_meson=y CT_CONFIGURE_has_ninja=y CT_CONFIGURE_has_make_3_81_or_newer=y CT_CONFIGURE_has_make_4_0_or_newer=y +CT_CONFIGURE_has_make_4_4_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 @@ -20,6 +21,7 @@ CT_CONFIGURE_has_python_3_4_or_newer=y CT_CONFIGURE_has_bison_2_7_or_newer=y CT_CONFIGURE_has_bison_3_0_4_or_newer=y CT_CONFIGURE_has_python=y +CT_CONFIGURE_has_dtc=y CT_CONFIGURE_has_svn=y CT_CONFIGURE_has_git=y CT_CONFIGURE_has_md5sum=y @@ -27,7 +29,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.26.0.65_ecc5e41" +CT_VERSION="1.26.0.93_a87bf7f" CT_VCHECK="" CT_CONFIG_VERSION_ENV="4" CT_CONFIG_VERSION_CURRENT="4" @@ -273,6 +275,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_9 is not set +# CT_LINUX_V_6_8 is not set +# CT_LINUX_V_6_7 is not set # CT_LINUX_V_6_6 is not set # CT_LINUX_V_6_5 is not set # CT_LINUX_V_6_4 is not set @@ -526,6 +531,7 @@ CT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y CT_GLIBC_DEP_BINUTILS=y CT_GLIBC_DEP_GCC=y CT_GLIBC_DEP_PYTHON=y +CT_GLIBC_DEP_MAKE_4_3=y CT_GLIBC_SPARC_ALLOW_V7=y CT_THREADS="nptl" CT_GLIBC_BUILD_SSP=y @@ -602,7 +608,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_13=y +CT_GCC_V_14=y +# CT_GCC_V_13 is not set # CT_GCC_V_12 is not set # CT_GCC_V_11 is not set # CT_GCC_V_10 is not set @@ -612,12 +619,14 @@ CT_GCC_V_13=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="13.2.0" +CT_GCC_VERSION="14.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_14=y +CT_GCC_14_or_later=y CT_GCC_later_than_13=y CT_GCC_13_or_later=y CT_GCC_later_than_12=y @@ -702,6 +711,17 @@ CT_CC_LANG_CXX=y CT_CC_LANG_OTHERS="" # end of C compiler +# +# Linkers +# + +# +# BFD enabled in binutils +# +# CT_LINKER_MOLD is not set +CT_ALL_LINKER_CHOICES="MOLD" +# end of Linkers + # # Debug facilities # @@ -732,17 +752,18 @@ CT_GETTEXT_PATCH_GLOBAL=y # CT_GETTEXT_PATCH_LOCAL_BUNDLED is not set # CT_GETTEXT_PATCH_NONE is not set CT_GETTEXT_PATCH_ORDER="global" -CT_GETTEXT_V_0_21=y +CT_GETTEXT_V_0_22_5=y +# CT_GETTEXT_V_0_21 is not set # CT_GETTEXT_V_0_20_1 is not set # CT_GETTEXT_V_0_19_8_1 is not set -CT_GETTEXT_VERSION="0.21" +CT_GETTEXT_VERSION="0.22.5" CT_GETTEXT_MIRRORS="$(CT_Mirrors GNU gettext)" CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig" +CT_GETTEXT_later_than_0_21=y CT_GETTEXT_0_21_or_later=y -CT_GETTEXT_0_21_or_older=y CT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y # @@ -951,9 +972,10 @@ CT_ZSTD_PATCH_GLOBAL=y # 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_6=y +# CT_ZSTD_V_1_5_5 is not set # CT_ZSTD_V_1_5_2 is not set -CT_ZSTD_VERSION="1.5.5" +CT_ZSTD_VERSION="1.5.6" 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}" @@ -990,7 +1012,35 @@ CT_ZSTD=y # CT_COMP_TOOLS_DTC is not set # CT_COMP_TOOLS_LIBTOOL is not set # CT_COMP_TOOLS_M4 is not set -# CT_COMP_TOOLS_MAKE is not set +CT_COMP_TOOLS_MAKE=y +CT_COMP_TOOLS_MAKE_PKG_KSYM="MAKE" +CT_MAKE_DIR_NAME="make" +CT_MAKE_PKG_NAME="make" +CT_MAKE_SRC_RELEASE=y +# CT_MAKE_SRC_DEVEL is not set +# CT_MAKE_SRC_CUSTOM is not set +CT_MAKE_PATCH_GLOBAL=y +# CT_MAKE_PATCH_BUNDLED is not set +# CT_MAKE_PATCH_LOCAL is not set +# CT_MAKE_PATCH_BUNDLED_LOCAL is not set +# CT_MAKE_PATCH_LOCAL_BUNDLED is not set +# CT_MAKE_PATCH_NONE is not set +CT_MAKE_PATCH_ORDER="global" +CT_MAKE_V_4_3=y +# CT_MAKE_V_4_2 is not set +CT_MAKE_VERSION="4.3" +CT_MAKE_MIRRORS="$(CT_Mirrors GNU make)" +CT_MAKE_ARCHIVE_FILENAME="@{pkg_name}-@{version}" +CT_MAKE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" +CT_MAKE_ARCHIVE_FORMATS=".tar.lz .tar.gz" +CT_MAKE_SIGNATURE_FORMAT="packed/.sig" +CT_MAKE_4_4_or_older=y +CT_MAKE_older_than_4_4=y +CT_MAKE_REQUIRE_older_than_4_4=y +CT_MAKE_4_3_or_later=y +CT_MAKE_4_3_or_older=y +CT_MAKE_GMAKE_SYMLINK=y +CT_MAKE_GNUMAKE_SYMLINK=y CT_ALL_COMP_TOOLS_CHOICES="AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE" # end of Companion tools diff --git a/builder/images/base-linuxarm64/gen-implib.sh b/builder/images/base-linuxarm64/gen-implib.sh index 71d6d4609ba..1e6bc8e1859 100755 --- a/builder/images/base-linuxarm64/gen-implib.sh +++ b/builder/images/base-linuxarm64/gen-implib.sh @@ -13,5 +13,5 @@ cd "$TMPDIR" set -x python3 /opt/implib/implib-gen.py --target aarch64-linux-gnu --dlopen --lazy-load --verbose "$IN" -${FFBUILD_CROSS_PREFIX}gcc $CFLAGS $STAGE_CFLAGS -DIMPLIB_HIDDEN_SHIMS -c *.tramp.S *.init.c +${FFBUILD_CROSS_PREFIX}gcc $CFLAGS $STAGE_CFLAGS -Wa,--noexecstack -DIMPLIB_HIDDEN_SHIMS -c *.tramp.S *.init.c ${FFBUILD_CROSS_PREFIX}ar -rcs "$OUT" *.tramp.o *.init.o diff --git a/builder/images/base-win64/cross.meson b/builder/images/base-win64/cross.meson index eb16efb37a8..0b5513c523a 100644 --- a/builder/images/base-win64/cross.meson +++ b/builder/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/builder/images/base-win64/ct-ng-config b/builder/images/base-win64/ct-ng-config index df935b4efa5..5fa1ecfb181 100644 --- a/builder/images/base-win64/ct-ng-config +++ b/builder/images/base-win64/ct-ng-config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# crosstool-NG 1.26.0.65_ecc5e41 Configuration +# crosstool-NG 1.26.0.93_a87bf7f Configuration # CT_CONFIGURE_has_static_link=y CT_CONFIGURE_has_cxx11=y @@ -10,6 +10,7 @@ CT_CONFIGURE_has_meson=y CT_CONFIGURE_has_ninja=y CT_CONFIGURE_has_make_3_81_or_newer=y CT_CONFIGURE_has_make_4_0_or_newer=y +CT_CONFIGURE_has_make_4_4_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 @@ -20,6 +21,7 @@ CT_CONFIGURE_has_python_3_4_or_newer=y CT_CONFIGURE_has_bison_2_7_or_newer=y CT_CONFIGURE_has_bison_3_0_4_or_newer=y CT_CONFIGURE_has_python=y +CT_CONFIGURE_has_dtc=y CT_CONFIGURE_has_svn=y CT_CONFIGURE_has_git=y CT_CONFIGURE_has_md5sum=y @@ -27,7 +29,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.26.0.65_ecc5e41" +CT_VERSION="1.26.0.93_a87bf7f" CT_VCHECK="" CT_CONFIG_VERSION_ENV="4" CT_CONFIG_VERSION_CURRENT="4" @@ -370,7 +372,8 @@ 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_V11_0=y +CT_MINGW_W64_V_V12_0=y +# CT_MINGW_W64_V_V11_0 is not set # CT_MINGW_W64_V_V10_0 is not set # CT_MINGW_W64_V_V9_0 is not set # CT_MINGW_W64_V_V8_0 is not set @@ -378,7 +381,7 @@ CT_MINGW_W64_V_V11_0=y # 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="v11.0.1" +CT_MINGW_W64_VERSION="v12.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}" @@ -444,7 +447,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_13=y +CT_GCC_V_14=y +# CT_GCC_V_13 is not set # CT_GCC_V_12 is not set # CT_GCC_V_11 is not set # CT_GCC_V_10 is not set @@ -454,12 +458,14 @@ CT_GCC_V_13=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="13.2.0" +CT_GCC_VERSION="14.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_14=y +CT_GCC_14_or_later=y CT_GCC_later_than_13=y CT_GCC_13_or_later=y CT_GCC_later_than_12=y @@ -541,6 +547,17 @@ CT_CC_LANG_CXX=y CT_CC_LANG_OTHERS="" # end of C compiler +# +# Linkers +# + +# +# BFD enabled in binutils +# +# CT_LINKER_MOLD is not set +CT_ALL_LINKER_CHOICES="MOLD" +# end of Linkers + # # Debug facilities # @@ -571,17 +588,18 @@ CT_GETTEXT_PATCH_GLOBAL=y # CT_GETTEXT_PATCH_LOCAL_BUNDLED is not set # CT_GETTEXT_PATCH_NONE is not set CT_GETTEXT_PATCH_ORDER="global" -CT_GETTEXT_V_0_21=y +CT_GETTEXT_V_0_22_5=y +# CT_GETTEXT_V_0_21 is not set # CT_GETTEXT_V_0_20_1 is not set # CT_GETTEXT_V_0_19_8_1 is not set -CT_GETTEXT_VERSION="0.21" +CT_GETTEXT_VERSION="0.22.5" CT_GETTEXT_MIRRORS="$(CT_Mirrors GNU gettext)" CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig" +CT_GETTEXT_later_than_0_21=y CT_GETTEXT_0_21_or_later=y -CT_GETTEXT_0_21_or_older=y CT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y # @@ -738,9 +756,10 @@ CT_ZSTD_PATCH_GLOBAL=y # 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_6=y +# CT_ZSTD_V_1_5_5 is not set # CT_ZSTD_V_1_5_2 is not set -CT_ZSTD_VERSION="1.5.5" +CT_ZSTD_VERSION="1.5.6" 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}" diff --git a/builder/images/base/Dockerfile b/builder/images/base/Dockerfile index 1114f59118f..001088d0a1a 100644 --- a/builder/images/base/Dockerfile +++ b/builder/images/base/Dockerfile @@ -1,6 +1,6 @@ FROM ubuntu:noble -ENV DEBIAN_FRONTEND noninteractive +ENV DEBIAN_FRONTEND=noninteractive RUN \ apt-get -y update && \ apt-get -y dist-upgrade && \ diff --git a/builder/patches/zvbi/0000-ssize_max.patch b/builder/patches/zvbi/0000-ssize_max.patch deleted file mode 100644 index eb980a618d1..00000000000 --- a/builder/patches/zvbi/0000-ssize_max.patch +++ /dev/null @@ -1,28 +0,0 @@ -Linear memory extents over SSIZE_MAX are undefined, so there is no -point in protecting against them. -diff -ru zvbi.orig/src/export.c zvbi/src/export.c ---- zvbi.orig/src/export.c 2011-11-06 11:22:47.000000000 +0200 -+++ zvbi/src/export.c 2011-11-06 11:27:39.000000000 +0200 -@@ -1076,8 +1076,6 @@ - size_t count; - - count = src_size; -- if (unlikely (src_size > SSIZE_MAX)) -- count = SSIZE_MAX & -4096; - - for (retry = 10;; --retry) { - actual = write (e->_handle.fd, src, count); -@@ -1632,12 +1630,7 @@ - free (e->buffer.data); - } - -- if (unlikely (e->buffer.offset > (size_t) SSIZE_MAX)) { -- errno = EOVERFLOW; -- actual = -1; /* failed */ -- } else { -- actual = e->buffer.offset; -- } -+ actual = e->buffer.offset; - } else { - if (VBI_EXPORT_TARGET_ALLOC == e->target) - free (e->buffer.data); diff --git a/builder/patches/zvbi/0001-ioctl.patch b/builder/patches/zvbi/0001-ioctl.patch deleted file mode 100644 index 2b0e42d5152..00000000000 --- a/builder/patches/zvbi/0001-ioctl.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -ru zvbi.orig/contrib/ntsc-cc.c zvbi/contrib/ntsc-cc.c ---- zvbi.orig/contrib/ntsc-cc.c 2011-11-06 11:22:47.000000000 +0200 -+++ zvbi/contrib/ntsc-cc.c 2011-11-06 11:29:04.000000000 +0200 -@@ -32,7 +32,6 @@ - #include - #include - #include --#include - #include - #include - #ifdef HAVE_GETOPT_LONG -@@ -44,6 +43,7 @@ - #include "src/libzvbi.h" - - #ifdef ENABLE_V4L2 -+# include - # include - # include "src/videodev2k.h" - #endif diff --git a/builder/patches/zvbi/0002-fix-static-linking.patch b/builder/patches/zvbi/0002-fix-static-linking.patch deleted file mode 100644 index 03ff7c58b39..00000000000 --- a/builder/patches/zvbi/0002-fix-static-linking.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- zvbi/configure.in 2013-08-28 13:52:48.000000000 +0000 -+++ zvbi.patched/configure.in 2016-11-02 21:25:34.292580446 +0000 -@@ -244,7 +244,7 @@ - dnl - HAVE_PNG="yes" - AC_CHECK_LIB(png, png_destroy_write_struct, -- LIBS="$LIBS -lpng -lz", HAVE_PNG="no", -lz -lm) -+ LIBS="-lpng -lz $LIBS", HAVE_PNG="no", -lz -lm) - if test "x$HAVE_PNG" = xyes; then - AC_DEFINE(HAVE_LIBPNG, 1, [Define if you have libpng]) - fi diff --git a/builder/patches/zvbi/0003-win32.patch b/builder/patches/zvbi/0003-win32.patch deleted file mode 100644 index 76e3ef60cde..00000000000 --- a/builder/patches/zvbi/0003-win32.patch +++ /dev/null @@ -1,167 +0,0 @@ -diff -ruN zvbi/src/conv.c zvbi.new/src/conv.c ---- zvbi/src/conv.c 2008-02-26 15:39:23.000000000 +0100 -+++ zvbi.new/src/conv.c 2008-09-11 21:05:18.000000000 +0200 -@@ -26,7 +26,9 @@ - #endif - - #include -+#ifndef _WIN32 - #include -+#endif - - #include "misc.h" - #include "conv.h" -@@ -1234,9 +1236,12 @@ - const char *dst_format; - - dst_format = bind_textdomain_codeset (vbi_intl_domainname, NULL); -- -+#ifdef _WIN32 -+#warning this is wrong -+#else - if (NULL == dst_format) - dst_format = nl_langinfo (CODESET); -+#endif - - return dst_format; /* may be NULL */ - } -diff -ruN zvbi/src/export.c zvbi.new/src/export.c ---- zvbi/src/export.c 2008-02-19 01:35:15.000000000 +0100 -+++ zvbi.new/src/export.c 2008-09-11 20:38:55.000000000 +0200 -@@ -40,6 +40,26 @@ - #include "conv.h" - #include "vbi.h" /* asprintf */ - -+#ifndef EOVERFLOW -+ #define EOVERFLOW 75 -+#endif -+ -+#ifndef S_IRGRP -+#define S_IRGRP 0 -+#endif -+ -+#ifndef S_IWGRP -+#define S_IWGRP 0 -+#endif -+ -+#ifndef S_IROTH -+#define S_IROTH 0 -+#endif -+ -+#ifndef S_IWOTH -+#define S_IWOTH 0 -+#endif -+ - extern const char _zvbi_intl_domainname[]; - - /** -diff -ruN zvbi/src/packet.c zvbi.new/src/packet.c ---- zvbi/src/packet.c 2008-02-20 18:04:33.000000000 +0100 -+++ zvbi.new/src/packet.c 2008-09-11 21:00:35.000000000 +0200 -@@ -32,7 +32,9 @@ - #include - #include - #include -+#ifndef _WIN32 - #include -+#endif - - #include "misc.h" - #include "hamm.h" -diff -ruN zvbi/src/proxy-msg.c zvbi.new/src/proxy-msg.c ---- zvbi/src/proxy-msg.c 2008-02-19 01:35:21.000000000 +0100 -+++ zvbi.new/src/proxy-msg.c 2008-09-11 21:00:07.000000000 +0200 -@@ -129,7 +129,9 @@ - #include - #include - #include -+#ifndef _WIN32 - #include -+#endif - #include - #include - #include -diff -ruN zvbi/src/proxy-msg.h zvbi.new/src/proxy-msg.h ---- zvbi/src/proxy-msg.h 2008-02-19 01:35:21.000000000 +0100 -+++ zvbi.new/src/proxy-msg.h 2008-09-11 20:59:40.000000000 +0200 -@@ -68,7 +68,9 @@ - #ifndef PROXY_MSG_H - #define PROXY_MSG_H - -+#ifndef _WIN32 - #include -+#endif - - /* Public */ - -diff -ruN zvbi/src/vbi.c zvbi.new/src/vbi.c ---- zvbi/src/vbi.c 2008-03-05 14:33:04.000000000 +0100 -+++ zvbi.new/src/vbi.c 2008-09-11 20:57:55.000000000 +0200 -@@ -39,7 +39,9 @@ - #include - #include - #include -+#ifndef _WIN32 - #include -+#endif - #include - #include - ---- zvbi/src/io.c 2008-02-19 01:35:20.000000000 +0100 -+++ zvbi2/src/io.c 2008-09-11 21:18:59.000000000 +0200 -@@ -28,8 +28,10 @@ - - #include /* open() */ - #include /* close(), mmap(), munmap(), gettimeofday() */ -+#ifndef _WIN32 - #include /* ioctl() */ - #include /* mmap(), munmap() */ -+#endif - #include /* struct timeval */ - #include - #include -@@ -514,7 +516,7 @@ - } - } - -- -+#ifndef _WIN32 - /** - * @internal - * -@@ -554,7 +556,7 @@ - return ret; - } - } -- -+#endif - /* Helper functions to log the communication between the library and drivers. - FIXME remove fp arg, call user log function instead (0.3). */ - -@@ -668,7 +670,9 @@ - "EXCL", O_EXCL, - "TRUNC", O_TRUNC, - "APPEND", O_APPEND, -+#ifndef _WIN32 - "NONBLOCK", O_NONBLOCK, -+#endif - 0); - fprintf (fp, ", 0%o)", mode); - -@@ -773,6 +777,7 @@ - return err; - } - -+#ifndef _WIN32 - /** - * @internal - * Drop-in for mmap(). Logs the request on fp if not NULL. -@@ -822,7 +827,7 @@ - - return r; - } -- -+#endif - /** - * @internal - * Drop-in for munmap(). Logs the request on fp if not NULL. diff --git a/builder/patches/zvbi/0004-fix-clang-support.patch b/builder/patches/zvbi/0004-fix-clang-support.patch deleted file mode 100644 index ca83c55ccd1..00000000000 --- a/builder/patches/zvbi/0004-fix-clang-support.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -ru zvbi/src/misc.h zvbi-fixed/src/misc.h ---- zvbi/src/misc.h 2013-07-02 04:32:31.000000000 +0200 -+++ zvbi-fixed/src/misc.h 2013-08-08 21:37:22.000000000 +0200 -@@ -52,17 +52,6 @@ - # define unlikely(expr) __builtin_expect(expr, 0) - #endif - --#undef __i386__ --#undef __i686__ --/* FIXME #cpu is deprecated --#if #cpu (i386) --# define __i386__ 1 --#endif --#if #cpu (i686) --# define __i686__ 1 --#endif --*/ -- - /* &x == PARENT (&x.tm_min, struct tm, tm_min), - safer than &x == (struct tm *) &x.tm_min. A NULL _ptr is safe and - will return NULL, not -offsetof(_member). */ -@@ -156,8 +145,6 @@ - - #define likely(expr) (expr) - #define unlikely(expr) (expr) --#undef __i386__ --#undef __i686__ - - static char * - PARENT_HELPER (char *p, unsigned int offset) diff --git a/builder/scripts.d/10-mingw.sh b/builder/scripts.d/10-mingw.sh index c445b7c8b07..37f7dc8df71 100755 --- a/builder/scripts.d/10-mingw.sh +++ b/builder/scripts.d/10-mingw.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://git.code.sf.net/p/mingw-w64/mingw-w64.git" -SCRIPT_COMMIT="cff4b8fda1b577b99144020fb81b27f5bc633a5e" +SCRIPT_COMMIT="f1075a71a0027febccc19a1db0244e98f9ae0102" ffbuild_enabled() { [[ $TARGET == win* ]] || return -1 diff --git a/builder/scripts.d/20-zlib.sh b/builder/scripts.d/20-zlib.sh index 3d1dbd9ee7b..b703898ec99 100755 --- a/builder/scripts.d/20-zlib.sh +++ b/builder/scripts.d/20-zlib.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/madler/zlib.git" -SCRIPT_COMMIT="0f51fb4933fc9ce18199cb2554dacea8033e7fd3" +SCRIPT_COMMIT="ceadaf28dfa48dbf238a0ddb884d4c543b4170e8" ffbuild_enabled() { return 0 diff --git a/builder/scripts.d/25-fftw3f.sh b/builder/scripts.d/25-fftw3f.sh index 1b6eaef4714..99cb43cc454 100755 --- a/builder/scripts.d/25-fftw3f.sh +++ b/builder/scripts.d/25-fftw3f.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/FFTW/fftw3.git" -SCRIPT_COMMIT="cab901fe465324cb46bd4953e18ddc610ade29b9" +SCRIPT_COMMIT="187045ea647ba19c55db5f503d11bd811ee6b56e" ffbuild_enabled() { # Dependency of GPL-Only librubberband diff --git a/builder/scripts.d/25-freetype.sh b/builder/scripts.d/25-freetype.sh index 54e23128a94..b2a683f8b07 100755 --- a/builder/scripts.d/25-freetype.sh +++ b/builder/scripts.d/25-freetype.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/freetype/freetype.git" -SCRIPT_COMMIT="39f2fbf80c5ab9ad7b380080395c987f4922a038" +SCRIPT_COMMIT="1452355de99d22b0cba6ccc17bf5cdf3682ef61e" ffbuild_enabled() { return 0 diff --git a/builder/scripts.d/25-fribidi.sh b/builder/scripts.d/25-fribidi.sh index 64353aba172..4553dc3ff42 100755 --- a/builder/scripts.d/25-fribidi.sh +++ b/builder/scripts.d/25-fribidi.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/fribidi/fribidi.git" -SCRIPT_COMMIT="bca04dc3cd3af85a9d9220c430737333634d622a" +SCRIPT_COMMIT="3826589ea556da613bd42742a169789469e8b635" ffbuild_enabled() { return 0 diff --git a/builder/scripts.d/20-libxml2.sh b/builder/scripts.d/25-libxml2.sh similarity index 93% rename from builder/scripts.d/20-libxml2.sh rename to builder/scripts.d/25-libxml2.sh index f986295b920..6cac01fe4e4 100755 --- a/builder/scripts.d/20-libxml2.sh +++ b/builder/scripts.d/25-libxml2.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/GNOME/libxml2.git" -SCRIPT_COMMIT="1371d0bda20f5e909e94054f6f49d0a967ac5291" +SCRIPT_COMMIT="7c10393fc0748a4651484408410b9b939d806364" ffbuild_enabled() { return 0 diff --git a/builder/scripts.d/25-openssl.sh b/builder/scripts.d/25-openssl.sh index 045a41325c7..deef79bdca8 100755 --- a/builder/scripts.d/25-openssl.sh +++ b/builder/scripts.d/25-openssl.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/openssl/openssl.git" -SCRIPT_COMMIT="openssl-3.1.5" +SCRIPT_COMMIT="openssl-3.1.6" SCRIPT_TAGFILTER="openssl-3.1.*" ffbuild_enabled() { diff --git a/builder/scripts.d/35-fontconfig.sh b/builder/scripts.d/35-fontconfig.sh index 3f2f5a73440..62d4ba1f0f3 100755 --- a/builder/scripts.d/35-fontconfig.sh +++ b/builder/scripts.d/35-fontconfig.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/fontconfig/fontconfig.git" -SCRIPT_COMMIT="3b4641ae7a7bf961221cd7b55cc0e25d9d1a6365" +SCRIPT_COMMIT="70b60ca46107fc4774d163773febe974c76b2ee7" ffbuild_enabled() { return 0 diff --git a/builder/scripts.d/45-harfbuzz.sh b/builder/scripts.d/45-harfbuzz.sh index e045e23f235..0e01a1c22b3 100755 --- a/builder/scripts.d/45-harfbuzz.sh +++ b/builder/scripts.d/45-harfbuzz.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/harfbuzz/harfbuzz.git" -SCRIPT_COMMIT="bc90b29b37fe3809f9e48aa7be08fbf2208e481a" +SCRIPT_COMMIT="fe7dc0c3cfbdda5d064a8f5de9f0256a2df8dfed" ffbuild_enabled() { return 0 @@ -11,24 +11,29 @@ ffbuild_dockerbuild() { git-mini-clone "$SCRIPT_REPO" "$SCRIPT_COMMIT" harfbuzz cd harfbuzz + mkdir build && cd build + local myconf=( --prefix="$FFBUILD_PREFIX" - --disable-shared - --enable-static - --with-pic + --buildtype=release + --default-library=static + -Dfreetype=enabled + -Dglib=disabled + -Dgobject=disabled + -Dcairo=disabled + -Dchafa=disabled + -Dicu=disabled + -Dtests=disabled + -Dintrospection=disabled + -Ddocs=disabled + -Dutilities=disabled ) if [[ $TARGET == win* || $TARGET == linux* ]]; then myconf+=( - --host="$FFBUILD_TOOLCHAIN" + --cross-file=/cross.meson ) elif [[ $TARGET == mac* ]]; then - myconf+=( - --with-glib=no - --with-cairo=no - --with-chafa=no - --with-icu=no - ) # freetype's pkg-config usage cannot find static libbrotli export FREETYPE_LIBS="$(pkg-config --libs --static freetype2)" else @@ -38,7 +43,7 @@ ffbuild_dockerbuild() { export LIBS="-lpthread" - ./autogen.sh "${myconf[@]}" - make -j$(nproc) - make install + meson "${myconf[@]}" .. + ninja -j$(nproc) + ninja install } diff --git a/builder/scripts.d/45-x11/10-xproto.sh b/builder/scripts.d/45-x11/10-xproto.sh index ac02730cd5a..e258058d1dc 100755 --- a/builder/scripts.d/45-x11/10-xproto.sh +++ b/builder/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="68de489ec6c2fb6f8cfc47b0bba7edd0f9942f17" +SCRIPT_COMMIT="3076552555c32cb89ec20ddef638317f0ea303b9" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 diff --git a/builder/scripts.d/45-x11/10-xtrans.sh b/builder/scripts.d/45-x11/10-xtrans.sh index 4c62ca2bb69..a3cd11ff85b 100755 --- a/builder/scripts.d/45-x11/10-xtrans.sh +++ b/builder/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="656d27ed32af4082e8062c1d7c42b65ea3a6b80f" +SCRIPT_COMMIT="edd3f51328df9c621277168c9dd77b1e80ccfd7c" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 diff --git a/builder/scripts.d/45-x11/40-libx11.sh b/builder/scripts.d/45-x11/40-libx11.sh index 8e55480883a..5fd4d40a709 100755 --- a/builder/scripts.d/45-x11/40-libx11.sh +++ b/builder/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="97fb5bda3d0777380cd4b964f48771a82ef3f2a7" +SCRIPT_COMMIT="92014b39634e0b0aa52d4bff955a7aac3ed0a915" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 diff --git a/builder/scripts.d/50-amf.sh b/builder/scripts.d/50-amf.sh index 1f2f1e2def3..ffa15caa737 100755 --- a/builder/scripts.d/50-amf.sh +++ b/builder/scripts.d/50-amf.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/GPUOpen-LibrariesAndSDKs/AMF.git" -SCRIPT_COMMIT="e1acd43bb000f7e0c3a2bd022a145aa931169bc6" +SCRIPT_COMMIT="6d7bec0469961e2891c6e1aaa5122b76ed82e1db" ffbuild_enabled() { [[ $TARGET == mac* ]] && return -1 diff --git a/builder/scripts.d/50-dav1d.sh b/builder/scripts.d/50-dav1d.sh index bf9ffc65d69..d54f568f12e 100755 --- a/builder/scripts.d/50-dav1d.sh +++ b/builder/scripts.d/50-dav1d.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://code.videolan.org/videolan/dav1d.git" -SCRIPT_COMMIT="3623543c4117f413110b27b5c20c6ae1638a22f9" +SCRIPT_COMMIT="2355eeb8f254a1c34dbb0241be5c70cdf6ed46d1" ffbuild_enabled() { return 0 diff --git a/builder/scripts.d/50-libass.sh b/builder/scripts.d/50-libass.sh index 31fbc1d4c2b..d5eac783e34 100755 --- a/builder/scripts.d/50-libass.sh +++ b/builder/scripts.d/50-libass.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/libass/libass.git" -SCRIPT_COMMIT="cbb48cc4f2f076300004b8b06a86bec55281d0c2" +SCRIPT_COMMIT="c131a95c443f894bd95a05dfa3d0a8dc67a22d5e" ffbuild_enabled() { return 0 diff --git a/builder/scripts.d/50-libmp3lame.sh b/builder/scripts.d/50-libmp3lame.sh index 8451e6841c7..f009786b12f 100755 --- a/builder/scripts.d/50-libmp3lame.sh +++ b/builder/scripts.d/50-libmp3lame.sh @@ -35,7 +35,7 @@ ffbuild_dockerbuild() { return -1 fi - export CFLAGS="$CFLAGS -DNDEBUG" + export CFLAGS="$CFLAGS -DNDEBUG -Wno-error=incompatible-pointer-types" ./configure "${myconf[@]}" make -j$(nproc) diff --git a/builder/scripts.d/50-libopus.sh b/builder/scripts.d/50-libopus.sh index 88a132f4a5e..4c6544c67a1 100755 --- a/builder/scripts.d/50-libopus.sh +++ b/builder/scripts.d/50-libopus.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/xiph/opus.git" -SCRIPT_COMMIT="eb39efaa154fab96bf12b5cab932418cd3807eb2" +SCRIPT_COMMIT="2554a89e02c7fc30a980b4f7e635ceae1ecba5d6" ffbuild_enabled() { return 0 diff --git a/builder/scripts.d/50-libvpl.sh b/builder/scripts.d/50-libvpl.sh index b51a9b7a557..241f6bcc641 100755 --- a/builder/scripts.d/50-libvpl.sh +++ b/builder/scripts.d/50-libvpl.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/intel/libvpl.git" -SCRIPT_COMMIT="18b63f421a016ea34d2fcfc6c63e16dba13b71f1" +SCRIPT_COMMIT="0c13c410095764799afea0cf645bd896378579b8" ffbuild_enabled() { [[ $TARGET == mac* ]] && return -1 diff --git a/builder/scripts.d/50-libvpx.sh b/builder/scripts.d/50-libvpx.sh index 42d448b7b42..7b7ac3e10fe 100755 --- a/builder/scripts.d/50-libvpx.sh +++ b/builder/scripts.d/50-libvpx.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://chromium.googlesource.com/webm/libvpx" -SCRIPT_COMMIT="602e2e8979d111b02c959470da5322797dd96a19" +SCRIPT_COMMIT="3fb0e5d75dc07890113ddbdecb88e34853e058de" ffbuild_enabled() { return 0 diff --git a/builder/scripts.d/50-libwebp.sh b/builder/scripts.d/50-libwebp.sh index 9495adeaf6a..1b4cb7e1f3c 100755 --- a/builder/scripts.d/50-libwebp.sh +++ b/builder/scripts.d/50-libwebp.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://chromium.googlesource.com/webm/libwebp" -SCRIPT_COMMIT="845d5476a866141ba35ac133f856fa62f0b7445f" +SCRIPT_COMMIT="0c01db7c3ceb3f2c941fc8bba8b3d38878021a79" ffbuild_enabled() { return 0 diff --git a/builder/scripts.d/50-openmpt.sh b/builder/scripts.d/50-openmpt.sh index 88b66832357..d5619eedbf5 100755 --- a/builder/scripts.d/50-openmpt.sh +++ b/builder/scripts.d/50-openmpt.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://source.openmpt.org/svn/openmpt/trunk/OpenMPT" -SCRIPT_REV="20832" +SCRIPT_REV="21268" ffbuild_enabled() { return 0 diff --git a/builder/scripts.d/50-rkmpp.sh b/builder/scripts.d/50-rkmpp.sh index c53aed24da1..8198aa7f26b 100644 --- a/builder/scripts.d/50-rkmpp.sh +++ b/builder/scripts.d/50-rkmpp.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/nyanmisaka/mpp.git" -SCRIPT_COMMIT="66af270e1e54432d0767cf929a5c4aee2b456d8c" +SCRIPT_COMMIT="19611f16d515cd3725bac67e5dd87df096869b40" ffbuild_enabled() { [[ $TARGET == linux* ]] && [[ $TARGET == *arm64 ]] && return 0 diff --git a/builder/scripts.d/50-srt.sh b/builder/scripts.d/50-srt.sh index 582856c1131..963c15d5a5a 100755 --- a/builder/scripts.d/50-srt.sh +++ b/builder/scripts.d/50-srt.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/Haivision/srt.git" -SCRIPT_COMMIT="38a3a165a1af92f6423de8c97646de07cba5e120" +SCRIPT_COMMIT="84d18ec9d1ef9e1bb37133d07151d59e92b4295e" ffbuild_enabled() { return 0 diff --git a/builder/scripts.d/50-svtav1.sh b/builder/scripts.d/50-svtav1.sh index 0c89ac05ce3..cc60caba62d 100755 --- a/builder/scripts.d/50-svtav1.sh +++ b/builder/scripts.d/50-svtav1.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.com/AOMediaCodec/SVT-AV1.git" -SCRIPT_COMMIT="bbcff785881b320f7e1b1f77a2f5ed025f8bfd75" +SCRIPT_COMMIT="21a1154add74504aa86d782a3cf662d3d7deb815" ffbuild_enabled() { [[ $TARGET == win32 ]] && return -1 diff --git a/builder/scripts.d/50-vaapi/40-libdrm.sh b/builder/scripts.d/50-vaapi/40-libdrm.sh index 2d911064b2d..65cd50a706a 100755 --- a/builder/scripts.d/50-vaapi/40-libdrm.sh +++ b/builder/scripts.d/50-vaapi/40-libdrm.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://gitlab.freedesktop.org/mesa/drm.git" -SCRIPT_COMMIT="75254bf2390c10644ffb35a90fc8f18f196f9f0c" +SCRIPT_COMMIT="11cafdd8d64e2fcb0b170a2a1df11a896231de67" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 diff --git a/builder/scripts.d/50-vaapi/50-libva.sh b/builder/scripts.d/50-vaapi/50-libva.sh index 73f7330f01d..3c3afbaa923 100755 --- a/builder/scripts.d/50-vaapi/50-libva.sh +++ b/builder/scripts.d/50-vaapi/50-libva.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_REPO="https://github.com/intel/libva.git" -SCRIPT_COMMIT="0b01aed44ef1a6ad660261284ff266fa812829ef" +SCRIPT_COMMIT="217da1c28336d6a7e9c0c4cb8f1c303968a675f1" ffbuild_enabled() { [[ $TARGET != linux* ]] && return -1 diff --git a/builder/scripts.d/50-vulkan/45-vulkan.sh b/builder/scripts.d/50-vulkan/45-vulkan.sh index 0e6034904e6..a51745897d0 100755 --- a/builder/scripts.d/50-vulkan/45-vulkan.sh +++ b/builder/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.285" +SCRIPT_COMMIT="v1.3.290" SCRIPT_TAGFILTER="v?.*.*" ffbuild_enabled() { @@ -15,9 +15,9 @@ ffbuild_dockerbuild() { mkdir build && cd build - cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" .. - make -j$(nproc) - make install + cmake -GNinja -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" .. + ninja -j$(nproc) + ninja install cat >"$FFBUILD_PREFIX"/lib/pkgconfig/vulkan.pc < Wed, 24 Jul 2024 20:57:11 +0800 + jellyfin-ffmpeg (6.0.1-7) unstable; urgency=medium * Add DOVI descriptor support in mpegtsenc diff --git a/debian/patches/0019-add-misc-fixes-for-qsv-from-upstream.patch b/debian/patches/0019-add-misc-fixes-for-qsv-from-upstream.patch index 595388e1ede..9d8426cc7bb 100644 --- a/debian/patches/0019-add-misc-fixes-for-qsv-from-upstream.patch +++ b/debian/patches/0019-add-misc-fixes-for-qsv-from-upstream.patch @@ -528,10 +528,11 @@ Index: jellyfin-ffmpeg/libavutil/hwcontext_qsv.c default: return MFX_ERR_UNSUPPORTED; } -@@ -1878,11 +1874,23 @@ static int qsv_frames_derive_to(AVHWFram +@@ -1878,11 +1874,25 @@ static int qsv_frames_derive_to(AVHWFram return 0; } ++#if CONFIG_VAAPI +static void qsv_umap_from_vaapi(AVHWFramesContext *dst_fc, + HWMapDescriptor *hwmap) +{ @@ -541,6 +542,7 @@ Index: jellyfin-ffmpeg/libavutil/hwcontext_qsv.c + av_freep(&new_sur->Data.MemId); + av_freep(&new_sur); +} ++#endif + static int qsv_map_to(AVHWFramesContext *dst_ctx, AVFrame *dst, const AVFrame *src, int flags) @@ -552,7 +554,7 @@ Index: jellyfin-ffmpeg/libavutil/hwcontext_qsv.c for (i = 0; i < hwctx->nb_surfaces && index < 0; i++) { switch(src->format) { -@@ -1921,21 +1929,77 @@ static int qsv_map_to(AVHWFramesContext +@@ -1921,21 +1931,77 @@ static int qsv_map_to(AVHWFramesContext } } if (index < 0) { @@ -585,17 +587,17 @@ Index: jellyfin-ffmpeg/libavutil/hwcontext_qsv.c + } + *(VASurfaceID*)(new_hdlpair->first) = (VASurfaceID)(uintptr_t)src->data[3]; + new_sur->Data.MemId = new_hdlpair; -+ -+ err = ff_hwframe_map_create(dst->hw_frames_ctx, dst, src, -+ &qsv_umap_from_vaapi, -+ (void*)new_sur); -+ if (err) -+ goto qsv_map_to_err; - err = ff_hwframe_map_create(dst->hw_frames_ctx, - dst, src, NULL, NULL); - if (err) - return err; ++ err = ff_hwframe_map_create(dst->hw_frames_ctx, dst, src, ++ &qsv_umap_from_vaapi, ++ (void*)new_sur); ++ if (err) ++ goto qsv_map_to_err; ++ + av_log(dst_ctx, AV_LOG_DEBUG, "Trying to map from a surface which " + "is not in the mapped frames context, so create a new surface\n"); + } diff --git a/debian/patches/0056-sync-intel-d3d11va-textures-before-mapping-to-opencl.patch b/debian/patches/0056-sync-intel-d3d11va-textures-before-mapping-to-opencl.patch index e0e0554c8d1..8dd31e187b2 100644 --- a/debian/patches/0056-sync-intel-d3d11va-textures-before-mapping-to-opencl.patch +++ b/debian/patches/0056-sync-intel-d3d11va-textures-before-mapping-to-opencl.patch @@ -249,7 +249,7 @@ Index: jellyfin-ffmpeg/libavutil/hwcontext_opencl.c + frames_priv->sync_point && frames_priv->sync_tex_2x2) { + opencl_sync_d3d11_texture(frames_priv, + device_hwctx, -+ src->data[0], index, ++ (ID3D11Texture2D *)src->data[0], index, + dst_fc); + } + diff --git a/debian/patches/0058-add-full-hwa-pipeline-for-rockchip-rk3588-platform.patch b/debian/patches/0058-add-full-hwa-pipeline-for-rockchip-rk3588-platform.patch index 43782ca70c6..80af7be0b5f 100644 --- a/debian/patches/0058-add-full-hwa-pipeline-for-rockchip-rk3588-platform.patch +++ b/debian/patches/0058-add-full-hwa-pipeline-for-rockchip-rk3588-platform.patch @@ -84,7 +84,7 @@ Index: jellyfin-ffmpeg/configure mpeg4_v4l2m2m_decoder_deps="v4l2_m2m mpeg4_v4l2_m2m" mpeg4_v4l2m2m_encoder_deps="v4l2_m2m mpeg4_v4l2_m2m" +mpeg4_rkmpp_decoder_deps="rkmpp" -+mpeg4_rkmpp_decoder_select="mpeg4_unpack_bframes_bsf" ++mpeg4_rkmpp_decoder_select="mpeg4_unpack_bframes_bsf dump_extradata_bsf" msmpeg4_crystalhd_decoder_select="crystalhd" vc1_crystalhd_decoder_select="crystalhd" vc1_cuvid_decoder_deps="cuvid" @@ -157,64 +157,6 @@ Index: jellyfin-ffmpeg/configure enable opencl_drm_arm fi -Index: jellyfin-ffmpeg/libavcodec/allcodecs.c -=================================================================== ---- jellyfin-ffmpeg.orig/libavcodec/allcodecs.c -+++ jellyfin-ffmpeg/libavcodec/allcodecs.c -@@ -150,6 +150,7 @@ extern const FFCodec ff_h263i_decoder; - extern const FFCodec ff_h263p_encoder; - extern const FFCodec ff_h263p_decoder; - extern const FFCodec ff_h263_v4l2m2m_decoder; -+extern const FFCodec ff_h263_rkmpp_decoder; - extern const FFCodec ff_h264_decoder; - extern const FFCodec ff_h264_crystalhd_decoder; - extern const FFCodec ff_h264_v4l2m2m_decoder; -@@ -212,13 +213,16 @@ extern const FFCodec ff_mpeg4_decoder; - extern const FFCodec ff_mpeg4_crystalhd_decoder; - extern const FFCodec ff_mpeg4_v4l2m2m_decoder; - extern const FFCodec ff_mpeg4_mmal_decoder; -+extern const FFCodec ff_mpeg4_rkmpp_decoder; - extern const FFCodec ff_mpegvideo_decoder; - extern const FFCodec ff_mpeg1_v4l2m2m_decoder; -+extern const FFCodec ff_mpeg1_rkmpp_decoder; - extern const FFCodec ff_mpeg2_mmal_decoder; - extern const FFCodec ff_mpeg2_crystalhd_decoder; - extern const FFCodec ff_mpeg2_v4l2m2m_decoder; - extern const FFCodec ff_mpeg2_qsv_decoder; - extern const FFCodec ff_mpeg2_mediacodec_decoder; -+extern const FFCodec ff_mpeg2_rkmpp_decoder; - extern const FFCodec ff_msa1_decoder; - extern const FFCodec ff_mscc_decoder; - extern const FFCodec ff_msmpeg4v1_decoder; -@@ -839,6 +843,7 @@ extern const FFCodec ff_av1_qsv_decoder; - extern const FFCodec ff_av1_qsv_encoder; - extern const FFCodec ff_av1_amf_encoder; - extern const FFCodec ff_av1_vaapi_encoder; -+extern const FFCodec ff_av1_rkmpp_decoder; - extern const FFCodec ff_libopenh264_encoder; - extern const FFCodec ff_libopenh264_decoder; - extern const FFCodec ff_h264_amf_encoder; -@@ -850,6 +855,7 @@ extern const FFCodec ff_h264_qsv_encoder - extern const FFCodec ff_h264_v4l2m2m_encoder; - extern const FFCodec ff_h264_vaapi_encoder; - extern const FFCodec ff_h264_videotoolbox_encoder; -+extern const FFCodec ff_h264_rkmpp_encoder; - extern const FFCodec ff_hevc_amf_encoder; - extern const FFCodec ff_hevc_cuvid_decoder; - extern const FFCodec ff_hevc_mediacodec_decoder; -@@ -860,10 +866,12 @@ extern const FFCodec ff_hevc_qsv_encoder - extern const FFCodec ff_hevc_v4l2m2m_encoder; - extern const FFCodec ff_hevc_vaapi_encoder; - extern const FFCodec ff_hevc_videotoolbox_encoder; -+extern const FFCodec ff_hevc_rkmpp_encoder; - extern const FFCodec ff_libkvazaar_encoder; - extern const FFCodec ff_mjpeg_cuvid_decoder; - extern const FFCodec ff_mjpeg_qsv_encoder; - extern const FFCodec ff_mjpeg_qsv_decoder; -+extern const FFCodec ff_mjpeg_rkmpp_encoder; - extern const FFCodec ff_mjpeg_vaapi_encoder; - extern const FFCodec ff_mp3_mf_encoder; - extern const FFCodec ff_mpeg1_cuvid_decoder; Index: jellyfin-ffmpeg/libavcodec/Makefile =================================================================== --- jellyfin-ffmpeg.orig/libavcodec/Makefile @@ -283,6 +225,64 @@ Index: jellyfin-ffmpeg/libavcodec/Makefile OBJS-$(CONFIG_MPL2_DECODER) += mpl2dec.o ass.o OBJS-$(CONFIG_MSA1_DECODER) += mss3.o OBJS-$(CONFIG_MSCC_DECODER) += mscc.o +Index: jellyfin-ffmpeg/libavcodec/allcodecs.c +=================================================================== +--- jellyfin-ffmpeg.orig/libavcodec/allcodecs.c ++++ jellyfin-ffmpeg/libavcodec/allcodecs.c +@@ -150,6 +150,7 @@ extern const FFCodec ff_h263i_decoder; + extern const FFCodec ff_h263p_encoder; + extern const FFCodec ff_h263p_decoder; + extern const FFCodec ff_h263_v4l2m2m_decoder; ++extern const FFCodec ff_h263_rkmpp_decoder; + extern const FFCodec ff_h264_decoder; + extern const FFCodec ff_h264_crystalhd_decoder; + extern const FFCodec ff_h264_v4l2m2m_decoder; +@@ -212,13 +213,16 @@ extern const FFCodec ff_mpeg4_decoder; + extern const FFCodec ff_mpeg4_crystalhd_decoder; + extern const FFCodec ff_mpeg4_v4l2m2m_decoder; + extern const FFCodec ff_mpeg4_mmal_decoder; ++extern const FFCodec ff_mpeg4_rkmpp_decoder; + extern const FFCodec ff_mpegvideo_decoder; + extern const FFCodec ff_mpeg1_v4l2m2m_decoder; ++extern const FFCodec ff_mpeg1_rkmpp_decoder; + extern const FFCodec ff_mpeg2_mmal_decoder; + extern const FFCodec ff_mpeg2_crystalhd_decoder; + extern const FFCodec ff_mpeg2_v4l2m2m_decoder; + extern const FFCodec ff_mpeg2_qsv_decoder; + extern const FFCodec ff_mpeg2_mediacodec_decoder; ++extern const FFCodec ff_mpeg2_rkmpp_decoder; + extern const FFCodec ff_msa1_decoder; + extern const FFCodec ff_mscc_decoder; + extern const FFCodec ff_msmpeg4v1_decoder; +@@ -839,6 +843,7 @@ extern const FFCodec ff_av1_qsv_decoder; + extern const FFCodec ff_av1_qsv_encoder; + extern const FFCodec ff_av1_amf_encoder; + extern const FFCodec ff_av1_vaapi_encoder; ++extern const FFCodec ff_av1_rkmpp_decoder; + extern const FFCodec ff_libopenh264_encoder; + extern const FFCodec ff_libopenh264_decoder; + extern const FFCodec ff_h264_amf_encoder; +@@ -850,6 +855,7 @@ extern const FFCodec ff_h264_qsv_encoder + extern const FFCodec ff_h264_v4l2m2m_encoder; + extern const FFCodec ff_h264_vaapi_encoder; + extern const FFCodec ff_h264_videotoolbox_encoder; ++extern const FFCodec ff_h264_rkmpp_encoder; + extern const FFCodec ff_hevc_amf_encoder; + extern const FFCodec ff_hevc_cuvid_decoder; + extern const FFCodec ff_hevc_mediacodec_decoder; +@@ -860,10 +866,12 @@ extern const FFCodec ff_hevc_qsv_encoder + extern const FFCodec ff_hevc_v4l2m2m_encoder; + extern const FFCodec ff_hevc_vaapi_encoder; + extern const FFCodec ff_hevc_videotoolbox_encoder; ++extern const FFCodec ff_hevc_rkmpp_encoder; + extern const FFCodec ff_libkvazaar_encoder; + extern const FFCodec ff_mjpeg_cuvid_decoder; + extern const FFCodec ff_mjpeg_qsv_encoder; + extern const FFCodec ff_mjpeg_qsv_decoder; ++extern const FFCodec ff_mjpeg_rkmpp_encoder; + extern const FFCodec ff_mjpeg_vaapi_encoder; + extern const FFCodec ff_mp3_mf_encoder; + extern const FFCodec ff_mpeg1_cuvid_decoder; Index: jellyfin-ffmpeg/libavcodec/rkmppdec.c =================================================================== --- jellyfin-ffmpeg.orig/libavcodec/rkmppdec.c @@ -1661,7 +1661,7 @@ Index: jellyfin-ffmpeg/libavcodec/rkmppdec.c +DEFINE_RKMPP_DECODER(mpeg2, MPEG2VIDEO, NULL) +#endif +#if CONFIG_MPEG4_RKMPP_DECODER -+DEFINE_RKMPP_DECODER(mpeg4, MPEG4, "mpeg4_unpack_bframes") ++DEFINE_RKMPP_DECODER(mpeg4, MPEG4, "dump_extra,mpeg4_unpack_bframes") +#endif Index: jellyfin-ffmpeg/libavcodec/rkmppdec.h =================================================================== @@ -3210,34 +3210,6 @@ Index: jellyfin-ffmpeg/libavcodec/rkmppenc.h +}; + +#endif /* AVCODEC_RKMPPENC_H */ -Index: jellyfin-ffmpeg/libavfilter/allfilters.c -=================================================================== ---- jellyfin-ffmpeg.orig/libavfilter/allfilters.c -+++ jellyfin-ffmpeg/libavfilter/allfilters.c -@@ -379,6 +379,7 @@ extern const AVFilter ff_vf_overlay_qsv; - extern const AVFilter ff_vf_overlay_vaapi; - extern const AVFilter ff_vf_overlay_vulkan; - extern const AVFilter ff_vf_overlay_cuda; -+extern const AVFilter ff_vf_overlay_rkrga; - extern const AVFilter ff_vf_owdenoise; - extern const AVFilter ff_vf_pad; - extern const AVFilter ff_vf_pad_opencl; -@@ -424,6 +425,7 @@ extern const AVFilter ff_vf_scale_opencl - extern const AVFilter ff_vf_scale_qsv; - extern const AVFilter ff_vf_scale_vaapi; - extern const AVFilter ff_vf_scale_vulkan; -+extern const AVFilter ff_vf_scale_rkrga; - extern const AVFilter ff_vf_scale2ref; - extern const AVFilter ff_vf_scale2ref_npp; - extern const AVFilter ff_vf_scdet; -@@ -509,6 +511,7 @@ extern const AVFilter ff_vf_vif; - extern const AVFilter ff_vf_vignette; - extern const AVFilter ff_vf_vmafmotion; - extern const AVFilter ff_vf_vpp_qsv; -+extern const AVFilter ff_vf_vpp_rkrga; - extern const AVFilter ff_vf_vstack; - extern const AVFilter ff_vf_w3fdif; - extern const AVFilter ff_vf_waveform; Index: jellyfin-ffmpeg/libavfilter/Makefile =================================================================== --- jellyfin-ffmpeg.orig/libavfilter/Makefile @@ -3282,6 +3254,34 @@ Index: jellyfin-ffmpeg/libavfilter/Makefile SKIPHEADERS-$(CONFIG_OPENCL) += opencl.h SKIPHEADERS-$(CONFIG_VAAPI) += vaapi_vpp.h SKIPHEADERS-$(CONFIG_VULKAN) += vulkan.h vulkan_filter.h +Index: jellyfin-ffmpeg/libavfilter/allfilters.c +=================================================================== +--- jellyfin-ffmpeg.orig/libavfilter/allfilters.c ++++ jellyfin-ffmpeg/libavfilter/allfilters.c +@@ -379,6 +379,7 @@ extern const AVFilter ff_vf_overlay_qsv; + extern const AVFilter ff_vf_overlay_vaapi; + extern const AVFilter ff_vf_overlay_vulkan; + extern const AVFilter ff_vf_overlay_cuda; ++extern const AVFilter ff_vf_overlay_rkrga; + extern const AVFilter ff_vf_owdenoise; + extern const AVFilter ff_vf_pad; + extern const AVFilter ff_vf_pad_opencl; +@@ -424,6 +425,7 @@ extern const AVFilter ff_vf_scale_opencl + extern const AVFilter ff_vf_scale_qsv; + extern const AVFilter ff_vf_scale_vaapi; + extern const AVFilter ff_vf_scale_vulkan; ++extern const AVFilter ff_vf_scale_rkrga; + extern const AVFilter ff_vf_scale2ref; + extern const AVFilter ff_vf_scale2ref_npp; + extern const AVFilter ff_vf_scdet; +@@ -509,6 +511,7 @@ extern const AVFilter ff_vf_vif; + extern const AVFilter ff_vf_vignette; + extern const AVFilter ff_vf_vmafmotion; + extern const AVFilter ff_vf_vpp_qsv; ++extern const AVFilter ff_vf_vpp_rkrga; + extern const AVFilter ff_vf_vstack; + extern const AVFilter ff_vf_w3fdif; + extern const AVFilter ff_vf_waveform; Index: jellyfin-ffmpeg/libavfilter/rkrga_common.c =================================================================== --- /dev/null @@ -5624,6 +5624,34 @@ Index: jellyfin-ffmpeg/libavfilter/vf_vpp_rkrga.c +}; + +#endif +Index: jellyfin-ffmpeg/libavutil/Makefile +=================================================================== +--- jellyfin-ffmpeg.orig/libavutil/Makefile ++++ jellyfin-ffmpeg/libavutil/Makefile +@@ -50,6 +50,7 @@ HEADERS = adler32.h + hwcontext_videotoolbox.h \ + hwcontext_vdpau.h \ + hwcontext_vulkan.h \ ++ hwcontext_rkmpp.h \ + imgutils.h \ + intfloat.h \ + intreadwrite.h \ +@@ -196,6 +197,7 @@ OBJS-$(CONFIG_VAAPI) + OBJS-$(CONFIG_VIDEOTOOLBOX) += hwcontext_videotoolbox.o + OBJS-$(CONFIG_VDPAU) += hwcontext_vdpau.o + OBJS-$(CONFIG_VULKAN) += hwcontext_vulkan.o ++OBJS-$(CONFIG_RKMPP) += hwcontext_rkmpp.o + + OBJS-$(!CONFIG_VULKAN) += hwcontext_stub.o + +@@ -218,6 +220,7 @@ SKIPHEADERS-$(CONFIG_VDPAU) + + SKIPHEADERS-$(CONFIG_VULKAN) += hwcontext_vulkan.h vulkan.h \ + vulkan_functions.h \ + vulkan_loader.h ++SKIPHEADERS-$(CONFIG_RKMPP) += hwcontext_rkmpp.h + + TESTPROGS = adler32 \ + aes \ Index: jellyfin-ffmpeg/libavutil/hwcontext.c =================================================================== --- jellyfin-ffmpeg.orig/libavutil/hwcontext.c @@ -5935,7 +5963,7 @@ Index: jellyfin-ffmpeg/libavutil/hwcontext_rkmpp.c + const int pixel_width = av_get_padded_bits_per_pixel(pixdesc) / 8; + linesize = FFALIGN(linesize / pixel_width, 8) * pixel_width; + } else if (is_yuv && is_fully_planar) { -+ linesize = FFALIGN(linesize, 16); ++ linesize = FFALIGN(linesize, 8); + } else + linesize = FFALIGN(linesize, 64); + @@ -6464,34 +6492,6 @@ Index: jellyfin-ffmpeg/libavutil/hwcontext_rkmpp.h +} AVRKMPPDeviceContext; + +#endif /* AVUTIL_HWCONTEXT_RKMPP_H */ -Index: jellyfin-ffmpeg/libavutil/Makefile -=================================================================== ---- jellyfin-ffmpeg.orig/libavutil/Makefile -+++ jellyfin-ffmpeg/libavutil/Makefile -@@ -50,6 +50,7 @@ HEADERS = adler32.h - hwcontext_videotoolbox.h \ - hwcontext_vdpau.h \ - hwcontext_vulkan.h \ -+ hwcontext_rkmpp.h \ - imgutils.h \ - intfloat.h \ - intreadwrite.h \ -@@ -196,6 +197,7 @@ OBJS-$(CONFIG_VAAPI) - OBJS-$(CONFIG_VIDEOTOOLBOX) += hwcontext_videotoolbox.o - OBJS-$(CONFIG_VDPAU) += hwcontext_vdpau.o - OBJS-$(CONFIG_VULKAN) += hwcontext_vulkan.o -+OBJS-$(CONFIG_RKMPP) += hwcontext_rkmpp.o - - OBJS-$(!CONFIG_VULKAN) += hwcontext_stub.o - -@@ -218,6 +220,7 @@ SKIPHEADERS-$(CONFIG_VDPAU) + - SKIPHEADERS-$(CONFIG_VULKAN) += hwcontext_vulkan.h vulkan.h \ - vulkan_functions.h \ - vulkan_loader.h -+SKIPHEADERS-$(CONFIG_RKMPP) += hwcontext_rkmpp.h - - TESTPROGS = adler32 \ - aes \ Index: jellyfin-ffmpeg/libavutil/pixdesc.c =================================================================== --- jellyfin-ffmpeg.orig/libavutil/pixdesc.c diff --git a/docker-build-win64.sh b/docker-build-win64.sh index a85f023ab9b..71aa42d6911 100755 --- a/docker-build-win64.sh +++ b/docker-build-win64.sh @@ -6,7 +6,7 @@ set -o errexit set -o xtrace # Update mingw-w64 headers -mingw_commit="cff4b8fda1b577b99144020fb81b27f5bc633a5e" +mingw_commit="f1075a71a0027febccc19a1db0244e98f9ae0102" git clone https://git.code.sf.net/p/mingw-w64/mingw-w64.git pushd mingw-w64/mingw-w64-headers git checkout ${mingw_commit} @@ -84,21 +84,15 @@ popd # FRIBIDI git clone --depth=1 https://github.com/fribidi/fribidi.git -pushd fribidi -mkdir build -pushd build -meson \ +meson setup fribidi fribidi_build \ --prefix=${FF_DEPS_PREFIX} \ --cross-file=${FF_MESON_TOOLCHAIN} \ --buildtype=release \ --default-library=static \ - -D{bin,docs,tests}=false \ - .. -ninja -j$(nproc) -meson install + -D{bin,docs,tests}=false +meson configure fribidi_build +ninja -j$(nproc) -C fribidi_build install sed -i 's/Cflags:/Cflags: -DFRIBIDI_LIB_STATIC/' ${FF_DEPS_PREFIX}/lib/pkgconfig/fribidi.pc -popd -popd # GMP mkdir gmp @@ -195,19 +189,17 @@ popd popd # HARFBUZZ -harfbuzz_commit="bc90b29b37fe3809f9e48aa7be08fbf2208e481a" -git clone https://github.com/harfbuzz/harfbuzz.git -pushd harfbuzz -git checkout ${harfbuzz_commit} -./autogen.sh \ +git clone -b 9.0.0 --depth=1 https://github.com/harfbuzz/harfbuzz.git +meson setup harfbuzz harfbuzz_build \ --prefix=${FF_DEPS_PREFIX} \ - --host=${FF_TOOLCHAIN} \ - --disable-shared \ - --enable-static \ - --with-pic -make -j$(nproc) -make install -popd + --cross-file=${FF_MESON_TOOLCHAIN} \ + --buildtype=release \ + --default-library=static \ + -Dfreetype=enabled \ + -D{glib,gobject,cairo,chafa,icu}=disabled \ + -D{tests,introspection,docs,utilities}=disabled +meson configure harfbuzz_build +ninja -j$(nproc) -C harfbuzz_build install # LIBUDFREAD git clone --depth=1 https://code.videolan.org/videolan/libudfread.git @@ -327,7 +319,7 @@ popd # OPENMPT mkdir mpt pushd mpt -mpt_ver="0.7.7" +mpt_ver="0.7.9" mpt_link="https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${mpt_ver}+release.autotools.tar.gz" wget ${mpt_link} -O mpt.tar.gz tar xaf mpt.tar.gz @@ -461,7 +453,7 @@ popd popd # SVT-AV1 -git clone -b v2.1.0 --depth=1 https://gitlab.com/AOMediaCodec/SVT-AV1.git +git clone -b v2.1.2 --depth=1 https://gitlab.com/AOMediaCodec/SVT-AV1.git pushd SVT-AV1 mkdir build pushd build @@ -478,22 +470,16 @@ popd popd # DAV1D -git clone -b 1.4.1 --depth=1 https://code.videolan.org/videolan/dav1d.git -pushd dav1d -mkdir build -pushd build -meson \ +git clone -b 1.4.3 --depth=1 https://code.videolan.org/videolan/dav1d.git +meson setup dav1d dav1d_build \ --prefix=${FF_DEPS_PREFIX} \ --cross-file=${FF_MESON_TOOLCHAIN} \ --buildtype=release \ --default-library=static \ -Denable_asm=true \ - -Denable_{tools,tests,examples}=false \ - .. -ninja -j$(nproc) -meson install -popd -popd + -Denable_{tools,tests,examples}=false +meson configure dav1d_build +ninja -j$(nproc) -C dav1d_build install # FDK-AAC-STRIPPED git clone -b stripped4 --depth=1 https://gitlab.freedesktop.org/wtaymans/fdk-aac-stripped.git @@ -555,14 +541,20 @@ make PREFIX=${FF_DEPS_PREFIX} install popd # AMF -git clone --depth=1 https://github.com/GPUOpen-LibrariesAndSDKs/AMF.git -pushd AMF/amf/public/include +mkdir amf-headers +pushd amf-headers +amf_ver="1.4.34" +amf_link="https://github.com/GPUOpen-LibrariesAndSDKs/AMF/releases/download/v${amf_ver}/AMF-headers.tar.gz" +wget ${amf_link} -O amf.tar.gz +tar xaf amf.tar.gz +pushd AMF mkdir -p ${FF_DEPS_PREFIX}/include/AMF mv * ${FF_DEPS_PREFIX}/include/AMF popd +popd # VPL -git clone -b v2.11.0 --depth=1 https://github.com/intel/libvpl.git +git clone -b v2.12.0 --depth=1 https://github.com/intel/libvpl.git pushd libvpl mkdir build && pushd build cmake \ diff --git a/docker-build.sh b/docker-build.sh index 4e9ffcbfcde..3bfe4fe3974 100755 --- a/docker-build.sh +++ b/docker-build.sh @@ -67,7 +67,12 @@ prepare_extra_common() { # LIBXML2 pushd ${SOURCE_DIR} - git clone -b v2.9.14 --depth=1 https://github.com/GNOME/libxml2.git + libxml2_ver="v2.13.2" + if [[ $( lsb_release -c -s ) == "focal" ]]; then + # newer versions require automake 1.16.3+ + libxml2_ver="v2.9.14" + fi + git clone -b ${libxml2_ver} --depth=1 https://github.com/GNOME/libxml2.git pushd libxml2 ./autogen.sh \ ${CROSS_OPT} \ @@ -97,7 +102,7 @@ prepare_extra_common() { # FRIBIDI pushd ${SOURCE_DIR} - git clone -b v1.0.14 --depth=1 https://github.com/fribidi/fribidi.git + git clone -b v1.0.15 --depth=1 https://github.com/fribidi/fribidi.git meson setup fribidi fribidi_build \ ${MESON_CROSS_OPT} \ --prefix=${TARGET_DIR} \ @@ -106,9 +111,9 @@ prepare_extra_common() { --default-library=shared \ -D{bin,docs,tests}=false meson configure fribidi_build - ninja -C fribidi_build install + ninja -j$(nproc) -C fribidi_build install cp -a ${TARGET_DIR}/lib/libfribidi.so* ${SOURCE_DIR}/fribidi - echo "fribidi/libfribidi.so* /usr/lib/jellyfin-ffmpeg/lib" >> ${DPKG_INSTALL_LIST} + echo "fribidi/libfribidi.so* usr/lib/jellyfin-ffmpeg/lib" >> ${DPKG_INSTALL_LIST} popd # FONTCONFIG @@ -135,22 +140,25 @@ prepare_extra_common() { # HARFBUZZ pushd ${SOURCE_DIR} - git clone -b 8.5.0 --depth=1 https://github.com/harfbuzz/harfbuzz.git - pushd harfbuzz - ./autogen.sh \ - ${CROSS_OPT} \ + git clone -b 9.0.0 --depth=1 https://github.com/harfbuzz/harfbuzz.git + meson setup harfbuzz harfbuzz_build \ + ${MESON_CROSS_OPT} \ --prefix=${TARGET_DIR} \ - --enable-shared \ - --disable-static \ - --with-pic - make -j$(nproc) && make install && make install DESTDIR=${SOURCE_DIR}/harfbuzz - echo "harfbuzz${TARGET_DIR}/lib/libharfbuzz.so* usr/lib/jellyfin-ffmpeg/lib" >> ${DPKG_INSTALL_LIST} - popd + --libdir=lib \ + --buildtype=release \ + --default-library=shared \ + -Dfreetype=enabled \ + -D{glib,gobject,cairo,chafa,icu}=disabled \ + -D{tests,introspection,docs,utilities}=disabled + meson configure harfbuzz_build + ninja -j$(nproc) -C harfbuzz_build install + cp -a ${TARGET_DIR}/lib/libharfbuzz.so* ${SOURCE_DIR}/harfbuzz + echo "harfbuzz/libharfbuzz.so* usr/lib/jellyfin-ffmpeg/lib" >> ${DPKG_INSTALL_LIST} popd # LIBASS pushd ${SOURCE_DIR} - git clone -b 0.17.2 --depth=1 https://github.com/libass/libass.git + git clone -b 0.17.3 --depth=1 https://github.com/libass/libass.git pushd libass ./autogen.sh ./configure \ @@ -228,36 +236,24 @@ prepare_extra_common() { # DAV1D pushd ${SOURCE_DIR} - git clone -b 1.4.1 --depth=1 https://code.videolan.org/videolan/dav1d.git - if [ "${ARCH}" = "amd64" ]; then - nasmver="$(nasm -v | cut -d ' ' -f3)" - nasmminver="2.14.0" - if [ "$(printf '%s\n' "$nasmminver" "$nasmver" | sort -V | head -n1)" = "$nasmminver" ]; then - dav1d_asm=true - else - dav1d_asm=false - fi - else - dav1d_asm=true - fi + git clone -b 1.4.3 --depth=1 https://code.videolan.org/videolan/dav1d.git meson setup dav1d dav1d_build \ ${MESON_CROSS_OPT} \ --prefix=${TARGET_DIR} \ --libdir=lib \ --buildtype=release \ -Ddefault_library=shared \ - -Denable_asm=$dav1d_asm \ + -Denable_asm=true \ -Denable_{tools,tests,examples}=false meson configure dav1d_build - ninja -C dav1d_build install + ninja -j$(nproc) -C dav1d_build install cp -a ${TARGET_DIR}/lib/libdav1d.so* ${SOURCE_DIR}/dav1d - echo "dav1d/libdav1d.so* /usr/lib/jellyfin-ffmpeg/lib" >> ${DPKG_INSTALL_LIST} + echo "dav1d/libdav1d.so* usr/lib/jellyfin-ffmpeg/lib" >> ${DPKG_INSTALL_LIST} popd # SVT-AV1 - # nasm >= 2.14 pushd ${SOURCE_DIR} - git clone -b v2.1.0 --depth=1 https://gitlab.com/AOMediaCodec/SVT-AV1.git + git clone -b v2.1.2 --depth=1 https://gitlab.com/AOMediaCodec/SVT-AV1.git pushd SVT-AV1 mkdir build pushd build @@ -305,17 +301,25 @@ prepare_extra_amd64() { # AMF # https://www.ffmpeg.org/general.html#AMD-AMF_002fVCE - git clone --depth=1 https://github.com/GPUOpen-LibrariesAndSDKs/AMF.git - pushd AMF/amf/public/include + pushd ${SOURCE_DIR} + mkdir amf-headers + pushd amf-headers + amf_ver="1.4.34" + amf_link="https://github.com/GPUOpen-LibrariesAndSDKs/AMF/releases/download/v${amf_ver}/AMF-headers.tar.gz" + wget ${amf_link} -O amf.tar.gz + tar xaf amf.tar.gz + pushd AMF mkdir -p /usr/include/AMF mv * /usr/include/AMF popd + popd + popd # LIBDRM pushd ${SOURCE_DIR} mkdir libdrm pushd libdrm - libdrm_ver="2.4.120" + libdrm_ver="2.4.122" libdrm_link="https://dri.freedesktop.org/libdrm/libdrm-${libdrm_ver}.tar.xz" wget ${libdrm_link} -O libdrm.tar.xz tar xaf libdrm.tar.xz @@ -327,7 +331,7 @@ prepare_extra_amd64() { -D{amdgpu,radeon,intel}=enabled \ -D{valgrind,freedreno,vc4,vmwgfx,nouveau,man-pages}=disabled meson configure drm_build - ninja -C drm_build install + ninja -j$(nproc) -C drm_build install cp -a ${TARGET_DIR}/lib/libdrm*.so* ${SOURCE_DIR}/libdrm cp ${TARGET_DIR}/share/libdrm/*.ids ${SOURCE_DIR}/libdrm echo "libdrm/libdrm*.so* usr/lib/jellyfin-ffmpeg/lib" >> ${DPKG_INSTALL_LIST} @@ -337,7 +341,7 @@ prepare_extra_amd64() { # LIBVA pushd ${SOURCE_DIR} - git clone -b 2.21.0 --depth=1 https://github.com/intel/libva.git + git clone -b 2.22.0 --depth=1 https://github.com/intel/libva.git pushd libva sed -i 's|secure_getenv("LIBVA_DRIVERS_PATH")|"/usr/lib/jellyfin-ffmpeg/lib/dri:/usr/lib/x86_64-linux-gnu/dri:/usr/lib/dri:/usr/local/lib/dri"|g' va/va.c sed -i 's|secure_getenv("LIBVA_DRIVER_NAME")|secure_getenv("LIBVA_DRIVER_NAME_JELLYFIN")|g' va/va.c @@ -354,7 +358,7 @@ prepare_extra_amd64() { # LIBVA-UTILS pushd ${SOURCE_DIR} - git clone -b 2.21.0 --depth=1 https://github.com/intel/libva-utils.git + git clone -b 2.22.0 --depth=1 https://github.com/intel/libva-utils.git pushd libva-utils ./autogen.sh ./configure --prefix=${TARGET_DIR} @@ -378,7 +382,7 @@ prepare_extra_amd64() { # GMMLIB pushd ${SOURCE_DIR} - git clone -b intel-gmmlib-22.3.19 --depth=1 https://github.com/intel/gmmlib.git + git clone -b intel-gmmlib-22.4.1 --depth=1 https://github.com/intel/gmmlib.git pushd gmmlib mkdir build && pushd build cmake -DCMAKE_INSTALL_PREFIX=${TARGET_DIR} .. @@ -412,7 +416,7 @@ prepare_extra_amd64() { # Provides VPL header and dispatcher (libvpl.so.2) for FFmpeg # Both MSDK and VPL runtime can be loaded by VPL dispatcher pushd ${SOURCE_DIR} - git clone -b v2.11.0 --depth=1 https://github.com/intel/libvpl.git + git clone -b v2.12.0 --depth=1 https://github.com/intel/libvpl.git pushd libvpl sed -i 's|ParseEnvSearchPaths(ONEVPL_PRIORITY_PATH_VAR, searchDirList)|searchDirList.push_back("/usr/lib/jellyfin-ffmpeg/lib")|g' libvpl/src/mfx_dispatcher_vpl_loader.cpp mkdir build && pushd build @@ -435,7 +439,7 @@ prepare_extra_amd64() { # VPL-GPU-RT (RT only) # Provides VPL runtime (libmfx-gen.so.1.2) for 11th Gen Tiger Lake and newer pushd ${SOURCE_DIR} - git clone -b intel-onevpl-24.2.3 --depth=1 https://github.com/intel/vpl-gpu-rt.git + git clone -b intel-onevpl-24.2.5 --depth=1 https://github.com/intel/vpl-gpu-rt.git pushd vpl-gpu-rt mkdir build && pushd build cmake -DCMAKE_INSTALL_PREFIX=${TARGET_DIR} \ @@ -455,7 +459,7 @@ prepare_extra_amd64() { # Full Feature Build: ENABLE_KERNELS=ON(Default) ENABLE_NONFREE_KERNELS=ON(Default) # Free Kernel Build: ENABLE_KERNELS=ON ENABLE_NONFREE_KERNELS=OFF pushd ${SOURCE_DIR} - git clone -b intel-media-24.2.3 --depth=1 https://github.com/intel/media-driver.git + git clone -b intel-media-24.2.5 --depth=1 https://github.com/intel/media-driver.git pushd media-driver mkdir build && pushd build cmake -DCMAKE_INSTALL_PREFIX=${TARGET_DIR} \ @@ -474,7 +478,7 @@ prepare_extra_amd64() { # Vulkan Headers pushd ${SOURCE_DIR} - git clone -b v1.3.285 --depth=1 https://github.com/KhronosGroup/Vulkan-Headers.git + git clone -b v1.3.290 --depth=1 https://github.com/KhronosGroup/Vulkan-Headers.git pushd Vulkan-Headers mkdir build && pushd build cmake \ @@ -487,7 +491,7 @@ prepare_extra_amd64() { # Vulkan ICD Loader pushd ${SOURCE_DIR} - git clone -b v1.3.285 --depth=1 https://github.com/KhronosGroup/Vulkan-Loader.git + git clone -b v1.3.290 --depth=1 https://github.com/KhronosGroup/Vulkan-Loader.git pushd Vulkan-Loader mkdir build && pushd build cmake \ @@ -579,7 +583,7 @@ prepare_extra_amd64() { -Dzstd=enabled \ -Dmicrosoft-clc=disabled meson configure mesa_build - ninja -C mesa_build install + ninja -j$(nproc) -C mesa_build install cp -a ${TARGET_DIR}/lib/libvulkan_*.so ${SOURCE_DIR}/mesa cp -a ${TARGET_DIR}/lib/libVkLayer_MESA*.so ${SOURCE_DIR}/mesa cp -a ${TARGET_DIR}/lib/dri/radeonsi_drv_video.so ${SOURCE_DIR}/mesa @@ -595,9 +599,8 @@ prepare_extra_amd64() { fi # LIBPLACEBO - pl_ver="v6.338.2" pushd ${SOURCE_DIR} - git clone -b ${pl_ver} --recursive --depth=1 https://github.com/haasn/libplacebo.git + git clone -b v6.338.2 --recursive --depth=1 https://github.com/haasn/libplacebo.git sed -i 's|env: python_env,||g' libplacebo/src/vulkan/meson.build meson setup libplacebo placebo_build \ --prefix=${TARGET_DIR} \ @@ -611,7 +614,7 @@ prepare_extra_amd64() { -Dglslang=disabled \ -D{demos,tests,bench,fuzz}=false meson configure placebo_build - ninja -C placebo_build install + ninja -j$(nproc) -C placebo_build install cp -a ${TARGET_DIR}/lib/libplacebo.so* ${SOURCE_DIR}/libplacebo echo "libplacebo/libplacebo* usr/lib/jellyfin-ffmpeg/lib" >> ${DPKG_INSTALL_LIST} popd @@ -651,7 +654,7 @@ prepare_extra_arm() { -Dlibdrm=false \ -Dlibrga_demo=false meson configure rkrga_build - ninja -C rkrga_build install + ninja -j$(nproc) -C rkrga_build install cp -a ${TARGET_DIR}/lib/librga.so* ${SOURCE_DIR}/rkrga echo "rkrga/librga.so* usr/lib/jellyfin-ffmpeg/lib" >> ${DPKG_INSTALL_LIST} popd