Package Details: python-ufo2ft 3.7.1-1

Git Clone URL: https://aur.archlinux.org/python-ufo2ft.git (read-only, click to copy)
Package Base: python-ufo2ft
Description: A bridge from UFOs to FontTools objects
Upstream URL: https://github.com/googlefonts/ufo2ft
Licenses: MIT
Submitter: thrasibule
Maintainer: alerque (thrasibule)
Last Packager: alerque
Votes: 3
Popularity: 0.000091
First Submitted: 2019-08-18 01:33 (UTC)
Last Updated: 2026-03-19 11:18 (UTC)

Pinned Comments

alerque commented on 2021-08-03 10:41 (UTC)

PSA: Like most of the PKGBUILDs that I (co-)maintain, I host prebuilt packages for this in my user repository and all its dependencies for those who wish to install it using pacman without messing around with building from the AUR. Issues or contributions are welcome either in comments below or via this GitHub repository.

Latest Comments

« First ‹ Previous 1 2 3 Next › Last »

alerque commented on 2021-07-17 11:32 (UTC)

Per discussion on aur-requests, here is a refreshed patch to be applied with git am file.patch:

From ea176c78a5d842f3f1345888b2a9497f854a4e77 Mon Sep 17 00:00:00 2001
From: Caleb Maclennan <caleb@alerque.com>
Date: Thu, 26 Mar 2020 11:21:57 +0300
Subject: [PATCH] Bump, fix build issues, follow Python packaging guidelines

For rational behind some of these, please see:
https://wiki.archlinux.org/title/Python_package_guidelines

* Bump to current version
* Use stable download URL
* Split build() and package()
* Use correct test runner (legacy one breaks based on host env)
* Fix makedepeds (uses SCM setuptools)
* Fix checkdepends (wrong test runner, needs optdepends)
* Match more Arch guidelines such as quoting suggestions

Signed-off-by: Caleb Maclennan <caleb@alerque.com>
---
 .SRCINFO | 13 +++++++------
 PKGBUILD | 32 +++++++++++++++++++-------------
 2 files changed, 26 insertions(+), 19 deletions(-)

diff --git a/.SRCINFO b/.SRCINFO
index c084ef0..2c99896 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,20 +1,21 @@
 pkgbase = python-ufo2ft
-   pkgdesc = A bridge from UFOs to FontTools objects.
-   pkgver = 2.21.0
+   pkgdesc = A bridge from UFOs to FontTools objects
+   pkgver = 2.23.0
    pkgrel = 1
    url = https://github.com/googlefonts/ufo2ft
    arch = any
    license = MIT
-   checkdepends = python-pytest
+   checkdepends = python-compreffor
+   checkdepends = python-pytest-runner
    checkdepends = python-skia-pathops
-   makedepends = python-setuptools
+   makedepends = python-setuptools-scm
    depends = python-booleanoperations
    depends = python-cffsubr
    depends = python-cu2qu
    depends = python-defcon
    depends = python-fonttools>=4.21.1
    optdepends = python-compreffor
-   source = https://pypi.org/packages/source/u/ufo2ft/ufo2ft-2.21.0.zip
-   sha256sums = 8387241b9a36ed906a0b99afc80d58cee72ea5266ec0016f17456f765be73300
+   source = https://files.pythonhosted.org/packages/source/u/ufo2ft/ufo2ft-2.23.0.zip
+   sha256sums = 02ceb5201f08b632b84046ddfd11233eaf3633437ccac9981ebf2d944d75616b

 pkgname = python-ufo2ft
diff --git a/PKGBUILD b/PKGBUILD
index a04894a..1bb369c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,27 +1,33 @@
 # Maintainer: Guillaume Horel <guillaume.horel@gmail.com>
+# Contributor: Caleb Maclennan <caleb@alerque.com>

-pkgname='python-ufo2ft'
-_pkgname='ufo2ft'
-pkgver='2.21.0'
+pkgname=python-ufo2ft
+_pkgname=ufo2ft
+pkgver=2.23.0
 pkgrel=1
-pkgdesc="A bridge from UFOs to FontTools objects."
+pkgdesc="A bridge from UFOs to FontTools objects"
 url="https://github.com/googlefonts/ufo2ft"
