Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package tree-sitter for openSUSE:Factory checked in at 2026-09-23 14:32:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/tree-sitter (Old) and /work/SRC/openSUSE:Factory/.tree-sitter.new.383539 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tree-sitter" Wed Sep 23 14:32:16 2026 rev:31 rq:1379270 version:0.27.0 Changes: -------- --- /work/SRC/openSUSE:Factory/tree-sitter/tree-sitter.changes 2026-09-16 17:41:31.985020273 +0200 +++ /work/SRC/openSUSE:Factory/.tree-sitter.new.383539/tree-sitter.changes 2026-09-23 14:32:17.603671957 +0200 @@ -1,0 +2,46 @@ +Sun Sep 20 06:24:02 UTC 2026 - Martin Pluskal <[email protected]> + +- Require binaryen on every architecture that has it: 0.27's + build --wasm runs wasm-opt, and the ports arches carry binaryen + just as x86_64 does, so the previous x86_64-only Requires left + the grammars to fail late in the wasm step +- Turn the wasm macros into no-ops below suse_version 1690: Leap + 16 has no binaryen at all, and its tree-sitter comes from SLFO + without these macros, so the modules cannot ship there anyway. + %define treesitter_wasm_enabled 0 forces the same by hand + +------------------------------------------------------------------- +Sat Sep 19 05:06:16 UTC 2026 - Martin Pluskal <[email protected]> + +- Point TREE_SITTER_BINARYEN_PATH at /usr so `build --wasm` + uses distro wasm-opt (0.27 otherwise curl-downloads binaryen) +- Requires: binaryen on x86_64 (Factory binaryen is x86_64-only) + +------------------------------------------------------------------- +Wed Sep 16 17:42:29 UTC 2026 - Martin Pluskal <[email protected]> + +- Update to version 0.27.0 (includes 0.26.9-0.26.13): + * C library SONAME is now libtree-sitter.so.0.27 + * Grammar ABI unchanged (LANGUAGE_VERSION 15, min 13) + * MSRV 1.90, Rust edition 2024 + * Allow '-' in grammar names + * CLI: concurrent grammar builds, build --verbose, test --update + rewrites all corpus files + * highlight: UTF-16 support + * lib: eof helper; missing nodes carry parse state + * query: fix cross-branch capture contamination and MISSING nodes + * parser: avoid wide error nodes on unparseable input + * generate: reject invalid byte-class patterns and terminal + supertypes + * wasm: wasi-sdk for binaryen, realloc fixes, extra stdlib + * Memory-safety fixes in the C library + * Many more fixes and improvements; see upstream's release notes + for the full list +- Rename shlib subpackage libtree-sitter0_26 to libtree-sitter0_27 + and update baselibs.conf +- Conflict with libtree-sitter0_26 +- BuildRequire rust >= 1.90 +- Set License to LGPL-3.0-or-later AND MIT (vendored ansi_colours; + GPL-2.0-only is no longer linked) + +------------------------------------------------------------------- Old: ---- tree-sitter-0.26.8.tar.gz New: ---- tree-sitter-0.27.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ tree-sitter.spec ++++++ --- /var/tmp/diff_new_pack.l1rEpO/_old 2026-09-23 14:32:20.397788766 +0200 +++ /var/tmp/diff_new_pack.l1rEpO/_new 2026-09-23 14:32:20.398788807 +0200 @@ -1,7 +1,7 @@ # # spec file for package tree-sitter # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,14 +17,14 @@ # Sync with macros.emacs from the emacs package %global _emacs_sitelispdir %{_datadir}/emacs/site-lisp %global _emacs_sitestartdir %{_emacs_sitelispdir}/site-start.d -%define somajor 0_26 +%define somajor 0_27 # switch of automatic generating of cargo provides (bsc#1261839) %global __provides_exclude_from ^%{_bindir}/%{name}$ Name: tree-sitter -Version: 0.26.8 +Version: 0.27.0 Release: 0 Summary: An incremental parsing system for programming tools -License: GPL-2.0-only AND MIT +License: LGPL-3.0-or-later AND MIT URL: https://tree-sitter.github.io/ Source0: https://github.com/tree-sitter/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Source1: vendor.tar.zst @@ -40,14 +40,19 @@ BuildRequires: cargo-packaging BuildRequires: clang BuildRequires: fdupes -BuildRequires: rust > 1.82.0 +BuildRequires: rust >= 1.90 # for macros.emacs # BuildRequires: emacs-nox # Commented out since we don't want circular dependencies Requires: lib%{name}%{somajor} = %{version} Requires: nodejs +# 0.27 `build --wasm` runs wasm-opt; Leap 16 has no binaryen +%if 0%{?suse_version} >= 1690 +Requires: binaryen +%endif Conflicts: lib%{name}0_22 < %{version} Conflicts: lib%{name}0_25 < %{version} +Conflicts: lib%{name}0_26 < %{version} %{load:%{SOURCE21}} %{?suse_build_hwcaps_libs} ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.l1rEpO/_old 2026-09-23 14:32:20.437790438 +0200 +++ /var/tmp/diff_new_pack.l1rEpO/_new 2026-09-23 14:32:20.440790563 +0200 @@ -1,6 +1,6 @@ -mtime: 1789461954 -commit: 117630e3738b993e101c04153b7198ddbf46d0ee17fac42d085d8ad478f9ab6c +mtime: 1789915129 +commit: 6c1da54a828d9a4315a06ae75a5915ec93af723ff295ef07f053c341911d73de url: https://src.opensuse.org/tree-sitter/tree-sitter -revision: 117630e3738b993e101c04153b7198ddbf46d0ee17fac42d085d8ad478f9ab6c +revision: 6c1da54a828d9a4315a06ae75a5915ec93af723ff295ef07f053c341911d73de projectscmsync: https://src.opensuse.org/tree-sitter/_ObsPrj ++++++ baselibs.conf ++++++ --- /var/tmp/diff_new_pack.l1rEpO/_old 2026-09-23 14:32:20.477792110 +0200 +++ /var/tmp/diff_new_pack.l1rEpO/_new 2026-09-23 14:32:20.481792277 +0200 @@ -1,2 +1,2 @@ -libtree-sitter0_26 +libtree-sitter0_27 ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-09-20 16:38:49.000000000 +0200 @@ -0,0 +1,5 @@ +*.obscpio +*.osc +_build.* +.pbuild +tree-sitter-*-build/ ++++++ macros.in ++++++ --- /var/tmp/diff_new_pack.l1rEpO/_old 2026-09-23 14:32:20.680800597 +0200 +++ /var/tmp/diff_new_pack.l1rEpO/_new 2026-09-23 14:32:20.684800764 +0200 @@ -17,7 +17,9 @@ # tree-sitter CLI builds it exactly as it would with wasi-sdk -- one clang # call, no libc -- and %%treesitter_wasm_set_sdk points it at the # distribution's clang, lld and wasi-libc through a two-line shim, because -# without TREE_SITTER_WASI_SDK_PATH the CLI downloads wasi-sdk. The module +# without TREE_SITTER_WASI_SDK_PATH the CLI downloads wasi-sdk. 0.27 also +# runs wasm-opt and downloads binaryen unless TREE_SITTER_BINARYEN_PATH +# is set (looks for $PATH/bin/wasm-opt). The module # is arch-independent bytecode, so the subpackage is noarch (-DNDEBUG keeps # a scanner's assert() text, the only host-specific input, out of it; the # CLI compiles relative paths from the grammar's src/, so nothing else could @@ -48,10 +50,15 @@ # tree-sitter-hcl declares terraform=dialects and builds its module with # %%treesitter_wasm_build terraform=dialects/terraform # --]] -%treesitter_wasm_set_sdk mkdir -p .wasi-sdk/bin; { echo '#!/bin/sh'; echo "exec %{_bindir}/clang --sysroot=%{_datadir}/wasi-sysroot -isystem %{_datadir}/wasi-sysroot/include/wasm32-wasip1 -DNDEBUG "'"$@"'; } > .wasi-sdk/bin/clang; chmod 0755 .wasi-sdk/bin/clang; export TREE_SITTER_WASI_SDK_PATH="$PWD/.wasi-sdk" +%treesitter_wasm_set_sdk mkdir -p .wasi-sdk/bin; { echo '#!/bin/sh'; echo "exec %{_bindir}/clang --sysroot=%{_datadir}/wasi-sysroot -isystem %{_datadir}/wasi-sysroot/include/wasm32-wasip1 -DNDEBUG "'"$@"'; } > .wasi-sdk/bin/clang; chmod 0755 .wasi-sdk/bin/clang; export TREE_SITTER_WASI_SDK_PATH="$PWD/.wasi-sdk"; export TREE_SITTER_BINARYEN_PATH=%{_prefix} + +# The wasm modules need wasm-opt from binaryen, which Leap 16 does not have; +# %%define treesitter_wasm_enabled 0 disables them by hand. +%treesitter_wasm_enabled %{lua: print((tonumber(rpm.expand("0%{?suse_version}")) >= 1690) and 1 or 0)} %__treesitter_wasm_package_name() %name-wasm %treesitter_wasm_package \ +%if %{treesitter_wasm_enabled} \ %package -n %{__treesitter_wasm_package_name} \ Summary: WebAssembly modules of the %{name} grammars \ BuildArch: noarch \ @@ -61,7 +68,8 @@ tree-sitter in a WebAssembly runtime such as web-tree-sitter. The modules \ live in %{_treesitter_wasmdir}. \ %files -n %{__treesitter_wasm_package_name} \ -%{treesitter_wasm_files} +%{treesitter_wasm_files} \ +%endif # --[[ # Optional -queries subpackage: the queries upstream ships with the ++++++ macros.lua ++++++ --- /var/tmp/diff_new_pack.l1rEpO/_old 2026-09-23 14:32:20.708801767 +0200 +++ /var/tmp/diff_new_pack.l1rEpO/_new 2026-09-23 14:32:20.711801893 +0200 @@ -194,6 +194,7 @@ cannot provide; the grep proves the module exports the grammar's entry point (anchored so markdown does not pass on markdown_inline). --]] + if rpm.expand("%{treesitter_wasm_enabled}") ~= "1" then return end rpm.expand("%_treesitter_macro_init") local grammar_names = rpm.expand("%{treesitter_grammar_names}"):split() local grammar_sources = rpm.expand("%{treesitter_grammar_sources}"):split() @@ -235,6 +236,7 @@ end function treesitter_wasm_install() + if rpm.expand("%{treesitter_wasm_enabled}") ~= "1" then return end rpm.expand("%_treesitter_macro_init") local grammar_names = rpm.expand("%{treesitter_grammar_names}"):split() local install_path = rpm.expand("%{buildroot}%{_treesitter_wasmdir}") ++++++ tree-sitter-0.26.8.tar.gz -> tree-sitter-0.27.0.tar.gz ++++++ ++++ 62122 lines of diff (skipped) ++++++ vendor.tar.zst ++++++ /work/SRC/openSUSE:Factory/tree-sitter/vendor.tar.zst /work/SRC/openSUSE:Factory/.tree-sitter.new.383539/vendor.tar.zst differ: char 7, line 1
