# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Maintainer: David Runge <dvzrv@archlinux.org>
# Contributor: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
# Contributor: William J Bowman <bluephoenix47@gmail.com>
pkgname=python-certifi
pkgver=2024.02.02
pkgrel=2
pkgdesc="Python package for providing Mozilla's CA Bundle (using system CA store)"
arch=(any)
url="https://github.com/certifi/python-certifi"
license=(MPL-2.0)
depends=(
ca-certificates
python
)
makedepends=(
python-build
python-installer
python-setuptools
python-wheel
)
#checkdepends=(python-pytest)
source=($url/archive/$pkgver/$pkgname-$pkgver.tar.gz)
sha512sums=('e62f1741fd9bb10a976f5e864a4946f00e1df1b92082e66fe146ee3275036c365d1e98ed023614a1da07ab2a7a58bc333c77c71586ea50a992eb7d5b54a515e5')
b2sums=('d1d616a6c7b878a6caf891b773b8c606a139ded8787b01701ae3e7c0e46c8fb8e78944f356a5b7c0ae17bacc5a5e358a4c2eeaafcf4fc5795edbeb95bf9761dd')
prepare() {
cd $pkgname-$pkgver
# Use system CA store. Replacing the copy in the source tree so the test suite is actually run against it.
ln -sf /etc/ssl/certs/ca-certificates.crt certifi/cacert.pem
# Our CA store has non-ASCII comments, but we are not packaging for JVM
# https://github.com/certifi/python-certifi/issues/50
sed -i 's/encoding="ascii"/encoding="utf-8"/' certifi/core.py
}
build() {
cd $pkgname-$pkgver
python -m build --wheel --no-isolation
}
#check() {
# cd $pkgname-$pkgver
# pytest
#}
package() {
local site_packages=$(python -c "import site; print(site.getsitepackages()[0])")
cd $pkgname-$pkgver
python -m installer --destdir="$pkgdir" dist/*.whl
# Replace CA store here again because the symlink was installed as a file
ln -sf /etc/pki/tls/certs/ca-bundle.crt "$pkgdir"/$site_packages/certifi/cacert.pem
install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/
}