Subject: [bug#70146] [PATCH rust-team 000/147] tree-sitter: Update to 0.22.2.

From: Jean-Pierre De Jesus Diaz <[email-masked]>
Date: Tue, 2 Apr 2024 16:29:55 +0000

>I have to admit I was looking at tree-sitter recently and wondering if
>it should be upgraded, and if all the grammars needed to be upgraded
>too at the same time.

I've updated the grammars that didn't build with the newer versions on the
same commit of tree-sitter update. Some required patches here and there
and they should be working fine. Haven't tested all of the parsers yet
in an editor.

Most of the errors were in the tests because this new version changed
how the highlight rules are prioritized so they need to be reordered in
the file.  Others because regex brace escaping changed.

>Another option if they're not all ready at the same time, can different
>grammars use different versions? Or in that case would it make more
>sense to prepare all the dependencies for the next tree-sitter version
>and then just not actually upgrade it until everything is ready?

I thought the same too, but I didn't know if it was suitable for Guix to do
that so that's why I opted into patching the grammars.

However looking at some of the grammars it seems that they don't have much
maintenance so looking at the future these grammars will be even harder
to compile in future versions so it'd make sense to have different versions of
`tree-sitter-cli' to accomodate for this. (some grammars haven't seen
a commit in 2 years for example).

I think delaying until everything is working will be hard because of that.

I think I can update the patch series to have two tree-sitter-cli versions.

On Tue, Apr 2, 2024 at 4:16 PM Efraim Flashner <[email-masked]> wrote:
>
> On Tue, Apr 02, 2024 at 05:01:25PM +0200, Jean-Pierre De Jesus DIAZ wrote:
> > This patch series updates tree-sitter and tree-sitter-cli to the newest
> > packages released, it also updates the grammars if they didn't build
> > with this newer version.
> >
> > I don't think this patch series is fully ready as the tree-sitter
> > ecosystem is still catching up to speed with the new release so not all
> > grammars are updated yet to work.
> >
> > However this patch series provides fixes for most of these grammars and
> > the Rust patches I think could be applied in the meantime.
>
> I have to admit I was looking at tree-sitter recently and wondering if
> it should be upgraded, and if all the grammars needed to be upgraded
> too at the same time.
>
> Another option if they're not all ready at the same time, can different
> grammars use different versions? Or in that case would it make more
> sense to prepare all the dependencies for the next tree-sitter version
> and then just not actually upgrade it until everything is ready?
>
> > I based this patch series on the `master' branch instead of `rust-team'
> > let me know if it's easier and I can rebase to use that branch instead.
>
> I'll see how well the patches apply. I see a couple that are already on
> the rust-team branch.
>
> > I've decided to not package rust-ittapi and rust-ittapi-sys for
> > rust-wasmtime and provided a patch instead to opt-out since these
> > crates are only a facade to a library that needs to be loaded at
> > runtime by Intel® VTune™ which is closed source.
>
> Makes sense.
>
> > Jean-Pierre De Jesus DIAZ (147):
> >   gnu: rust-anyhow-1: Update to 1.0.80.
> >   gnu: Add rust-clap-lex-0.7.
> >   gnu: Add rust-strsim-0.11.
> >   gnu: rust-shlex-1: Update to 1.3.0.
> >   gnu: Add rust-anstyle-lossy-1.
> >   gnu: Add rust-anstyle-svg-0.1.
> >   gnu: Add rust-escape8259-0.5.
> >   gnu: Add rust-libtest-mimic-0.7.
> >   gnu: rust-snapbox-macros-0.3: Update to 0.3.8.
> >   gnu: Add rust-snapbox-0.5.
> >   gnu: rust-serde-spanned-0.6: Update to 0.6.5.
> >   gnu: Add rust-winnow-0.6.
> >   gnu: rust-indexmap-2: Update to 2.2.5.
> >   gnu: rust-serde-json-1: Update to 1.0.114.
> >   gnu: rust-toml-test-data-1: Update to 1.8.0.
> >   gnu: Add rust-toml-edit-0.22.
> >   gnu: Add rust-trycmd-0.15.
> >   gnu: Add rust-heck-0.5.
> >   gnu: rust-clap-4: Update to 4.5.3.
> >   gnu: rust-libc-0.2: Update to 0.2.153.
> >   gnu: Add rust-nix-0.28.
> >   gnu: rust-ctrlc-3: Update to 3.4.4.
> >   gnu: rust-filetime-0.2: Update to 0.2.23.
> >   gnu: rust-value-bag-sval2: Update to 1.8.1.
> >   gnu: rust-value-bag-sval2-1: Update to 1.8.1.
> >   gnu: rust-value-bag-1: Update to 1.8.1.
> >   gnu: rust-log-0.4: Update to 0.4.23.
> >   gnu: rust-regex-automata-0.4: Update to 0.4.6.
> >   gnu: rust-regex-1: Update to 1.10.3.
> >   gnu: rust-semver-1: Update 1.0.22.
> >   gnu: rust-serde-derive-1: Update to 1.0.197.
> >   gnu: rust-serde-1: Update to 1.0.197.
> >   gnu: rust-walkdir-2: Update to 2.5.0.
> >   gnu: Add rust-wasmparser-0.201.
> >   gnu: Add rust-wasmparser-0.121.
> >   gnu: Add rust-wasmparser-0.118.
> >   gnu: rust-webbrowser-0.8: Update to 0.8.13.
> >   gnu: rust-ctor-0.2: Update to 0.2.7.
> >   gnu: rust-rustix-0.38: Update to 0.38.31.
> >   gnu: rust-tempfile-3: Update to 3.10.1.
> >   gnu: rust-bumpalo-3: Update to 3.15.4.
> >   gnu: rust-derive-arbitrary-1: Update to 1.3.2.
> >   gnu: rust-arbitrary-1: Update to 1.3.2.
> >   gnu: rust-psm-0.1: Update to 0.1.21.
> >   gnu: Add rust-afl-0.11.
> >   gnu: Add rust-cpp-demangle-0.3.
> >   gnu: Add rust-leb128-0.2.
> >   gnu: Add rust-wasm-encoder-0.201.
> >   gnu: Add rust-wasm-encoder-0.41.
> >   gnu: Add rust-wast-201.
> >   gnu: Add rust-wast-35.
> >   gnu: Add rust-wat-1.
> >   gnu: Add rust-id-arena-2.
> >   gnu: Add rust-souper-ir-2.
> >   gnu: Add rust-fallible-iterator-0.3.
> >   gnu: Add rust-slice-group-by-0.3.
> >   gnu: Add rust-regalloc2-0.9.
> >   gnu: Add rust-capstone-sys-0.13.
> >   gnu: Add rust-capstone-0.9.
> >   gnu: Add rust-gimli-0.28.
> >   gnu: Add rust-cranelift-entity-0.105.
> >   gnu: Add rust-cranelift-bforest-0.105.
> >   gnu: Add rust-cranelift-codegen-shared-0.105.
> >   gnu: Add rust-cranelift-codegen-meta-0.105.
> >   gnu: Add rust-cranelift-control-0.105.
> >   gnu: Add rust-cranelift-isle-0.105.
> >   gnu: Add rust-cranelift-frontend-0.105.
> >   gnu: Add rust-cranelift-native-0.105.
> >   gnu: Add rust-cranelift-wasm-0.105.
> >   gnu: Add rust-cranelift-codegen-0.105.
> >   gnu: Add rust-memfd-0.6.
> >   gnu: Add rust-ruzstd-0.5.
> >   gnu: Add rust-object-0.32.
> >   gnu: Add rust-wasmprinter-0.2.
> >   gnu: Add rust-wasmtime-component-util-18.
> >   gnu: Add rust-wasmtime-types-18.
> >   gnu: Add rust-wasmtime-environ-18.
> >   gnu: Add rust-winch-codegen-0.16.
> >   gnu: Add rust-addr2line-0.21.
> >   gnu: Add rust-fxprof-processed-profile-0.6.
> >   gnu: Add rust-wasmtime-cache-18.
> >   gnu: Add rust-wit-parser-0.13.
> >   gnu: Add rust-wasmtime-wit-bindgen-18.
> >   gnu: Add rust-wasmtime-component-macro-18.
> >   gnu: Add rust-wasmtime-cranelift-shared-18.
> >   gnu: Add rust-wasmtime-versioned-export-macros-18.
> >   gnu: Add rust-wasmtime-cranelift-18.
> >   gnu: Add rust-wasmtime-asm-macros-18.
> >   gnu: Add rust-wasmtime-fiber-18.
> >   gnu: Add rust-wasmtime-jit-debug-18.
> >   gnu: Add rust-wasmtime-jit-icache-coherence-18.
> >   gnu: Add rust-wasmtime-wmemcheck-18.
> >   gnu: Add rust-wasmtime-winch-18.
> >   gnu: Add rust-wasmtime-runtime-18.
> >   gnu: Add rust-wasmtime-18.
> >   gnu: Add rust-arf-strings-0.7.
> >   gnu: Add rust-ambient-authority-0.0.2.
> >   gnu: Add rust-fs-set-times-0.20.
> >   gnu: Add rust-io-extras-0.18.
> >   gnu: Add rust-maybe-owned-0.3.
> >   gnu: Add rust-winx-0.36.
> >   gnu: Add rust-cap-primitives-2.
> >   gnu: Add rust-cap-std-2.
> >   gnu: Add rust-cap-fs-ext-2.
> >   gnu: Add rust-cap-rand-2.
> >   gnu: Add rust-windows-result-0.1.
> >   gnu: rust-windows-targets-0.52: Update to 0.52.4.
> >   gnu: Add rust-windows-core-0.52.
> >   gnu: rust-iana-time-zone-0.1: Update to 0.1.60.
> >   gnu: Add rust-cap-time-ext-2.
> >   gnu: Add rust-char-device-0.16.
> >   gnu: Add rust-fd-lock-4.
> >   gnu: Add rust-socketpair-0.19.
> >   gnu: Add rust-ssh2-0.9.
> >   gnu: Add rust-system-interface-0.26.
> >   gnu: Add rust-witx-0.9.
> >   gnu: Add rust-wiggle-generate-18.
> >   gnu: Add rust-wiggle-macro-18.
> >   gnu: Add rust-wiggle-18.
> >   gnu: Add rust-wasi-common-18.
> >   gnu: Add rust-wasmtime-c-api-macros-18.
> >   gnu: Add rust-cap-net-ext-2.
> >   gnu: Add rust-wasmtime-wasi-18.
> >   gnu: Add rust-wasmtime-c-api-impl-18.
> >   gnu: rust-cc-1: Update to 1.0.90.
> >   gnu: rust-thiserror-1: Update to 1.0.58.
> >   gnu: Add rust-smol-potat-macro-0.6.
> >   gnu: Add rust-smol-potat-1.
> >   gnu: Add rust-event-listener-5.
> >   gnu: Add rust-async-process-2.
> >   gnu: Add rust-async-fs-2.
> >   gnu: Add rust-smol-2.
> >   gnu: Add rust-fs4-0.8.
> >   gnu: libloading-0.8: Update to 0.8.3.
> >   gnu: rust-proc-macro2-1: Update to 1.0.79.
> >   gnu: rust-toml-0.8: Update to 0.8.12.
> >   gnu: tree-sitter: Update to 0.22.2.
> >   gnu: tree-sitter-html: Update to 0.20.2.
> >   gnu: tree-sitter-css: Update to 0.20.0-1.02b4ee7.
> >   gnu: tree-sitter-bash: Update to 0.21.0.
> >   gnu: tree-sitter-elm: Update to 5.7.0.
> >   gnu: tree-sitter-haskell: Update to 0.15.0.
> >   gnu: tree-sitter-json: Update to 0.20.2.
> >   gnu: tree-sitter-julia: Update to 0.20.0.
> >   gnu: tree-sitter-scheme: Update to 0.6.0-9.184e759.
> >   gnu: tree-sitter-racket: Update to 0.3.0-10.d9858a0.
> >   gnu: tree-sitter-lua: Update to 0.1.0.
> >
> >  gnu/local.mk                                  |    3 +
> >  gnu/packages/crates-io.scm                    | 2920 +++++++++++++++--
> >  gnu/packages/crates-windows.scm               |   74 +-
> >  .../rust-wasmtime-18-remove-ittapi.patch      |   46 +
> >  .../tree-sitter-org-package-json.patch        |   35 +
> >  .../tree-sitter-plantuml-package-json.patch   |   38 +
> >  gnu/packages/tree-sitter.scm                  |  586 ++--
> >  guix/build/tree-sitter-build-system.scm       |    4 +
> >  8 files changed, 3261 insertions(+), 445 deletions(-)
> >  create mode 100644 gnu/packages/patches/rust-wasmtime-18-remove-ittapi.patch
> >  create mode 100644 gnu/packages/patches/tree-sitter-org-package-json.patch
> >  create mode 100644 gnu/packages/patches/tree-sitter-plantuml-package-json.patch
> >
> >
> > base-commit: 7af70efd7633b0d70091762cf43ce01a86176e8e
> > --
> > 2.41.0
> >
> >
> >
> >
>
> --
> Efraim Flashner   <[email-masked]>   רנשלפ םירפא
> GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
> Confidentiality cannot be guaranteed on emails sent or received unencrypted