# Maintainer: Konstantin Podsvirov _realname=wt pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=4.12.3 pkgrel=1 pkgdesc="A C++ library and application server for developing and deploying web applications (mingw-w64)" arch=('any') mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64') url="https://www.webtoolkit.eu/" msys2_repository_url="https://github.com/emweb/wt" msys2_changelog_url='https://www.webtoolkit.eu/wt/doc/reference/html/Releasenotes.html' license=('spdx:GPL-2.0-or-later') depends=("${MINGW_PACKAGE_PREFIX}-cc-libs" "${MINGW_PACKAGE_PREFIX}-boost-libs" "${MINGW_PACKAGE_PREFIX}-fontconfig" "${MINGW_PACKAGE_PREFIX}-glib2" "${MINGW_PACKAGE_PREFIX}-glew" "${MINGW_PACKAGE_PREFIX}-graphicsmagick" "${MINGW_PACKAGE_PREFIX}-libharu" "${MINGW_PACKAGE_PREFIX}-libwinpthread" "${MINGW_PACKAGE_PREFIX}-openssl" "${MINGW_PACKAGE_PREFIX}-pango" "${MINGW_PACKAGE_PREFIX}-zlib") makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-doxygen" "${MINGW_PACKAGE_PREFIX}-graphviz" "${MINGW_PACKAGE_PREFIX}-asciidoc" "${MINGW_PACKAGE_PREFIX}-boost" "${MINGW_PACKAGE_PREFIX}-python-setuptools" "${MINGW_PACKAGE_PREFIX}-python-pygments" "${MINGW_PACKAGE_PREFIX}-postgresql" "${MINGW_PACKAGE_PREFIX}-libmariadbclient" "${MINGW_PACKAGE_PREFIX}-sqlite3" "${MINGW_PACKAGE_PREFIX}-qt5-tools" "${MINGW_PACKAGE_PREFIX}-qt6-tools") optdepends=("${MINGW_PACKAGE_PREFIX}-postgresql: for PostgreSQL Dbo support" "${MINGW_PACKAGE_PREFIX}-libmariadbclient: for MySQL Dbo support" "${MINGW_PACKAGE_PREFIX}-sqlite3: for Sqlite Dbo support") source=("${msys2_repository_url}/archive/${pkgver}/${_realname}-${pkgver}.tar.gz" '001-wt-4.4.0-fix-find-gm.patch' '002-wt-4.4.0-skip-some-examples.patch' '003-wt-4.4.0-disable-win32-configdir.patch' '004-wt-4.4.0-disable-win32-examples-bat.patch' '005-path-string.patch') sha256sums=('8be7611abcfa0d1d26dfebbd36067990ce0e051aab0b07842c78750fed938439' '8e42ec247e796117363d8cbfad7b36ba2e4387597f431adbc8846e4ae78d6610' '325181981bd46cca61592e501448717b0451be167ad8e3e46ba84ec2cdd42574' 'aecd2b9bea499b247d622f9c5d774d42e78ced9f14a0f85fdbb2df942e49efe6' '28f00d01de98822950b425069c203c3d2c25e5e69e901d6f887020f9bf6ace8e' '45bf28203c5fb095063d877323b4ea1bbedf5daf2706979067c1021b458d709a') apply_patch_with_msg() { for _fname in "$@" do msg2 "Applying ${_fname}" patch -Nbp1 -i "${srcdir}"/${_fname} done } prepare() { cd "${srcdir}/${_realname}-${pkgver}" apply_patch_with_msg \ 001-wt-4.4.0-fix-find-gm.patch \ 002-wt-4.4.0-skip-some-examples.patch \ 003-wt-4.4.0-disable-win32-configdir.patch \ 004-wt-4.4.0-disable-win32-examples-bat.patch \ 005-path-string.patch find . -name "*.orig" -exec rm -f {} \; } 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 MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake \ -G"Ninja" \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ "${_extra_config[@]}" \ -DCONNECTOR_HTTP=ON \ -DWT_WRASTERIMAGE_IMPLEMENTATION=GraphicsMagick \ -DGM_PREFIX=${MINGW_PREFIX} \ -DWEBUSER=http \ -DWEBGROUP=http \ -DUSE_SYSTEM_SQLITE3=ON \ -DBUILD_EXAMPLES=OFF \ -DINSTALL_EXAMPLES=ON \ -DINSTALL_DOCUMENTATION=ON \ -DBUILD_TESTS=OFF \ -DSHARED_LIBS=ON \ -DBOOST_DYNAMIC=ON \ -DHARU_DYNAMIC=ON \ -DMYSQL_PREFIX=${MINGW_PREFIX} \ ../${_realname}-${pkgver} ${MINGW_PREFIX}/bin/cmake --build . } package() { cd "${srcdir}/build-${MSYSTEM}" DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --install . local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX}) for _f in "${pkgdir}${MINGW_PREFIX}"/lib/cmake/wt/*.cmake; do sed -e "s|${PREFIX_WIN}|\$\{_IMPORT_PREFIX\}|g" -i ${_f} sed -e "s|${MINGW_PREFIX}|\$\{_IMPORT_PREFIX\}|g" -i ${_f} done install -Dm644 "${srcdir}"/${_realname}-${pkgver}/LICENSE \ "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE }