aurupdater

trojita-qt5-git

2026-08-20: qtkeychain-qt5/gpgmepp fixes for x86_64; deep i686/pentium4 dependency chain, ultimately blocked

Separate package from trojita-git (Qt6, WITH_WEBKIT=OFF) – this one is the genuine Qt5+WebKit variant (pkgdesc says so explicitly). See memory/trojita-git.md for the mixup where an earlier session accidentally swapped these two directories’ content.

x86_64 fixes (real gaps in upstream’s own depends=()):

i686/pentium4 attempt – extended arch=(), then had to resolve a deep chain of real dependency gaps one level at a time, each confirmed by an actual build failure (not guessed upfront):

  1. qgpgme-qt5 needs gpgmepp >= 2.1.0; archlinux32 had none for 32-bit at all. Built gpgmepp ourselves (see memory/gpgmepp.md).
  2. gpgmepp needs gpgme >= 2.1.0; archlinux32 only had 2.0.1. Built gpgme ourselves too (see memory/gpgme.md).
  3. With gpgme/gpgmepp available, qgpgme-qt5 itself needed extending to 32-bit (see memory/qgpgme-qt5.md) – hit its own icu76 linking gap (legacy ICU soname needed by system Qt5Core.so, available via archlinux32’s official repo, just not declared).
  4. Back at trojita-qt5-git itself: lconvert (qt5-tools, builds .qm translations) needed the same icu76.
  5. The real trojita executable (links qt5-webkit directly) needed icu72 too (a different, older legacy ICU version than #3/#4 – archlinux32’s qt5-webkit build apparently predates even the icu76-era rebuild).
  6. Same executable also needed libxml2-legacy (old LIBXML2_2.4.30/2.6.0/2.6.6 versioned symbols) – available on archlinux32 for i686 only, not pentium4 at all (confirmed via direct mirror listing checks across all repo sections).
  7. Final, unresolved blocker (i686): libQt5Quick.so.5 requires a private Qt5 API symbol (QDistanceField::QDistanceField(...) @Qt_5_PRIVATE_API) not present in the installed Qt5Quick – an internal ABI inconsistency between archlinux32’s own Qt5 component builds (private symbols have no stable ABI guarantee across even patch releases, so this isn’t something a makedepends_i686=(some-legacy-pkg) fix can address the way icu76/icu72/libxml2-legacy did). User confirmed: stop here, don’t chase further. pentium4 was already blocked earlier by libxml2-legacy’s absence there regardless.