[Bug 2246561] Review Request: helix - A post-modern modal text editor written in Rust

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=2246561

Fabio Valentini <decathorpe@xxxxxxxxx> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|nobody@xxxxxxxxxxxxxxxxx    |decathorpe@xxxxxxxxx
              Flags|                            |fedora-review?
             Status|NEW                         |ASSIGNED



--- Comment #7 from Fabio Valentini <decathorpe@xxxxxxxxx> ---
(In reply to blinxen from comment #6)
> > - The "runtime/themes/*" contents are covered under different licenses - are they copied from different projects?
> 
> According to themes README [1], some themes are user submissions. The others
> are probably ports from other projects. Do their license files also have to
> be installed?

Yes - the MIT license requires license text to be included with distributed
sources.
But helix sources don't include the license texts for these themes:

./everforest_dark.toml: *No copyright* MIT License
./everforest_light.toml: *No copyright* MIT License
./serika-dark.toml: *No copyright* MIT License
./serika-light.toml: *No copyright* MIT License
./sonokai.toml: *No copyright* MIT License

> > I don't think they are included in the final package, but that needs to be verified.
> 
> Exactly, the source files for the grammars are not included. They are only
> added to the helix tarball so we are able to build and add them in the final
> package. Or else the user has to do `hx --grammar fetch` and `hx --grammar
> build` after the initial installation (which I would like to prevent).

I meant the contents of the "runtime/grammars/sources/hcl/example/" directory.
They are from other projects, and are covered under various licenses.
But I assume these are example files that are not included when building the
"hcl" grammar?
In that case, their licenses don't need to be taken into account for the helix
package.

> > Especially bundling all the tree-sitter stuff (including some tree-sitter sources / headers themselves) looks very suspicious to me
> 
> Well that goes back to how helix works. Language-specific settings and
> settings for language servers are configured in `languages.toml`. In that
> file, the grammars + their sources are also declared. Helix builds the
> specified version of the tree-sitter parsers and puts it in the configured
> runtime directory. The build step for the parsers can be skipped but helix
> needs the ".so" files to be in the runtime directory. So the only thing we
> can do here is either bundle them or package each tree-sitter parser and add
> a symlink of all ".so" files to the runtime directory.
> 
> [1]
> https://github.com/helix-editor/helix/blob/master/runtime/themes/README.md
> [2] https://tree-sitter.github.io/tree-sitter/using-parsers

Ok, if that's how helix + tree-sitter works, then we'll have to deal with that.

I don't think unbundling all the tree-sitter grammars as separate projects (163
projects?) would be a reasonable solution, so building them from the bundled
sources is OK. However, they will need to be specified as bundled dependencies,
and their licenses taken into account in the License tag for the package.

We will need something like "Provides: bundled(tree-sitter-astro) = 0.0.1" for
all bundled grammars.

I'm not sure how to best deal with the licenses for all the tree sitter
grammars - it looks like they all only depend on the "tree-sitter" crate that
provides bindings for the tree-sitter C library, but I haven't checked *all of
them* if they also depend on other Rust crates. But at least the tree-sitter
crate is already a dependency of helix-core, so it's already taken into account
by the %cargo_license macro.

However, not all included tree-sitter grammars ship their own license files,
which might be a problem for redistributing them.

I also noticed that some grammars require "tree-sitter = 0.19", which is an
unsatisfiable dependency in Fedora - are those grammars just not built?


-- 
You are receiving this mail because:
You are always notified about changes to this product and component
You are on the CC list for the bug.
https://bugzilla.redhat.com/show_bug.cgi?id=2246561

Report this comment as SPAM: https://bugzilla.redhat.com/enter_bug.cgi?product=Bugzilla&format=report-spam&short_desc=Report%20of%20Bug%202246561%23c7
_______________________________________________
package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to package-review-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/package-review@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite Conditions]     [KDE Users]

  Powered by Linux