# Maintainer: Alexey Pavlov # Contributor: Yuta Nakai _realname=x265 pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=3.5 pkgrel=3 pkgdesc='Open Source H265/HEVC video encoder (mingw-w64)' arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') license=('GPL') depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") makedepends=( "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-cc" $([[ "${CARCH}" != "x86_64" ]] || echo "${MINGW_PACKAGE_PREFIX}-nasm") ) options=('strip') url='https://bitbucket.org/multicoreware/x265_git' msys2_references=( "cpe: cpe:/a:multicorewareinc:x265" "cpe: cpe:/a:multicorewareinc:x265_high_efficiency_video_coding" ) source=("${_realname}-${pkgver}.tar.gz"::"https://bitbucket.org/multicoreware/x265_git/get/${pkgver}.tar.gz" 0001-fix-windows-arm64-detection.patch) sha256sums=('5ca3403c08de4716719575ec56c686b1eb55b078c0fe50a064dcf1ac20af1618' '6bae7afde90a9605e9627b3b11f028c28d1585e41be217ae96cbb95a91d9d99e') prepare() { mv "${srcdir}"/"multicoreware-x265_git-"* "${srcdir}"/x265_${pkgver} cd "${srcdir}"/x265_${pkgver} for d in 8 10 12; do if [[ -d ${srcdir}/build-${CARCH}-${d} ]]; then rm -rf ${srcdir}/build-${CARCH}-${d} fi mkdir -p ${srcdir}/build-${CARCH}-${d} done patch -p 1 -i "${srcdir}/0001-fix-windows-arm64-detection.patch" } build() { if [ "${CARCH}" = 'x86_64' ]; then _ENABLE_ASM=ON else _ENABLE_ASM=OFF fi # 12-bit cd "${srcdir}/build-${CARCH}-12" MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake \ -G Ninja \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ -DHIGH_BIT_DEPTH=ON \ -DMAIN12=ON \ -DEXPORT_C_API=OFF \ -DENABLE_CLI=OFF \ -DENABLE_SHARED=OFF \ -DENABLE_ASSEMBLY=${_ENABLE_ASM} \ ../x265_${pkgver}/source ${MINGW_PREFIX}/bin/cmake.exe --build . # 10-bit cd "${srcdir}/build-${CARCH}-10" MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake \ -G Ninja \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ -DHIGH_BIT_DEPTH=ON \ -DEXPORT_C_API=OFF \ -DENABLE_CLI=OFF \ -DENABLE_SHARED=OFF \ -DENABLE_ASSEMBLY=${_ENABLE_ASM} \ ../x265_${pkgver}/source ${MINGW_PREFIX}/bin/cmake.exe --build . # 8-bit cd "${srcdir}/build-${CARCH}-8" ln -s ../build-${CARCH}-10/libx265.a libx265_main10.a ln -s ../build-${CARCH}-12/libx265.a libx265_main12.a MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake \ -G Ninja \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ -DENABLE_SHARED=ON \ -DENABLE_ASSEMBLY=${_ENABLE_ASM} \ -DENABLE_HDR10_PLUS=ON \ -DEXTRA_LIB='x265_main10.a;x265_main12.a' \ -DEXTRA_LINK_FLAGS='-L .' \ -DLINKED_10BIT=ON \ -DLINKED_12BIT=ON \ ../x265_${pkgver}/source ${MINGW_PREFIX}/bin/cmake.exe --build . # merge mv libx265.a libx265_main.a ar -M <