# Maintainer: Christoph Reiter <reiter.christoph@gmail.com>

_realname=cryptography
pkgname=python-cryptography
pkgver=46.0.4
pkgrel=1
pkgdesc="A package designed to expose cryptographic recipes and primitives to Python developers"
arch=('i686' 'x86_64')
license=('spdx:Apache-2.0 OR BSD-3-Clause')
url="https://github.com/pyca/cryptography"
msys2_references=(
  'archlinux: python-cryptography'
  'gentoo: dev-python/cryptography'
  'purl: pkg:pypi/cryptography'
  "cpe: cpe:/a:cryptography:python-cryptography"
  "cpe: cpe:/a:cryptography_project:cryptography"
  "cpe: cpe:/a:python-cryptography_project:python-cryptography"
)
depends=(
  'libopenssl'
  'python'
  'python-cffi'
)
makedepends=(
  'python-build'
  'python-installer'
  'python-maturin'
  'python-setuptools'
  'rust'
  'openssl-devel'
  'pkgconf'
)
source=("https://pypi.org/packages/source/${_realname::1}/${_realname}/${_realname}-${pkgver}.tar.gz"
        "https://github.com/PyO3/pyo3/archive/refs/tags/v0.26.0.tar.gz"
        "0001-Explicitely-link-with-libpython-on-Cygwin.patch"
        "0002-Link-against-limited-API-DLL-under-Cygwin-when-abi3-.patch")
sha256sums=('bfd019f60f8abc2ed1b9be4ddc21cfef059c841d86d710bb69909a688cbb8f59'
            '8b6ed2db5038ad30cd6e408bbfa514182e9ae30c50aa34c3184a4e98df1603cf'
            '2c2eddb7793eed07bdc389be4e853b63897475f93cc59e64b298c73919ff6337'
            '177e197e4f54c1300d5bf29472080c0c3e2c13f5501968ae8678b83b32750485')

prepare() {
  cd "pyo3-0.26.0"
  patch -p1 -i ../0001-Explicitely-link-with-libpython-on-Cygwin.patch
  patch -p1 -i ../0002-Link-against-limited-API-DLL-under-Cygwin-when-abi3-.patch

  cd "${srcdir}/${_realname}-${pkgver}"
cat >> Cargo.toml <<END

[patch.crates-io]
pyo3-build-config = { path = "../pyo3-0.26.0/pyo3-build-config" }
END
  cargo update -p pyo3-build-config
}

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

  python -m build --wheel --no-isolation
}

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

  python -m installer --destdir="$pkgdir" dist/*.whl
  install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE.BSD
  install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE.APACHE
  install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
}
