# Maintainer: Konstantin Podsvirov <konstantin@podsvirov.su>

_realname=kombu
pkgbase=mingw-w64-python-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-python-$_realname")
pkgver=5.5.1
pkgrel=1
pkgdesc='A messaging library for Python (mingw-w64)'
arch=('any')
mingw_arch=('ucrt64' 'clang64' 'clangarm64')
msys2_references=(
  'purl: pkg:pypi/kombu'
)
msys2_repository_url='https://github.com/celery/kombu'
url='https://kombu.readthedocs.io'
license=('spdx:BSD-3-Clause')
depends=(
  "${MINGW_PACKAGE_PREFIX}-python"
  "${MINGW_PACKAGE_PREFIX}-python-amqp"
  "${MINGW_PACKAGE_PREFIX}-python-vine"
  "${MINGW_PACKAGE_PREFIX}-python-tzdata"
)
makedepends=(
  "${MINGW_PACKAGE_PREFIX}-python-build"
  "${MINGW_PACKAGE_PREFIX}-python-installer"
  "${MINGW_PACKAGE_PREFIX}-python-setuptools"
  "${MINGW_PACKAGE_PREFIX}-python-wheel"
)
checkdepends=(
  "${MINGW_PACKAGE_PREFIX}-python-boto3"
  "${MINGW_PACKAGE_PREFIX}-python-msgpack"
  "${MINGW_PACKAGE_PREFIX}-python-pycurl"
  "${MINGW_PACKAGE_PREFIX}-python-pytest"
  "${MINGW_PACKAGE_PREFIX}-python-pytz"
  "${MINGW_PACKAGE_PREFIX}-python-redis"
  "${MINGW_PACKAGE_PREFIX}-python-sqlalchemy"
  "${MINGW_PACKAGE_PREFIX}-python-yaml"
)
optdepends=(
  #"${MINGW_PACKAGE_PREFIX}-python-consul: for Consul K/V store Transport support" # Not packaged yet
  #"${MINGW_PACKAGE_PREFIX}-python-etcd: for etcd support" # Not packaged yet
  #"${MINGW_PACKAGE_PREFIX}-python-librabbitmq: C optimization for AMQP transport" # Deprecated, moved to AUR
  #"${MINGW_PACKAGE_PREFIX}-python-pycouchdb: for CouchDB support" # Not packaged yet
  #"${MINGW_PACKAGE_PREFIX}-python-softlayer-messaging: for SoftLayer Message Queue support" # Not packaged yet
  #"${MINGW_PACKAGE_PREFIX}-python-brotli: for brotli compression support"
  #"${MINGW_PACKAGE_PREFIX}-python-kazoo: for Zookeeper support"
  #"${MINGW_PACKAGE_PREFIX}-python-pymongo: for MongoDB support"
  #"${MINGW_PACKAGE_PREFIX}-python-pyro: for Pyro support"
  "${MINGW_PACKAGE_PREFIX}-python-boto3: for Amazon SQS support"
  "${MINGW_PACKAGE_PREFIX}-python-msgpack: for MessagePack support"
  "${MINGW_PACKAGE_PREFIX}-python-pycurl: for Amazon SQS support"
  "${MINGW_PACKAGE_PREFIX}-python-redis: for Redis support"
  "${MINGW_PACKAGE_PREFIX}-python-sqlalchemy: for SQLAlchemy support"
  "${MINGW_PACKAGE_PREFIX}-python-yaml: for YAML support"
  "${MINGW_PACKAGE_PREFIX}-python-zstandard: for zstd compression support"
)

source=("https://pypi.org/packages/source/${_realname::1}/${_realname}/${_realname}-${pkgver}.tar.gz"
        "0001-fix-req.patch")
sha256sums=('a4c2250396cdfb947c5e5322f3094fd36c3f86a1cff655f5cffdf45f371dddb8'
            '150fce54ccb0924120a1385bc8b3ca8eade5cbb29787b4cc39105857a24c1f6c')

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

  # https://github.com/celery/kombu/pull/2274
  patch -p1 < "${srcdir}/0001-fix-req.patch"
}

build() {
  cp -r "${_realname}-${pkgver}" "python-build-${MSYSTEM}" && cd "python-build-${MSYSTEM}"
  ${MINGW_PREFIX}/bin/python -m build --wheel --skip-dependency-check --no-isolation
}

check() {
  cd "${srcdir}/python-build-${MSYSTEM}"
  ${MINGW_PREFIX}/bin/pytest || true
}

package() {
  cd "${srcdir}/python-build-${MSYSTEM}"

  MSYS2_ARG_CONV_EXCL="--prefix=" \
    ${MINGW_PREFIX}/bin/python -m installer --prefix=${MINGW_PREFIX} \
    --destdir="${pkgdir}" dist/*.whl

  install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/python-${_realname}/LICENSE"
}
