# Maintainer: Alexey Pavlov _realname=doxygen pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") pkgver=1.16.1 pkgrel=1 pkgdesc="A documentation system for C++, C, Java, IDL and PHP (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64') url="https://www.doxygen.nl/" msys2_repository_url="https://github.com/doxygen/doxygen" msys2_references=( 'archlinux: doxygen' "cpe: cpe:/a:doxygen:doxygen" ) license=('spdx:GPL-2.0-only') depends=("${MINGW_PACKAGE_PREFIX}-cc-libs" $([[ ${CARCH} == i686 ]] || echo "${MINGW_PACKAGE_PREFIX}-clang-libs") "${MINGW_PACKAGE_PREFIX}-fmt" "${MINGW_PACKAGE_PREFIX}-libiconv" "${MINGW_PACKAGE_PREFIX}-sqlite3" "${MINGW_PACKAGE_PREFIX}-spdlog" "${MINGW_PACKAGE_PREFIX}-xapian-core") makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-pkgconf" "${MINGW_PACKAGE_PREFIX}-python" $([[ ${CARCH} == i686 ]] || echo \ "${MINGW_PACKAGE_PREFIX}-clang-tools-extra" \ "${MINGW_PACKAGE_PREFIX}-llvm" \ "${MINGW_PACKAGE_PREFIX}-qt6-svg")) if [[ ${CARCH} != i686 ]]; then optdepends=("${MINGW_PACKAGE_PREFIX}-qt6-svg: for doxywizard") fi source=(https://www.doxygen.nl/files/${_realname}-${pkgver}.src.tar.gz cmake-mingw.patch 0002-clang-19-fix.patch 0003-enable-lto-with-clang.patch) sha256sums=('201ce33b514ea87cc1697c0dcf829692c2695c1812683a9cc622194b05e263a8' '24f669b833c1e075d951774db2df4e9db6e61ea4cb7fa5cf666370ab420a94a5' 'cfe1218b5897ad9ec88dab6dd86f592f941feac464646df619bb8ccb90bbdc4e' '7ec2711f7da6ec0d1d0610f1efbc0eb38eaee8b0f0ffee660507fed5147bdb67') apply_patch_with_msg() { for _patch in "$@" do msg2 "Applying $_patch" patch -Nbp1 -i "${srcdir}/$_patch" done } prepare() { cd "${srcdir}/${_realname}-${pkgver}" apply_patch_with_msg \ cmake-mingw.patch \ 0003-enable-lto-with-clang.patch # llvm 19 fixes # https://github.com/doxygen/doxygen/issues/10928 apply_patch_with_msg \ 0002-clang-19-fix.patch } build() { 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} != i686 ]]; then _extra_config+=("-Dbuild_wizard=ON" "-Duse_libclang=ON") fi MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake -Wno-dev \ -G"Ninja" \ "${_extra_config[@]}" \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ -DCMAKE_INSTALL_LIBDIR=lib \ -DCMAKE_INSTALL_BINDIR=bin \ -Dbuild_parse=ON \ -Dbuild_search=ON \ -Duse_sys_fmt=ON \ -Duse_sys_spdlog=ON \ -Duse_sys_sqlite3=ON \ -Dforce_qt="Qt6" \ -DPython_EXECUTABLE=${MINGW_PREFIX}/bin/python \ -S ${_realname}-${pkgver} \ -B build-${MSYSTEM} ${MINGW_PREFIX}/bin/cmake --build build-${MSYSTEM} } package() { DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --install build-${MSYSTEM} install -Dm644 "${srcdir}"/${_realname}-${pkgver}/LICENSE \ "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE }