# Maintainer: AlexWMF <alexxwmf@gmail.com>

_realname=qca
pkgbase=mingw-w64-${_realname}-qt5
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}-qt5"
pkgver=2.3.5
pkgrel=3
pkgdesc="Qt Cryptographic Architecture (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64')
url="https://userbase.kde.org/QCA"
license=('LGPL')
conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}-qt5-git")
replaces=("${MINGW_PACKAGE_PREFIX}-${_realname}-qt5-git")
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
             "${MINGW_PACKAGE_PREFIX}-cmake"
             "${MINGW_PACKAGE_PREFIX}-ninja"
             "${MINGW_PACKAGE_PREFIX}-pkgconf"
             "${MINGW_PACKAGE_PREFIX}-doxygen")
depends=("${MINGW_PACKAGE_PREFIX}-ca-certificates"
         "${MINGW_PACKAGE_PREFIX}-cyrus-sasl"
         "${MINGW_PACKAGE_PREFIX}-gnupg"
         "${MINGW_PACKAGE_PREFIX}-libgcrypt"
         "${MINGW_PACKAGE_PREFIX}-nss"
         "${MINGW_PACKAGE_PREFIX}-openssl"
         "${MINGW_PACKAGE_PREFIX}-qt5-base")
install=${_realname}-qt5-git-${MSYSTEM}.install
source=("https://download.kde.org/stable/${_realname}/${pkgver}/${_realname}-${pkgver}.tar.xz"{,.sig}
        "cyrus_sasl_linking.patch"
        "qt5-custom-dirs.patch"
        "qca-mingw-pkg-config.patch"
        "qca-mingw-custom-certificates.patch"
        "qca-mingw-link-to-release.patch")
sha256sums=('91f7d916ab3692bf5991f0a553bf8153161bfdda14bd005d480a2b4e384362e8'
            'SKIP'
            'eadfa58299b2dd22ad7ea4b6841466effb191e24ed153485c0f4c82ff4ce00f7'
            '4bf3c14bddc34ad439930dcbfac3eee6fa8fbbfd13a75bedba389be4541dcdbc'
            '9107a43a7fa620d32dc78c2a7a4f58e17896fe1fc6dd695e6e49a7c65351bbfd'
            '879b6e306a1a4a1887a824cde5fecef3dc43170b9f7578d968fe705d6da9f613'
            '037b615f8b6f609112383b69e6050e7c939b12b0c7c0fa210a58e075c0d1c589')
validpgpkeys=('CB9387521E1EE0127DA804843FDBB55084CC5D84') # Harald Sitter <sitter@kde.org>

prepare() {
  cd "${srcdir}/${_realname}-${pkgver}"
  patch -p1 -i ${srcdir}/cyrus_sasl_linking.patch
  patch -p1 -i ${srcdir}/qt5-custom-dirs.patch
  patch -p1 -i ${srcdir}/qca-mingw-pkg-config.patch
  patch -p1 -i ${srcdir}/qca-mingw-custom-certificates.patch
  patch -p1 -i ${srcdir}/qca-mingw-link-to-release.patch
}

build() {
  mkdir ${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

  #QC_CERTSTORE_PATH=${MINGW_PREFIX}/ssl/certs/ca-bundle.crt
  MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=;DQC_CERTSTORE_PATH=" \
  ${MINGW_PREFIX}/bin/cmake \
    -G"Ninja" \
    -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
    ${_extra_config[@]} \
    -DWITH_botan_PLUGIN=OFF \
    -DBUILD_TESTS=OFF \
    -DQCA_SUFFIX=qt5 \
    -DQCA_SYSTEMSTORE_PATH=../etc/ssl/certs/ca-bundle.crt \
    -DQCA_INSTALL_IN_QT_PREFIX=ON \
    ../${_realname}-${pkgver}.

  ${MINGW_PREFIX}/bin/cmake --build .
}

package() {
  cd ${srcdir}/build-${MSYSTEM}
  DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --install .
}
