tigervnc-viewer
Category: local-install (rebuilt only so archlinuxaba/the cluster gets it
too; not maintained/adapted/owned by us — see
arch/scripts/install_only_packages).
TigerVNC viewer-only build.
Build notes (2026-08-19)
- Upstream AUR PKGBUILD declares
arch=('i686' 'x86_64'). x86_64 built cleanly on the first pass; i686 failed witherror: target not found: fltk1.3— a harddepends. fltk1.3turned out to be genuinely unavailable: official Archextraships itx86_64-only, and archlinux32 doesn’t carry it in any live i686/pentium4 repo either (their own build pool has it, just not published — seememory/fltk1.3.mdfor the full story). Built and publishedfltk1.3ourselves for all three arches first, which unblocked this package’s i686 dependency.- With
fltk1.3available, re-extendedarch=()to('i686' 'x86_64' 'pentium4')(pentium4 not in upstream’s declared set, added per this session’s “extend to pentium4 where feasible” mandate) and rebuilt — hit a second, unrelated failure on both 32-bit arches:error: macro 'EAX_DIGEST' requires 4 arguments, but only 3 givenincommon/rdr/AESInStream.cxx/AESOutStream.cxx. - Root cause: the project’s own
nettle-4.patchadapts severalnettlecrypto calls (EAX_DIGEST,md5_digest,sha1_digest) from the pre-4.0 API (extralengtharg) to the nettle >=4.0 API. The archlinuxaba x86_64 chroot hasnettle 4.0-1(needs the patch), but the i686/pentium4 chroots both havenettle 3.10.1-1.0(archlinux32 hasn’t packaged nettle 4.0 for 32-bit yet) — the old API, which is what the unpatched upstream source already targets. Applying the patch unconditionally broke 32-bit compilation. - Fix: gated
patch -p1 -i ../nettle-4.patchinprepare()behindcase ${CARCH} in x86_64) ... ;; esac— patch only applies on x86_64, 32-bit arches build the pristine (old-nettle-API) source. pkgrel2(upstream) ->2.1(local-install, X.Y scheme — this is a local arch-conditional patch fix on top of upstream’s own pkgrel).- End state: all three arches (
x86_64,i686,pentium4) build and publish cleanly at1.16.2-2.1. - Lesson: a 32-bit-only build failure isn’t always the package’s own
arch=()being wrong — check whether a dependency’s available version differs across chroots (nettle 4.0 vs 3.10.1 here) before assuming the package itself needs excluding. Same general class of issue asfltk1.3(available-elsewhere-but-not-published) and worth checking before reaching for “narrow arch=()”.