PSA: I've started hosting this and all its dependencies as prebuilt packages in my repository for those that want to install them using pacman without messing around with building from the AUR.
![]() |
VOOZH | about |
| Git Clone URL: | https://aur.archlinux.org/afdko.git (read-only, click to copy) |
|---|---|
| Package Base: | afdko |
| Description: | Adobe Font Development Kit for OpenType |
| Upstream URL: | https://github.com/adobe-type-tools/afdko |
| Licenses: | Apache-2.0 |
| Conflicts: | spot-client |
| Submitter: | willtrnr |
| Maintainer: | alerque |
| Last Packager: | alerque |
| Votes: | 21 |
| Popularity: | 0.000739 |
| First Submitted: | 2017-01-05 03:39 (UTC) |
| Last Updated: | 2026-01-12 12:51 (UTC) |
PSA: I've started hosting this and all its dependencies as prebuilt packages in my repository for those that want to install them using pacman without messing around with building from the AUR.
Hello, this no longer builds without tinkering:
CMake Error at _deps/googletest-src/CMakeLists.txt:4 (cmake_minimum_required):
Compatibility with CMake < 3.5 has been removed from CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
Using said env variable works tho:
CMAKE_POLICY_VERSION_MINIMUM=3.5 makepkg
The tx binary built via this package produces incorrect output. I've opened an issue on the afdko repo. It seems that if you build the project with clang or Debug build with gcc then the output is correct. Would you be open to making either of those changes to the PKGBUILD while the upstream issue is worked on?
It installs at the end but there are some errors along the way:
Successfully built afdko-4.0.2-py3-none-linux_x86_64.whl
==> Starting check()...
==> Entering fakeroot environment...
==> Starting package()...
/usr/lib/python3.12/site-packages/afdko/comparefamily.py:1646: SyntaxWarning: invalid escape sequence '\d'
if font.copyrightStr1 and re.search("[ \t,]\d\d\d,*\d\d\d[ \t.,]", font.copyrightStr1):
/usr/lib/python3.12/site-packages/afdko/comparefamily.py:3531: SyntaxWarning: invalid escape sequence '\d'
temp1 = re.sub(" *[21][980]\d\d,* *", "", font.copyrightStr1)
/usr/lib/python3.12/site-packages/afdko/comparefamily.py:3532: SyntaxWarning: invalid escape sequence '\d'
temp2 = re.sub(" *[21][980]\d\d,* *", "", font1.copyrightStr1)
/usr/lib/python3.12/site-packages/afdko/comparefamily.py:3533: SyntaxWarning: invalid escape sequence '\s'
temp1 = re.sub("\s+", " ", temp1)
/usr/lib/python3.12/site-packages/afdko/comparefamily.py:3534: SyntaxWarning: invalid escape sequence '\s'
temp2 = re.sub("\s+", " ", temp2)
/usr/lib/python3.12/site-packages/afdko/comparefamily.py:3545: SyntaxWarning: invalid escape sequence '\d'
temp1 = re.sub(" *[21][980]\d\d,* *", "", font.trademarkStr1)
/usr/lib/python3.12/site-packages/afdko/comparefamily.py:3546: SyntaxWarning: invalid escape sequence '\d'
temp2 = re.sub(" *[21][980]\d\d,* *", "", font1.trademarkStr1)
/usr/lib/python3.12/site-packages/afdko/comparefamily.py:3547: SyntaxWarning: invalid escape sequence '\s'
temp1 = re.sub("\s+", " ", temp1)
/usr/lib/python3.12/site-packages/afdko/comparefamily.py:3548: SyntaxWarning: invalid escape sequence '\s'
temp2 = re.sub("\s+", " ", temp2)
/usr/lib/python3.12/site-packages/afdko/comparefamily.py:1646: SyntaxWarning: invalid escape sequence '\d'
if font.copyrightStr1 and re.search("[ \t,]\d\d\d,*\d\d\d[ \t.,]", font.copyrightStr1):
/usr/lib/python3.12/site-packages/afdko/comparefamily.py:3531: SyntaxWarning: invalid escape sequence '\d'
temp1 = re.sub(" *[21][980]\d\d,* *", "", font.copyrightStr1)
/usr/lib/python3.12/site-packages/afdko/comparefamily.py:3532: SyntaxWarning: invalid escape sequence '\d'
temp2 = re.sub(" *[21][980]\d\d,* *", "", font1.copyrightStr1)
/usr/lib/python3.12/site-packages/afdko/comparefamily.py:3533: SyntaxWarning: invalid escape sequence '\s'
temp1 = re.sub("\s+", " ", temp1)
/usr/lib/python3.12/site-packages/afdko/comparefamily.py:3534: SyntaxWarning: invalid escape sequence '\s'
temp2 = re.sub("\s+", " ", temp2)
/usr/lib/python3.12/site-packages/afdko/comparefamily.py:3545: SyntaxWarning: invalid escape sequence '\d'
temp1 = re.sub(" *[21][980]\d\d,* *", "", font.trademarkStr1)
/usr/lib/python3.12/site-packages/afdko/comparefamily.py:3546: SyntaxWarning: invalid escape sequence '\d'
temp2 = re.sub(" *[21][980]\d\d,* *", "", font1.trademarkStr1)
/usr/lib/python3.12/site-packages/afdko/comparefamily.py:3547: SyntaxWarning: invalid escape sequence '\s'
temp1 = re.sub("\s+", " ", temp1)
/usr/lib/python3.12/site-packages/afdko/comparefamily.py:3548: SyntaxWarning: invalid escape sequence '\s'
temp2 = re.sub("\s+", " ", temp2)
/usr/lib/python3.12/site-packages/afdko/proofpdf.py:611: SyntaxWarning: invalid escape sequence '\,'
raise OptionParseError("Option Error: in \" -select_hints %s\, one of the indices in the argument list is not an integer." % sys.argv[i])
/usr/lib/python3.12/site-packages/afdko/proofpdf.py:611: SyntaxWarning: invalid escape sequence '\,'
raise OptionParseError("Option Error: in \" -select_hints %s\, one of the indices in the argument list is not an integer." % sys.argv[i])
==> Tidying install...
-> Removing libtool files...
-> Purging unwanted files...
-> Removing static library files...
-> Stripping unneeded symbols from binaries and libraries...
libfakeroot internal error: payload not recognized!
-> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "afdko"...
-> Generating .PKGINFO file...
-> Generating .BUILDINFO file...
-> Generating .MTREE file...
-> Compressing package...
==> Creating package "afdko-debug"...
-> Generating .PKGINFO file...
-> Generating .BUILDINFO file...
-> Generating .MTREE file...
-> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: afdko 4.0.2-1 (Thu 07 Nov 2024 01:47:35 PM +06)
FTBFS with errors similar to the one below (full makepkg --cleanbuild output)
FAILED: c/sfntdiff/source/CMakeFiles/sfntdiff.dir/Dopt.c.o
/usr/bin/clang -DANTLR4CPP_STATIC -I/usr/include/libxml2 -I/home/koyomi/.cache/paru/clone/afdko/src/afdko-4.0.1/c/sfntdiff/source/../../spot/sfnt_includes -I/home/koyomi/.cache/paru/clone/afdko/src/afdko-4.0.1/c/sfntdiff/source/../../shared/include -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/home/koyomi/.cache/paru/clone/afdko/src=/usr/src/debug/afdko -flto=auto -O3 -DNDEBUG -MD -MT c/sfntdiff/source/CMakeFiles/sfntdiff.dir/Dopt.c.o -MF c/sfntdiff/source/CMakeFiles/sfntdiff.dir/Dopt.c.o.d -o c/sfntdiff/source/CMakeFiles/sfntdiff.dir/Dopt.c.o -c /home/koyomi/.cache/paru/clone/afdko/src/afdko-4.0.1/c/sfntdiff/source/Dopt.c
/home/koyomi/.cache/paru/clone/afdko/src/afdko-4.0.1/c/sfntdiff/source/Dopt.c:16:12: error: expected parameter declarator
16 | extern int fprintf(FILE *stream, const char *format, ...);
| ^
/usr/include/bits/stdio2.h:92:26: note: expanded from macro 'fprintf'
92 | __fprintf_chk (stream, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)
| ^
/usr/include/features.h:423:31: note: expanded from macro '__USE_FORTIFY_LEVEL'
423 | # define __USE_FORTIFY_LEVEL 3
| ^
/home/koyomi/.cache/paru/clone/afdko/src/afdko-4.0.1/c/sfntdiff/source/Dopt.c:16:12: error: expected ')'
/usr/include/bits/stdio2.h:92:26: note: expanded from macro 'fprintf'
92 | __fprintf_chk (stream, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)
| ^
/usr/include/features.h:423:31: note: expanded from macro '__USE_FORTIFY_LEVEL'
423 | # define __USE_FORTIFY_LEVEL 3
| ^
/home/koyomi/.cache/paru/clone/afdko/src/afdko-4.0.1/c/sfntdiff/source/Dopt.c:16:12: note: to match this '('
/usr/include/bits/stdio2.h:92:17: note: expanded from macro 'fprintf'
92 | __fprintf_chk (stream, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)
| ^
/home/koyomi/.cache/paru/clone/afdko/src/afdko-4.0.1/c/sfntdiff/source/Dopt.c:16:12: error: conflicting types for '__fprintf_chk'
16 | extern int fprintf(FILE *stream, const char *format, ...);
| ^
/usr/include/bits/stdio2.h:92:3: note: expanded from macro 'fprintf'
92 | __fprintf_chk (stream, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)
| ^
/usr/include/bits/stdio2-decl.h:49:12: note: previous declaration is here
49 | extern int __fprintf_chk (FILE *__restrict __stream, int __flag,
| ^
3 errors generated.
This seems to be due to CC=clang CXX=clang++ environment variables. The package builds with gcc. If the package requires a specific compiler the PKGBUILD should set CC, CXX to ensure that compiler is used.
@Fulmine and others, upstream keeps changing directions here and I'm somitmes a version behind figuring out what they did. If anybody wants to contribute I'm usually open to patches even PRs toward this or any of my packages here.
I think you're misunderstanding the packaging guidelines. The case you're referring to is for when two packages for the same program (or library or whatever) exist, one for the fixed versions and one for building from VCS. In that case, per guidelines, the VCS package should conflict and provide the base package as it offers the same functionality, but is slightly different.
In the case here, this package has nothing to do with the spot client, and it's not really clear to me why it contains /usr/bin/spot. Plus there's also a 'spot-client' package this one is also in conflict with due to the overlapping filename.
Since 'afdko' is the package going against the convention here — providing a binary with a filename with no connection to the package — I'd put the conflict here, or rather rename the binary if possible, i.e. it's not called from somewhere else.