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

pkgbase=curl
pkgname=('curl' 'libcurl' 'libcurl-devel')
pkgver=8.21.0
pkgrel=1
pkgdesc="Multi-protocol file transfer utility"
arch=('i686' 'x86_64')
url="https://curl.se/"
license=('spdx:MIT')
depends=('ca-certificates')
makedepends=('libxcrypt-devel' 'libidn2-devel'
             'libnghttp2-devel' 'libpsl-devel' 'libssh2-devel' 'openssl-devel' 'zlib-devel') #  'libcares-devel'
options=('!libtool' 'strip' '!debug')
source=("https://github.com/curl/curl/releases/download/${pkgbase}-${pkgver//./_}/${pkgbase}-${pkgver}.tar.bz2"{,.asc}
        curl-8.10.0-msys2.patch)
sha256sums=('ad6f2f94934b38e31e48272833c99b891d045b4565fe942a53fbd27bd3910e16'
            'SKIP'
            'edcbb8116d02685d5a26ffaff1eef07f8f679023a1669c071e17bb6b75fc3e13')
validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2')   # Daniel Stenberg

prepare() {
  cd "${pkgname}-${pkgver}"
  patch -p1 -i ${srcdir}/curl-8.10.0-msys2.patch
  autoreconf -fiv
}

build() {
  cd "${pkgname}-${pkgver}"

  ./configure \
    --build=${CHOST} \
    --prefix=/usr \
    --enable-shared \
    --enable-static \
    --enable-debug \
    --enable-optimize \
    --enable-ipv6 \
    --disable-symbol-hiding \
    --disable-ares \
    --without-gssapi \
    --with-libidn2 \
    --without-librtmp \
    --with-libssh2 \
    --with-openssl \
    --with-zlib \
    --with-libpsl \
    --with-ca-bundle=/usr/ssl/certs/ca-bundle.crt \
    ac_cv_func_setmode=yes

  make
  make DESTDIR="${srcdir}/dest" install
}

package_curl() {
  depends=('ca-certificates' 'libcurl' 'libxcrypt'
           'libnghttp2' 'libpsl' 'openssl' 'zlib')
  groups=('base')

  mkdir -p ${pkgdir}/usr/bin
  cp -f ${srcdir}/dest/usr/bin/*.exe ${pkgdir}/usr/bin/
  cp -rf ${srcdir}/dest/usr/share ${pkgdir}/usr/

  # license
  install -Dm644 ${srcdir}/${pkgname}-${pkgver}/COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
}

package_libcurl() {
  pkgdesc="Multi-protocol file transfer library (runtime)"
  depends=('ca-certificates' 'libxcrypt' 'libidn2'
          'libnghttp2' 'libpsl' 'libssh2' 'openssl' 'zlib') #'libcares'
  groups=('libraries')

  mkdir -p ${pkgdir}/usr/bin
  cp -f ${srcdir}/dest/usr/bin/*.dll ${pkgdir}/usr/bin/
}

package_libcurl-devel() {
  pkgdesc="Libcurl headers and libraries"
  depends=("libcurl=${pkgver}" 'libxcrypt-devel' 'libidn2-devel'
           'libnghttp2-devel' 'libpsl-devel' 'libssh2-devel' 'openssl-devel' 'zlib-devel') #'libcares-devel'
  options=('staticlibs')
  groups=('development')

  mkdir -p ${pkgdir}/usr/bin
  cp -f ${srcdir}/dest/usr/bin/*-config ${pkgdir}/usr/bin/
  cp -rf ${srcdir}/dest/usr/include ${pkgdir}/usr/
  cp -rf ${srcdir}/dest/usr/lib ${pkgdir}/usr/
}
