Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package opentui for openSUSE:Factory checked in at 2026-09-16 17:41:18 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/opentui (Old) and /work/SRC/openSUSE:Factory/.opentui.new.383539 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "opentui" Wed Sep 16 17:41:18 2026 rev:2 rq:1378041 version:0.4.5 Changes: -------- --- /work/SRC/openSUSE:Factory/opentui/opentui.changes 2026-08-11 17:14:26.019176229 +0200 +++ /work/SRC/openSUSE:Factory/.opentui.new.383539/opentui.changes 2026-09-16 17:42:14.243786000 +0200 @@ -1,0 +2,8 @@ +Mon Sep 14 19:39:50 UTC 2026 - Martin Pluskal <[email protected]> + +- Use the tree-sitter-javascript-wasm, -typescript-wasm, + -markdown-wasm and -zig-wasm packages for the highlighter's + grammar modules: the copies in the source tree become symlinks + to them (Requires on the devel subpackage) + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ opentui.spec ++++++ --- /var/tmp/diff_new_pack.tAHqtv/_old 2026-09-16 17:42:15.904855405 +0200 +++ /var/tmp/diff_new_pack.tAHqtv/_new 2026-09-16 17:42:15.905855447 +0200 @@ -54,6 +54,12 @@ Patch1: opentui-baseline-cpu.patch BuildRequires: binutils BuildRequires: python3-base +# The grammar modules the highlighter ships: symlinked to the +# tree-sitter-<lang>-wasm packages' files below, checked at build time. +BuildRequires: tree-sitter-javascript-wasm +BuildRequires: tree-sitter-markdown-wasm +BuildRequires: tree-sitter-typescript-wasm +BuildRequires: tree-sitter-zig-wasm BuildRequires: zig = %{zig_version} BuildRequires: zstd Provides: bundled(miniaudio) = 0.11.24 @@ -74,6 +80,10 @@ %package devel Summary: TypeScript sources for OpenTUI Requires: %{name} = %{version} +Requires: tree-sitter-javascript-wasm +Requires: tree-sitter-markdown-wasm +Requires: tree-sitter-typescript-wasm +Requires: tree-sitter-zig-wasm %description devel The TypeScript half of OpenTUI: the core bindings, the keymap library and @@ -198,6 +208,22 @@ sed -i 's/"workspace:\*"/"%{version}"/g' package.json ) done +# The highlighter's grammar modules (tree-sitter-<lang>.wasm) are the +# tree-sitter-<lang>-wasm packages' files, built from the grammar sources; +# the copies in the tree become symlinks to them. The queries next to them +# stay upstream's. Every module in the tree must have a packaged +# counterpart, so a grammar upstream adds fails here until its package is +# in BuildRequires and the devel Requires. +assets=%{buildroot}%{_libdir}/%{name}/@opentui/core/src/lib/tree-sitter/assets +for wasm in "$assets"/*/tree-sitter-*.wasm; do + sys=%{_datadir}/tree-sitter/wasm/$(basename "$wasm") + if ! test -f "$sys"; then + echo "no packaged module for ${wasm#%{buildroot}}: add its tree-sitter-<lang>-wasm package" >&2 + exit 1 + fi + ln -sf "$sys" "$wasm" +done + # Nothing above may delete a file the packages advertise. Everything a # consumer can import goes through an exports map, so walk them and fail the # build rather than shipping a package that resolves to a missing path. ++++++ README.SUSE-maint ++++++ --- /var/tmp/diff_new_pack.tAHqtv/_old 2026-09-16 17:42:15.969858121 +0200 +++ /var/tmp/diff_new_pack.tAHqtv/_new 2026-09-16 17:42:15.976858414 +0200 @@ -57,6 +57,15 @@ unversioned zig is green on both architectures and is 0.15.2 as well. Revisit if that changes. +4. Check the highlighter's grammar modules. packages/core/src/lib/tree-sitter/ + parsers-config.ts pins the grammar releases upstream downloaded the + .wasm files from; the package replaces them with the tree-sitter-<lang>- + wasm packages' modules (see "What gets installed"). A grammar upstream + adds fails %install until its package exists and is listed; a moved pin + means re-checking the highlights.scm/injections.scm next to the module + against the packaged grammar version (load the module and the query with + web-tree-sitter; a query naming a node the grammar lacks throws). + 4. Drop the old tarballs, osc addremove, build, submit. @@ -126,6 +135,21 @@ not noarch, because it sits in the same tree as the native package it has to resolve alongside. +One part of that tree is not upstream's file: the syntax highlighter's +grammar modules, packages/core/src/lib/tree-sitter/assets/<lang>/ +tree-sitter-<lang>.wasm (javascript, typescript, markdown, markdown_inline, +zig), which upstream commits as downloads from the grammars' releases. The +distribution builds every tree-sitter grammar to WebAssembly in a +tree-sitter-<lang>-wasm subpackage (%treesitter_wasm_* macros, clang, lld +and wasi-libc through the tree-sitter CLI's own wasi-sdk invocation), so +%install turns those five files into symlinks to /usr/share/tree-sitter/wasm +and opentui-devel requires the four packages. The loop walks the asset +directories: a grammar upstream adds fails the build until its package is +in BuildRequires and the devel Requires. The highlight queries next to the +modules stay upstream's; they were checked against the packaged grammar +versions (javascript 0.23.1 and markdown 0.5.3 where upstream pins 0.25.0 +and 0.5.1) when this was introduced, and belong on the bump checklist. + The build does not need bun ---------------------------
