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.
Search Criteria
Package Details: python-ufo2ft 2.28.0-1
Package Actions
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) |
Dependencies (18)
- python (python38, python37, nogil-python, python39, python36, python32, python311)
- python-booleanoperations
- python-cffsubr
- python-cu2qu
- python-defcon (python-defcon-git)
- python-fonttools (python-fonttools-git)
- python-fs
- python-lxml
- python-build (make)
- python-installer (python-installer-git) (make)
- python-setuptools-scm (make)
- python-wheel (make)
- python-compreffor (check)
- python-pytest (check)
- python-skia-pathops (check)
- python-ufolib2 (check)
- python-compreffor (optional)
- python-skia-pathops (optional)
Required by (10)
Sources (1)
Latest Comments
alerque commented on 2021-08-03 19:42 (UTC)
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
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.