# Maintainer: Andrew Sun <adsun701@gmail.com>

_realname=libfilezilla
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=0.49.0
pkgrel=1
pkgdesc="Small and modern C++ library, offering some basic functionality to build high-performing, platform-independent programs (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64')
msys2_references=(
  'archlinux: libfilezilla'
)
msys2_repository_url="https://svn.filezilla-project.org/filezilla/libfilezilla/trunk/"
msys2_documentation_url="https://lib.filezilla-project.org/doc/"
url="https://lib.filezilla-project.org/"
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
         "${MINGW_PACKAGE_PREFIX}-nettle"
         "${MINGW_PACKAGE_PREFIX}-gnutls")
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
             "${MINGW_PACKAGE_PREFIX}-autotools"
             "${MINGW_PACKAGE_PREFIX}-gettext")
checkdepends=("${MINGW_PACKAGE_PREFIX}-cppunit")
license=('spdx:GPL-2.0-or-later')
# Upstream download link became (purposely) unstable
# See https://trac.filezilla-project.org/ticket/13186
#source=("https://download.filezilla-project.org/${_realname}/${_realname}-${pkgver}.tar.xz")
source=("https://sources.archlinux.org/other/${_realname}/${_realname}-${pkgver}.tar.xz"
        "add-specialization-for-char_traits-uint8_t.patch")
sha256sums=('79ff30e5124068c116c8dc8fc4581922afa2d3720f7b6bee9c8f8fe419617488'
            '70c778307d1e9cc14c688766cdfe6d6c49b7e0f6a1c33bf8122d1228deb9329b')

prepare() {
  cd "${srcdir}/${_realname}-${pkgver}"

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

  # https://svn.filezilla-project.org/filezilla/libfilezilla/trunk/lib/libfilezilla/string.hpp?r1=11189&r2=11207
  patch -p1 -i "${srcdir}"/add-specialization-for-char_traits-uint8_t.patch
}

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

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

  make
}

check() {
  cd "${srcdir}"/build-${MSYSTEM}
  # LANG needed to fix string_test::test_conversion2
  LANG=en_US.UTF-8 make check || true
}

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