Skip to main content

max / alloy

Install the headers the terminal started needing shop@53551eb asks fontconfig which font carries a glyph the bundled Iosevka lacks, and the crate behind that question links libfontconfig through pkg-config rather than dlopening it. The build stage installed wayland-devel and libxkbcommon-devel and nothing else, so moving SHOP_REV in the previous commit broke both profiles at `cargo install shop` — the install path, which is the only install path there is. The runtime already carries fontconfig for the fonts layer, so only the headers were ever missing. Worth naming the class rather than the instance: a SHOP_REV bump is not inert. It can add a system build dependency, and nothing here checks for that the way build_context.rs and profile_split.rs check their own failure shapes. GO alloy task filed.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-08-09 16:32 UTC
Signed with PGP, not checked
Commit: baf5a7d0fe4d0a5c223d8a912836be7ecd0ff3e1
Parent: 0eb6465
1 file changed, +11 insertions, -2 deletions
M Containerfile +11 -2
@@ -48,12 +48,21 @@
48 48 # greeter's console palette; skelgen emits that table now, along with the rest
49 49 # of the desktop skeleton, so there is one implementation of the ANSI mapping
50 50 # instead of three.
51 - # git, and the two libraries shop links, on top of the toolchain. The console
51 + # git, and the three libraries shop links, on top of the toolchain. The console
52 52 # needs none of them; shop is Wayland and GPU facing, so it links
53 53 # libwayland-client and libxkbcommon at build time and will not compile
54 54 # without their headers. `ldd` on the built binary is the check if this list
55 55 # ever looks wrong.
56 - RUN dnf install -y cargo rust git wayland-devel libxkbcommon-devel pkgconf \
56 + #
57 + # fontconfig-devel is the third, and it arrived with the terminal rather than
58 + # with anything here: shop asks the system which font carries a glyph the
59 + # bundled Iosevka lacks (CJK, hangul), and the crate behind that question links
60 + # libfontconfig through pkg-config rather than dlopening it. So a SHOP_REV move
61 + # can add a build dependency, which is what happened at shop@53551eb and broke
62 + # both profiles at this step. The runtime already carries fontconfig for the
63 + # fonts layer, so only the headers were ever missing.
64 + RUN dnf install -y cargo rust git wayland-devel libxkbcommon-devel \
65 + fontconfig-devel pkgconf \
57 66 && dnf clean all
58 67
59 68 # =====================================================================