# Contributor: Edward E. _realname=libheif pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") pkgver=1.17.6 pkgrel=3 pkgdesc="HEIF image decoder/encoder library and tools (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url="https://github.com/strukturag/libheif" msys2_references=( "cpe: cpe:/a:struktur:libheif" ) license=('spdx:LGPL-3.0 AND MIT') makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-gdk-pixbuf2" "${MINGW_PACKAGE_PREFIX}-cc") depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-aom" "${MINGW_PACKAGE_PREFIX}-dav1d" "${MINGW_PACKAGE_PREFIX}-kvazaar" "${MINGW_PACKAGE_PREFIX}-libde265" "${MINGW_PACKAGE_PREFIX}-libjpeg-turbo" "${MINGW_PACKAGE_PREFIX}-libpng" "${MINGW_PACKAGE_PREFIX}-libsharpyuv" "${MINGW_PACKAGE_PREFIX}-openjpeg2" "${MINGW_PACKAGE_PREFIX}-rav1e" $( [[ ${CARCH} == i686 ]] || \ echo "${MINGW_PACKAGE_PREFIX}-svt-av1" ) "${MINGW_PACKAGE_PREFIX}-x265" "${MINGW_PACKAGE_PREFIX}-zlib") source=("https://github.com/strukturag/libheif/releases/download/v${pkgver}/${_realname}-${pkgver}.tar.gz" https://github.com/strukturag/libheif/pull/1083.patch https://github.com/strukturag/libheif/pull/1093.patch https://github.com/strukturag/libheif/pull/1146.patch) sha256sums=('8390baf4913eda0a183e132cec62b875fb2ef507ced5ddddc98dfd2f17780aee' 'ed04881f5531bce8cfb8c7d17666fca5ee489eeb31a55f1f5ddf0428ac26184b' '4c76ed94e878e5c531d19b333af15e30283d349d1e8204131007cfa62de574bc' '53a7eeb0f0f1c9fb076a6f56c6753abf8e30cf625355c54e720cc028ae9c1ce9') prepare() { cd "${srcdir}"/${_realname}-${pkgver} patch -Np1 -i "${srcdir}"/1083.patch patch -Np1 -i "${srcdir}"/1093.patch patch -Np1 -i "${srcdir}"/1146.patch } build() { mkdir -p "${srcdir}"/build-${MSYSTEM} && cd "${srcdir}"/build-${MSYSTEM} declare -a extra_config if check_option "debug" "n"; then extra_config+=("-DCMAKE_BUILD_TYPE=Release") else extra_config+=("-DCMAKE_BUILD_TYPE=Debug") fi # Keep "-DX265_API_IMPORTS" flag due to https://github.com/strukturag/libheif/issues/357 MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake \ -GNinja \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ "${extra_config[@]}" \ -DBUILD_SHARED_LIBS=ON \ -DENABLE_PLUGIN_LOADING=OFF \ -DWITH_DEFLATE_HEADER_COMPRESSION=ON \ -DWITH_KVAZAAR=ON \ -DWITH_DAV1D=ON \ -DWITH_RAV1E=ON \ -DWITH_SvtEnc=$( [[ ${CARCH} == i686 ]] && echo "OFF" || echo "ON" ) \ -DWITH_JPEG_DECODER=ON \ -DWITH_JPEG_ENCODER=ON \ -DWITH_OpenJPEG_DECODER=ON \ -DWITH_OpenJPEG_ENCODER=ON \ -DX265_CFLAGS="-DX265_API_IMPORTS" \ ../${_realname}-${pkgver} ${MINGW_PREFIX}/bin/cmake --build . } package() { cd "${srcdir}"/build-${MSYSTEM} DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --install . install -Dm644 "${srcdir}/${_realname}-${pkgver}/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING" install -Dm644 "${srcdir}/${_realname}-${pkgver}/examples/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING-examples" }