# Contributor: Mehdi Chinoune <mehdi.chinoune@hotmail.com>

_realname=wget2
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=2.2.1
pkgrel=2
pkgdesc='Updated version of popular wget URL retrieval tool (mingw-w64)'
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url='https://www.gnu.org/software/wget/'
msys2_repository_url="https://gitlab.com/gnuwget/wget2"
msys2_references=(
  "cpe: cpe:/a:gnu:wget"
)
license=('spdx:GPL-3.0-or-later AND LGPL-3.0-or-later')
depends=("${MINGW_PACKAGE_PREFIX}-brotli"
         "${MINGW_PACKAGE_PREFIX}-bzip2"
         "${MINGW_PACKAGE_PREFIX}-gettext-runtime"
         "${MINGW_PACKAGE_PREFIX}-gpgme"
         "${MINGW_PACKAGE_PREFIX}-libiconv"
         "${MINGW_PACKAGE_PREFIX}-libidn2"
         "${MINGW_PACKAGE_PREFIX}-libpsl"
         "${MINGW_PACKAGE_PREFIX}-nghttp2"
         "${MINGW_PACKAGE_PREFIX}-openssl"
         "${MINGW_PACKAGE_PREFIX}-pcre2"
         "${MINGW_PACKAGE_PREFIX}-xz"
         "${MINGW_PACKAGE_PREFIX}-zlib"
         "${MINGW_PACKAGE_PREFIX}-zstd")
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
             "${MINGW_PACKAGE_PREFIX}-autotools"
             "${MINGW_PACKAGE_PREFIX}-gettext-tools"
             "${MINGW_PACKAGE_PREFIX}-python"
             "${MINGW_PACKAGE_PREFIX}-doxygen")
checkdepends=("${MINGW_PACKAGE_PREFIX}-libmicrohttpd")
source=("https://ftp.gnu.org/gnu/wget/${_realname}-${pkgver}.tar.lz"{,.sig}
        "mingw-dllexport.patch"
        "002-fix-build-with-gettext-0.25.patch")
sha256sums=('f77397cce50b60670f48cfca5867517caed93f7c07ebea76541984d5d8d5c6d1'
            'SKIP'
            'e6cb1e6088a98bc7da3cef9d6e97f11700bda564d0c8d21fa04f915518b0ed2d'
            '2abf7c69c62d8a3d4e1474eab6f72095fb932c087d9e5dc078aeb45756ac26c2')
validpgpkeys=('1CB27DBC98614B2D5841646D08302DB6A2670428') # Tim Rühsen <tim.ruehsen@gmx.de>

apply_patch_with_msg() {
  for _patch in "$@"
  do
    msg2 "Applying $_patch"
    patch -Np1 -i "${srcdir}/$_patch"
  done
}

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

  apply_patch_with_msg \
    mingw-dllexport.patch \
    002-fix-build-with-gettext-0.25.patch

  autoreconf -fiv
}

build() {
  # Weak symbols are broken with GCC + binutils
  # https://github.com/msys2/MINGW-packages/issues/11743
  export gl_cv_have_weak=no

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

  ../${_realname}-${pkgver}/configure \
    --prefix=${MINGW_PREFIX} \
    --with-ssl=openssl \
    --with-bzip2 \
    --with-lzma

  make
}

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

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

  # Licenses
  install -Dm644 "${srcdir}"/${_realname}-${pkgver}/README \
    "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}/README
  install -Dm644 "${srcdir}"/${_realname}-${pkgver}/COPYING \
    "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}/COPYING
}
