# Maintainer: Alexey Pavlov <alexpux@gmail.com>

_realname=gsasl
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.10.0
pkgrel=3
pkgdesc="Simple Authentication and Security Layer framework and a few common SASL mechanisms (mingw-w64)"
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64')
url="https://www.gnu.org/software/gsasl/"
msys2_repository_url="https://gitlab.com/gsasl/gsasl"
msys2_references=(
  'archlinux: gsasl'
)
license=("spdx:LGPL-2.1-or-later AND GPL-3.0-or-later")
depends=("${MINGW_PACKAGE_PREFIX}-gss"
         "${MINGW_PACKAGE_PREFIX}-gnutls"
         "${MINGW_PACKAGE_PREFIX}-libidn"
         "${MINGW_PACKAGE_PREFIX}-libgcrypt"
         "${MINGW_PACKAGE_PREFIX}-libntlm"
         "${MINGW_PACKAGE_PREFIX}-readline")
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
             "${MINGW_PACKAGE_PREFIX}-autotools"
             "${MINGW_PACKAGE_PREFIX}-winpthreads"
             "${MINGW_PACKAGE_PREFIX}-gtk-doc"
             "help2man")
source=(https://ftp.gnu.org/gnu/gsasl/${_realname}-${pkgver}.tar.gz{,.sig}
        "0001-gsasl-avoid-conflicting-types.patch"
        "0002-automake-gltests-add-pthread.patch")
sha256sums=('85bcbd8ee6095ade7870263a28ebcb8832f541ea7393975494926015c07568d3'
            'SKIP'
            '6d321e0d0ad49a1b6022f2b139f88fd17eb48af314e96dc50ccb228f255c8732'
            '80517301b1d2514465cd4c3a7d564761e4544465a4be44bd56f6da22dcac63be')
validpgpkeys=('B1D2BD1375BECB784CF4F8C4D73CF638C53C06BE'   # Simon Josefsson <simon@josefsson.org>
              '9AA9BDB11BB1B99A21285A330664A76954265E8C')  # Simon Josefsson <simon@josefsson.org>

prepare() {
  cd "${srcdir}/${_realname}-${pkgver}"
  patch -p1 -i "${srcdir}/0001-gsasl-avoid-conflicting-types.patch"
  patch -p1 -i "${srcdir}/0002-automake-gltests-add-pthread.patch"

  # autoreconf to get updated libtool files with clang support.
  autoreconf -fiv
}

build() {
  mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}"

  # for clang
  CFLAGS+=" -Wno-int-conversion"

  ../${_realname}-${pkgver}/configure \
    --prefix=${MINGW_PREFIX} \
    --build=${MINGW_CHOST} \
    --host=${MINGW_CHOST} \
    --target=${MINGW_CHOST} \
    --enable-shared \
    --enable-static \
    --disable-kerberos_v5

  # Without -j1, make error No rule to make target libgsasl-7.def.
  make -j1
}

check() {
  cd "${srcdir}/build-${MSYSTEM}"
  make check || true
}

package() {
  cd "${srcdir}/build-${MSYSTEM}"
  make DESTDIR="${pkgdir}" install
}