-checkdepends=('python-pytest' 'python-skia-pathops')
+checkdepends=('python-compreffor' 'python-pytest-runner' 'python-skia-pathops')
 depends=('python-booleanoperations' 'python-cffsubr' 'python-cu2qu' 'python-defcon' 'python-fonttools>=4.21.1')
-makedepends=('python-setuptools')
+makedepends=('python-setuptools-scm')
 optdepends=('python-compreffor')
 license=('MIT')
 arch=('any')
-source=("https://pypi.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.zip")
-sha256sums=('8387241b9a36ed906a0b99afc80d58cee72ea5266ec0016f17456f765be73300')
+source=("https://files.pythonhosted.org/packages/source/${_pkgname::1}/$_pkgname/$_pkgname-$pkgver.zip")
+sha256sums=('02ceb5201f08b632b84046ddfd11233eaf3633437ccac9981ebf2d944d75616b')

-package() {
-    cd "${_pkgname}-${pkgver}"
-    python setup.py install --root="${pkgdir}" --optimize=1
-    install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+build() {
+    cd "$_pkgname-$pkgver"
+    python setup.py build
 }

 check() {
     cd "$_pkgname-$pkgver"
-    python setup.py test
+    python setup.py pytest
+}
+
+package() {
+    cd "$_pkgname-$pkgver"
+    python setup.py install --root="$pkgdir" --optimize=1 --skip-build
+    install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE
 }
-- 
2.32.0

alerque commented on 2021-06-19 08:41 (UTC)

Hey @thrasibule you can't bump the version without updating checksums too. Please run updpkgsums in the directory for this and then update the srcinfo file again.

Also please disable the check() function per previous comments. The upstream test suite on this is not suitable for use on all Arch systems this is supposed to build successfully on.

Also please consider adding me as a co-maintainer.

alerque commented on 2021-05-25 17:50 (UTC)

The upstream testing functionality is not a good match for Arch package builds because it is not testing the packaging, it's testing the upstream functions and they are making assumptions a mile a minute about the environment. I still recommend building this with --nocheck.

Also, the python-fonttools dependency version needs bumping. This project expects the very latest released version and the Arch package for that has been lagging behind. I know the maintainer has been traveling lately, but the holdups have been pretty regular and are hurting downstream packages like this one. You can use python-fonttools-git to get a newer version to resolve this. That's working for me in a bunch of production projects.

keren_sky commented on 2021-05-24 17:48 (UTC) (edited on 2021-05-24 17:52 (UTC) by keren_sky)

Hi, is anyone seeing test failures for this package❔ Eg 'IntegrationTest.test_TestFont_TTF[defcon]' Not seeing anything obvious on the github issues page. I'm guessing this is what caleb refers to❔ https://aur.archlinux.org/packages/python-ufo2ft/#comment-748589 Thanks

alerque commented on 2021-03-19 15:40 (UTC)

With 2.20.0 python-compreffor should be moved to optdepends=().

alerque commented on 2020-12-19 09:47 (UTC)

This should explicitly depend on python-fonttools>=4.17.1, not yet in [community] but provided by python-fonttools-git.

P.S.‌ I've tried applying to be a TU so we can avoid bottlenecks like this when font related packages are delayed in [community] due to lack of attention, but haven't found 2 sponsors yet. If you know any of them that might be interested let me know.

alerque commented on 2020-05-31 15:36 (UTC)

The check() function on this is borked, but I think it might be an upstream problem. Something in the build_ext phase is actually trying to install or use and old version of python-fonttools and failing on the current version. With all the related dependencies fully up to date I can build this with --nocheck but not without.

alerque commented on 2020-03-30 13:50 (UTC)

@thrasibule I appreciate you bumping packages quickly when they are flagged, but I've been posting you patches with fixes that go beyond the package bump. In this case my patch builds, the package as posted can't even be validated by makepkg. I've been fixing things per Arch guidelines such splitting build() and package() stages and using their recommended stable URL scheme. Can you please apply these patches?

flovo commented on 2020-03-30 10:26 (UTC)

Cannot build the package.

Integrity checks (sha256) differ in size from the source array.

The second sha256 shouldn't be there.

alerque commented on 2020-03-26 08:26 (UTC)

Similar to the patch I just sent for python-skia-pathops, this uses a more stable download URL, splits the build() and package() phases and makes a few other touchups inline with the general and python specific Arch package guidelines. Please consider applying the following using git am:

From c5d5b74f29074cdc05b5a30365718429453a2194 Mon Sep 17 00:00:00 2001
From: Caleb Maclennan <caleb@alerque.com>
Date: Thu, 26 Mar 2020 11:21:57 +0300
Subject: [PATCH] Use stable URL, split build() and package(), cleanup per
 guidelines

Signed-off-by: Caleb Maclennan <caleb@alerque.com>
---
 .SRCINFO |  7 +++----
 PKGBUILD | 46 +++++++++++++++++++++++-----------------------
 2 files changed, 26 insertions(+), 27 deletions(-)

diff --git a/.SRCINFO b/.SRCINFO
index 79bfd44..ead67eb 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
 pkgbase = python-ufo2ft
-   pkgdesc = A bridge from UFOs to FontTools objects.
+   pkgdesc = A bridge from UFOs to FontTools objects
    pkgver = 2.13.0
-   pkgrel = 1
+   pkgrel = 2
    url = https://github.com/googlefonts/ufo2ft
    arch = any
    license = MIT
@@ -14,9 +14,8 @@ pkgbase = python-ufo2ft
    depends = python-cu2qu
    depends = python-defcon
    depends = python-fonttools
-   source = https://pypi.org/packages/source/u/ufo2ft/ufo2ft-2.13.0.zip
+   source = https://files.pythonhosted.org/packages/source/u/ufo2ft/ufo2ft-2.13.0.zip
    sha256sums = 834cb190dfb3b0ef156ca040f3aca24b7ceba0fa73b581bb39b31891ebadfdae
-   sha256sums = 76458f692a5287139a4da870adb55c168e30c9a60a366628e7cf90af9436474a

 pkgname = python-ufo2ft

diff --git a/PKGBUILD b/PKGBUILD
index f5d5da9..6e7c5de 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,32 +1,32 @@
 # Maintainer: Guillaume Horel <guillaume.horel@gmail.com>
+# Contributor: Caleb Maclennan <caleb@alerque.com>

-pkgname='python-ufo2ft'
-_pkgname='ufo2ft'
-pkgver='2.13.0'
-pkgrel=1
-pkgdesc="A bridge from UFOs to FontTools objects."
-url="https://github.com/googlefonts/ufo2ft"
-checkdepends=('python-pytest' 'python-skia-pathops')
+pkgname=python-ufo2ft
+_pkgname=${pkgname#python-}
+pkgver=2.13.0
+pkgrel=2
+pkgdesc='A bridge from UFOs to FontTools objects'
+arch=('any')
+url="https://github.com/googlefonts/$_pkgname"
+license=('MIT')
 depends=('python' 'python-booleanoperations' 'python-compreffor' 'python-cu2qu' 'python-defcon' 'python-fonttools')
 makedepends=('python-setuptools')
-optdepends=()
-license=('MIT')
-arch=('any')
-source=("https://pypi.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.zip")
-sha256sums=('834cb190dfb3b0ef156ca040f3aca24b7ceba0fa73b581bb39b31891ebadfdae'
-            '76458f692a5287139a4da870adb55c168e30c9a60a366628e7cf90af9436474a')
+checkdepends=('python-pytest' 'python-skia-pathops')
+source=("https://files.pythonhosted.org/packages/source/${_pkgname::1}/$_pkgname/$_pkgname-$pkgver.zip")
+sha256sums=('834cb190dfb3b0ef156ca040f3aca24b7ceba0fa73b581bb39b31891ebadfdae')

-prepare() {
-    cd "${srcdir}/${_pkgname}-${pkgver}"
+build() {
+    cd "$_pkgname-$pkgver"
+    python setup.py build
 }

-package() {
-    cd "${srcdir}/${_pkgname}-${pkgver}"
-    python setup.py install --root="${pkgdir}" --optimize=1
-    install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+check() {
+    cd "$_pkgname-$pkgver"
+    # python setup.py test
 }

-#check() {
-    #cd "$srcdir/$_pkgname-$pkgver"
-    #python setup.py test
-#}
+package() {
+    cd "$_pkgname-$pkgver"
+    python setup.py install --root="$pkgdir" --optimize=1 --skip-build
+    install -D -m644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
-- 
2.26.0