summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorCaleb Maclennan2021-08-03 23:14:42 +0300
committerCaleb Maclennan2021-08-03 23:14:42 +0300
commitd32f954fdbf07ebeb69e47ae78f0260851d917c9 (patch)
treed4ca7c0bca7d034be230daaef172b2a760a899f2
parentbb22124e0673e0c72df75ada36853997f5922f56 (diff)
downloadaur-d32f954fdbf07ebeb69e47ae78f0260851d917c9.tar.gz
Adopt and overhaul packaging
* Add missing dependencies, crosscheck with upstream * Prepare Python build for reproducible build verification * Use more stable download location for PyPi * Prefer to use tooling (setuptools-scm) specified by upstream rather than patches that need maintaining on every release bump. * Cleanup coding style (largely to my preferences, but also making sure bash quoting is valid and matches shellharden output) * Place fields in Wiki recommended order, sort dependencies
-rw-r--r--.SRCINFO9
-rw-r--r--PKGBUILD45
2 files changed, 29 insertions, 25 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 9cbb2c7ec1ff..722a094a9451 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,17 +1,18 @@
pkgbase = python-defcon
pkgdesc = A set of UFO based objects for use in font editing applications
pkgver = 0.8.1
- pkgrel = 2
+ pkgrel = 3
url = https://github.com/robotools/defcon
arch = any
license = MIT
checkdepends = python-pytest
- checkdepends = python-unicodedata2
- makedepends = python-setuptools
+ makedepends = python-setuptools-scm
+ depends = python
depends = python-fonttools
depends = python-fs
+ depends = python-unicodedata2
optdepends = python-fontpens
- optdepends = python-lxml
+ optdepends = python-lxml: enables faster UFO parsing
source = https://files.pythonhosted.org/packages/source/d/defcon/defcon-0.8.1.zip
sha256sums = 410adb6bd18996054ad82b0654aea2bc0a334a9ff7007fe983ec6f3f39f449ea
diff --git a/PKGBUILD b/PKGBUILD
index 2d6be517f16e..69d13647c37c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,36 +2,39 @@
# Maintainer: Caleb Maclennan <caleb@alerque.com>
pkgname=python-defcon
-_pkgname=defcon
+_pyname=${pkgname#python-}
pkgver=0.8.1
-pkgrel=2
+pkgrel=3
pkgdesc='A set of UFO based objects for use in font editing applications'
-arch=('any')
-url="https://github.com/robotools/$_pkgname"
-license=('MIT')
-depends=('python-fonttools' 'python-fs')
-makedepends=('python-setuptools')
-checkdepends=('python-pytest' 'python-unicodedata2')
-optdepends=('python-fontpens' 'python-lxml')
-source=("https://files.pythonhosted.org/packages/source/${_pkgname::1}/$_pkgname/$_pkgname-$pkgver.zip")
+arch=(any)
+url="https://github.com/robotools/$_pyname"
+license=(MIT)
+_pydeps=(fonttools
+ fs # for fonttools[ufo]
+ unicodedata2) # for fonttools[unicode]
+depends=(python
+ "${_pydeps[@]/#/python-}")
+makedepends=(python-setuptools-scm)
+checkdepends=(python-pytest)
+optdepends=(python-fontpens
+ 'python-lxml: enables faster UFO parsing')
+_archive="$_pyname-$pkgver"
+source=("https://files.pythonhosted.org/packages/source/${_pyname::1}/$_pyname/$_archive.zip")
sha256sums=('410adb6bd18996054ad82b0654aea2bc0a334a9ff7007fe983ec6f3f39f449ea')
-prepare() {
- sed -i '/setup_requires/d' "$_pkgname-$pkgver"/setup.{py,cfg}
-}
-
build() {
- cd "$_pkgname-$pkgver"
- python setup.py build
+ cd "$_archive"
+ export PYTHONHASHSEED=0
+ python setup.py build
}
check() {
- cd "$_pkgname-$pkgver"
- pytest Lib/defcon/test
+ cd "$_archive"
+ PYTHONPATH=Lib pytest Lib/defcon/test
}
package() {
- cd "$_pkgname-$pkgver"
- python setup.py install --root="$pkgdir" --optimize=1 --skip-build
- install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname/" License.txt
+ cd "$_archive"
+ python setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" License.txt
}