On 12/2/21 09:56, Fabio Valentini wrote:
On Wed, Dec 1, 2021 at 5:07 PM Andreas Schneider <asn@xxxxxxxxxx> wrote:
Hello,
I would like to compile the tree-sitter parser generating tool. For this rust-
html-escape and rust-smallbitvec is missing in the distro. It would allow that
you can add additional languages for highlighting in neovim.
If someone who is familiar with rust could packages those two small
extensions, that would be really great!
Hello!
It turns out, it is not as simple as "just two small extensions".
Packaging the html-escape crate is not a problem, it has no
dependencies that are not already present in Fedora.
smallbitvec has very outdated dependencies for running its test suite,
so that has to be turned off.
You also seem to have missed tiny_http 0.8.x, which is present in
Fedora repos, but with a version that is too old (0.6.2).
But the bigger problem will be tree-sitter-cli itself, which is split
into multiple, separately-shipped Rust crates - so there's these
additional dependencies to the two you assumed going into this
endeavour:
- tree-sitter-cli
- tree-sitter
- tree-sitter-config
- tree-sitter-highlight
- tree-sitter-loader
- tree-sitter-tags
Those will also have to be packaged. They don't have any dependencies
that are not packaged for Fedora yet, but tree-sitter requires spin
version 0.7.x, whereas we have spin 0.5.2 right now.
This means, in total:
- new package: rust-html-escape
- new package: rust-smallbitvec
- update package: rust-tiny_http to version 0.8.2
- new package: rust-tiny_http0.6 compat package
- new package: rust-tree-sitter-cli
- new package: rust-tree-sitter
- new package: rust-tree-sitter-config
- new package: rust-tree-sitter-highlight
- new package: rust-tree-sitter-loader
- new package: rust-tree-sitter-tags
- update package: rust-spin to version 0.7.1
- new package: rust-spin0.5 compat package
So, ten new packages, plus two updates, plus two new compat packages
(unless I missed something - there might be more TODO items than
those). Welcome to the Rust world! ;)
`smallbitvec` deps are only needed for benchmark, so the test suite is
actually passing without these. Should be safe to drop with metadata patch.
rust-tiny_http 0.8.2 also has a benchmark-only dependency `fdlimit`
which we can drop.
The situation with tree-sitter-cli testsuite is complicated: it requires
a few other github repos with a grammar definitions and who knows what
else. I haven't succeeded in running it so far, so we can keep it turned
off. And that would make `rust-spin` update unnecessary.
The draft packages are available from
https://copr.fedorainfracloud.org/coprs/alebastr/rust-tree-sitter-cli/;
seems working with available grammar files (with exception of
`build-wasm` and `playground` subcommands which require emscripten).
The Rust SIG *can* help with this work, but I don't like committing
the SIG (which has been mostly myself, for the past months) to more
work maintaining ever more packages without a good reason.
Fabio
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure