| author | Daniel M. Capella
<polyzen@archlinux.org> 2023-04-06 06:03:07 UTC |
| committer | Daniel M. Capella
<polyzen@archlinux.org> 2023-04-06 06:03:07 UTC |
| parent | f01ce47c2b12f9fab5c9d19f2625f834dcbf2676 |
| PKGBUILD | +43 | -13 |
diff --git a/PKGBUILD b/PKGBUILD index 052287d..97a5311 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,24 +1,54 @@ -# Maintainer: Eric Bélanger <eric@archlinux.org> +# Maintainer: Daniel M. Capella <polyzen@archlinux.org> +# Contributor: Eric Bélanger <eric@archlinux.org> +_name=feedparser pkgname=python-feedparser pkgver=6.0.10 -pkgrel=1 -pkgdesc="Parse RSS and Atom feeds in Python" +pkgrel=2 +pkgdesc='Parse RSS and Atom feeds in Python' arch=('any') -url="https://github.com/kurtmckee/feedparser/" +url=https://github.com/kurtmckee/feedparser license=('custom') -depends=('libxml2' 'python' 'python-sgmllib3k') -makedepends=('python' 'libxml2' 'python-setuptools') -source=(feedparser-${pkgver}.tar.gz::https://github.com/kurtmckee/feedparser/archive/${pkgver}.tar.gz) -sha512sums=('92f5608d1a12172bc1524d5c8caa75f1cc1a6d7d3456ecd585e6715209cdff469b775c677b8393e1d1e1a895b857fc3c048c36fb83b215308b707a1f71c6e9d3') +depends=('libxml2' 'python-sgmllib3k') +makedepends=('python-build' 'python-installer' 'python-setuptools' + 'python-wheel') +checkdepends=('python-chardet') +optdepends=('python-chardet: for character encoding auto-detection' + 'python-cchardet: for faster character encoding auto-detection') +source=("https://files.pythonhosted.org/packages/source/${_name::1}/$_name/$_name-$pkgver.tar.gz" + 'feedparser-fix-tests-on-py310.patch::https://github.com/kurtmckee/feedparser/commit/c55bd8ad37db89bd219783bc514d600c9523ed38.patch') +sha256sums=('27da485f4637ce7163cdeab13a80312b93b7d0c1b775bef4a47629a3110bca51' + 'df3ff5c144a9edabaee77fcf7aa465cc2a1a3ba85316830b7346f884367d155f') +b2sums=('044070eff7b3ef9422b1d4fb5a30e473feba55431d9fd2619573ac2f0f8c9e9e90e81f54797cbdaf965ca67b3f0cf169f478b7f08a933457df05e266238e6462' + 'b803c355e8ed8ee941e4478d3e05271eaf49686a45d32d1d62217811ea64e6315ff9d8e83456267e67ceb5f84c6a3000b61f5a7eccd3ead6fb8e2286864e651e') + +prepare() { + cd $_name-$pkgver + patch --forward --strip=1 --input=../feedparser-fix-tests-on-py310.patch +} build() { - cd "feedparser-${pkgver}" - python setup.py build + cd $_name-$pkgver + python -m build --wheel --skip-dependency-check --no-isolation +} + +check() { + cd $_name-$pkgver + # https://github.com/kurtmckee/feedparser/issues/236 + mv tests/illformed/undeclared_namespace.xml{,.bak} + python -m venv --system-site-packages test-env + test-env/bin/python -m installer dist/*.whl + test-env/bin/python tests/runtests.py + mv tests/illformed/undeclared_namespace.xml{.bak,} } package() { - cd "feedparser-${pkgver}" - python setup.py install --root="${pkgdir}" --optimize=1 --skip-build - install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/license" + cd $_name-$pkgver + python -m installer --destdir="$pkgdir" dist/*.whl + + # Symlink license file + local site_packages=$(python -c "import site; print(site.getsitepackages()[0])") + install -d "$pkgdir"/usr/share/licenses/$pkgname + ln -s "$site_packages"/$_name-$pkgver.dist-info/LICENSE \ + "$pkgdir"/usr/share/licenses/$pkgname/LICENSE }