notion3
Build times (auto-updated)
- armv7h: 5m36s (2026-09-11 05:48 UTC, remote)
- aarch64: 1m50s (2026-09-11 05:48 UTC, remote)
- x86_64: 9m41s (2026-09-11 05:22 UTC, serial)
- pentium4: 3m1s (2026-09-11 05:25 UTC, serial)
- i686: 3m43s (2026-09-11 05:29 UTC, serial)
- i486: 2m13s (2026-09-11 05:31 UTC, serial)
- armv6h: 17m6s (2026-09-11 05:48 UTC, remote)
- Path: arch/private/notion3
- 2026-07-25: pkgrel 5 -> 6,
notion3-ioncore-winprops-lua55-hole-border.patchadded (ioncore/ioncore_winprops.lua).ifnil()’s helper used#argto count its varargs, but#’s result on a table with holes (e.g. a nil first argument – the common case forid.role/id.instance) is unspecified by the language and silently changed between Lua 5.4 and 5.5, collapsing the loop bound to 0. Fixed withselect('#', ...), which is well-defined regardless of holes. Test build (x86_64) succeeded, all three patches (libtu C99, mkman Lua 5.4, this one) applied cleanly; same pre-existing namcap warnings as before (stalecfg_bindings.luabackup entry, LGPL2 SPDX naming, unrelated missing-dependency notes). - 2026-07-25: rebuilt/republished on request, no PKGBUILD changes needed –
still pkgrel 5, x86_64 builds clean. i486 still fails the same
pre-existing way (
texlive-binvstexlive-basic/dvisvgm/texlive-contextfile collisions) – confirmed still unrelated to this package, just the i486 chroot’s texlive-family situation. - 2026-07-15: build failure fixed and published (x86_64),
pkgrel4 -> 5. Previously flagged alongsideoptdb5.3as “incompatible function-pointer types – modern GCC strictness vs old C code”. Two independent bugs surfaced in sequence, both real, pre-existing defects (not just GCC-version friction):- Genuine upstream typo:
libtu/MakefilesetsCFLAGS += $(C98_SOURCE) ..., but every other module’sMakefilein the tree correctly uses$(C99_SOURCE)–C98_SOURCEis never defined anywhere, so it silently expanded to nothing andlibtu(which includesobj.c) has always built without-std=c99. Old GCC’s default standard happened to still tolerate calling throughlibtu’s unprototyped function-pointer tables (e.g.destroy_fninobj.c) with arguments; GCC’s new default standard (gnu23) correctly rejects it as a real too-many-arguments error. - Once past that,
build/mkman.lua(run at build time via the systemlua, now 5.5.0) failed:attempt to assign to const variable 'l'– the script reassigns a generic-forloop control variable, which newer Lua now rejects.
- Genuine upstream typo:
- Fix: two new patches applied via
prepare()–notion-libtu-c99.patch(fixes theC98_SOURCE->C99_SOURCEtypo) andnotion-mkman-lua54.patch(uses a separate locallninstead of reassigning the loop variablel). Both patches’ checksums are real sha256sums; the twogit+sources stayedSKIP(already pinned by commit) –updpkgsumstries to hash git sources too, revert those two back toSKIPif re-running it. - The full multi-arch
repo_release.shrun hit an unrelated, pre-existingi486chroot conflict (texlive-binvstexlive-basic/dvisvgm/texlive-contextfile collisions, nothing to do with this fix) which – under the oldrepo_build.shlogic – aborted the whole release before signing/publishing the x86_64 build that had already succeeded. Worked around manually that once; properly fixed inscripts/repo_build.shitself afterward (seeUPDATES.md’s 2026-07-15 “optdb5.3 and notion3: published” entry – a failing arch no longer blocks signing/publishing the archs that did succeed). - One unrelated, pre-existing
makepkgwarning noted but left alone:backup=()listsetc/notion/cfg_bindings.lua, a file that doesn’t exist anywhere in the upstream source tree – a stale entry, not a build failure.
2026-09-10/11: filled in the rest of arch=(), then fixed the doc-build blocker properly
arch=() already listed all 7 archs, but only x86_64 had ever
published. Built the other 6: armv7h succeeded outright; aarch64
failed once on transient archlinuxarm.org mirror flakiness
(truncated downloads, DNS timeouts) and succeeded on a plain retry;
pentium4/i686/i486 all failed identically on
/usr/bin/ebb/extractbb exists in both 'texlive-bin' and
'texlive-basic'; armv6h failed differently, error: target not
found: texlive-meta (not even present there). No pkgrel bump for
any of this – purely additive new-arch builds, nothing already-
published touched (see memory/PKGREL_VS_PKGVER.md’s “purely-
additive arch=() edit” section, confirmed with the user the same
session on a different package).
Root cause of the texlive failures, investigated on request: both
texlive-bin (2026.0-2) and texlive-basic (2026.1-1) come from
extra – upstream Arch32’s own repo, not archlinuxaba – and
texlive-bin is a full point-version behind texlive-basic. Classic
packaging-split lag: texlive-bin hasn’t been rebuilt to match
texlive-basic’s newer file split yet, so both still ship the same
two binaries. Not something this project can fix (upstream Arch32
package, not ours) or work around locally. armv6h’s texlive-meta
absence is a related but separate symptom – that arch’s extra
doesn’t carry the full texlive suite at all.
Fix: rubber/latex2html/texlive-meta are only needed for a
separate notion-doc git source that builds the HTML manual –
the actual window-manager build/install never touches them. Made doc
building arch-conditional instead of an all-or-nothing removal (the
user specifically asked for this, correctly – docs build fine on
x86_64/armv7h/aarch64, no reason to drop them there):
- New
_doc_archs=('x86_64' 'armv7h' 'aarch64')array. makedepends_x86_64/makedepends_armv7h/makedepends_aarch64(Arch-suffixed arrays are additive to the basemakedepends, per makepkg convention – not a replacement) carry the three doc-only deps instead of the basemakedependsarray.build()/package()wrap thenotion-docmakeinvocations inif printf '%s ' "${_doc_archs[@]}" | grep -qx "$CARCH"; then ... fi. Thenotion-docgit source itself, andprepare()’s one-line Makefile sed fix, stay unconditional – both are cheap/harmless on every arch regardless of whether the doc actually gets built.pkgrel6 -> 6.1 (private/X.Y scheme, real content change, affects every arch’s actual package – rebuilt all 7 archs under the newpkgrelfor consistency, not just the 4 previously- blocked ones).- If Arch32 ever rebuilds a matching
texlive-bin, revisit whetherpentium4/i686/i486can rejoin_doc_archs;armv6hneeds Arch32 to actually carrytexlive-metafor that arch first.