Package Details: python-ufo2ft 2.28.0-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: 1
Popularity: 0.000000
First Submitted: 2019-08-18 01:33 (UTC)
Last Updated: 2022-07-06 17:27 (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

alerque commented on 2021-08-03 19:42 (UTC)

The latest build requires the brand new release of fonttools. I've bumped this for [community] but it might take a day or two to get there. Old features still work without it but new features actually do depend on it. If you are in a hurry you can build python-fonttools from the trunk branch or python-fonttools-git from AUR.

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.

alerque commented on 2021-07-19 15:59 (UTC) (edited on 2021-07-19 21:03 (UTC) by alerque)

You asked for smaller patches, here are two for python-cffsubr (and two more for python-compreffor, and two more for python-booleanoperations) for another one of your font tooling related packages that does not currently build at all in a clean chroot because the dependencies are broken and the build cycle is implement wrong.

alerque commented on 2021-07-19 15:12 (UTC) (edited on 2021-07-19 20:09 (UTC) by alerque)

The only "fix" that I see in this patch is the missing dependency on python-compreffor.

I'm sorry but this just isn't accurate. There were several other significant fixes, just adding python-compresffor to the checkdepends would still have left a broken package. I see you fixed at least two other things I fixed in other ways including patching them out of the upstream source, but my fixes for the setuptools-scm and test runners were also valid fixes.

If you'd prefer small patches I can to that too, but relaying them over AUR comments is clumsy. It's discouraging when suggesting in comments that they are broken nor sending patches has been working to get fixes through on many of your packages that I depend on for other things.

thrasibule commented on 2021-07-18 13:29 (UTC) (edited on 2021-07-18 13:29 (UTC) by thrasibule)

I don't value these patches that much since they're a kitchen sink of unrelated fixes:

  • you bump the version to 2.23.
  • there are various stylistic changes that serve no functional purpose.
  • your comment about the stable download url is inaccurate. The url I'm using is just as stable.

The end result is a patch that changes almost every single line. I'd rather have a patch that's atomic and fixes one thing at a time.

The only "fix" that I see in this patch is the missing dependency on python-compreffor. I've bumped the package and fixed the setup.py to not require python-pytest-runner and python-setuptools-scm which are not needed. Please let me know if this doesn't work for you. In the future, I'm happy to apply patches that fix specific issues. In particular I welcome help with tracking the various dependencies that are quite entangled, so it's hard to know what's really required.

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

reMiND commented on 2019-11-03 10:29 (UTC)

Broken build in my case. Look at http://dpaste.com/19SQR3Q Some info about packages http://dpaste.com/3DSD493