# Maintainer: Biswapriyo Nath _rj_ver=1.1.0 _realname=supertux pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") pkgver=0.6.3 pkgrel=8 pkgdesc="A classic 2D jump'n'run sidescroller game (mingw-w64)" arch=('any') mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64') url='https://github.com/supertux/supertux' license=('spdx:GPL-3.0-or-later') depends=("${MINGW_PACKAGE_PREFIX}-SDL2" "${MINGW_PACKAGE_PREFIX}-SDL2_image" "${MINGW_PACKAGE_PREFIX}-boost-libs" "${MINGW_PACKAGE_PREFIX}-curl" "${MINGW_PACKAGE_PREFIX}-freetype" "${MINGW_PACKAGE_PREFIX}-cc-libs" "${MINGW_PACKAGE_PREFIX}-glew" "${MINGW_PACKAGE_PREFIX}-libiconv" "${MINGW_PACKAGE_PREFIX}-libpng" "${MINGW_PACKAGE_PREFIX}-libraqm" "${MINGW_PACKAGE_PREFIX}-libvorbis" "${MINGW_PACKAGE_PREFIX}-openal" "${MINGW_PACKAGE_PREFIX}-physfs" "${MINGW_PACKAGE_PREFIX}-zlib") makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-boost" "${MINGW_PACKAGE_PREFIX}-glm") source=("https://github.com/SuperTux/supertux/releases/download/v${pkgver}/SuperTux-v${pkgver}-Source.tar.gz" "https://github.com/miloyip/rapidjson/archive/v${_rj_ver}/rapidjson-${_rj_ver}.tar.gz" 0001-cmake-disable-dependencies-paths.patch 0002-cmake-fix-linking-order.patch 0003-include-missing-header.patch 0004-cmake-fix-iconv-check.patch 0101-rj-remove-non-compiling-assignment-operator.patch::https://patch-diff.githubusercontent.com/raw/Tencent/rapidjson/pull/719.patch) noextract=("SuperTux-v${pkgver}-Source.tar.gz") sha256sums=('f7940e6009c40226eb34ebab8ffb0e3a894892d891a07b35d0e5762dd41c79f6' 'bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e' '9577cbee1c9affa6147ebb20345cef542bd340ea278074099b197f123f4e1ab9' 'f869efc73f9d6bf5694257845e1f4b5c74831a798ec638126e7aca7c01838832' '9259b303a62dbe74b1a6b5224d8860496c5a501fa5aa7658aa44dc92da30695f' '7d74c3623f87e969352b23faf7f14f5c3082254496ef7986ab96080f7e3517ec' '8abc5c5ef033801ea99a9f289126e473ccf4ebdb9ab33fa8157f957fdeb03a2f') apply_patch_with_msg() { for _patch in "$@" do msg2 "Applying $_patch" patch -Np1 -i "${srcdir}/$_patch" done } prepare() { echo "Extracting SuperTux-v${pkgver}-Source.tar.gz..." tar -xzf "SuperTux-v${pkgver}-Source.tar.gz" || true cd "${srcdir}"/SuperTux-v${pkgver}-Source if [[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]]; then sed -e "s|-funit-at-a-time||g" -i CMakeLists.txt fi apply_patch_with_msg \ 0001-cmake-disable-dependencies-paths.patch \ 0002-cmake-fix-linking-order.patch \ 0003-include-missing-header.patch \ 0004-cmake-fix-iconv-check.patch \ rm mk/cmake/FindICONV.cmake cd "${srcdir}"/rapidjson-${_rj_ver} patch -p1 -i "${srcdir}"/0101-rj-remove-non-compiling-assignment-operator.patch cd .. cp -r "${srcdir}"/rapidjson-${_rj_ver} "${srcdir}"/SuperTux-v${pkgver}-Source/external/discord-sdk/thirdparty/ } 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 if [[ ${CARCH} == aarch64 ]]; then extra_config+=("-DENABLE_OPENGL=OFF") fi MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ "${MINGW_PREFIX}"/bin/cmake.exe \ -GNinja \ -DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \ "${extra_config[@]}" \ -DENABLE_DISCORD=ON \ -DENABLE_BOOST_STATIC_LIBS=OFF \ -DCURL_NO_CURL_CMAKE=ON \ ../SuperTux-v${pkgver}-Source "${MINGW_PREFIX}"/bin/cmake.exe --build . } package() { cd "${srcdir}/build-${MSYSTEM}" DESTDIR="${pkgdir}" "${MINGW_PREFIX}"/bin/cmake.exe --install . rm -v "${pkgdir}${MINGW_PREFIX}"/bin/*.a rm -v "${pkgdir}${MINGW_PREFIX}"/lib/*.a install -Dm644 "${srcdir}"/SuperTux-v${pkgver}-Source/LICENSE.txt \ "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE.txt }