Comments (18)
Yea, hope team reconsiders this, I would like to be able to install helix using cargo binstall https://github.com/cargo-bins/cargo-binstall
from helix.
I don't think it makes much sense for us to package on crates.io because of the
runtime/
requirements.
Binstall would be nice but otherwise, a hx install
/hx uninstall
/hx update
command that configures these files is how some tools work around this. That could be nice too since it provides a way to update grammars or other contrib/runtime files even if the main install can't be updated (such as a repository being slow to update)
from helix.
With the grammars now being split out and compiled into the runtime folder, I don't think we can package this easily on crates.io. Given that crates.io is primarily for distributing code, I wonder if it really makes sense to distribute helix there.
Could you just package the github binary releases for now? It's what all the other distro packages are doing.
from helix.
Discussed this in matrix yesterday. This is due to helix not specifying the version
within the crates, could be done after we do that.
pickfire
How do you cut releases now?
Can you please push the releases to crates.io? So someone could do cargo install helix-term.
Or we can suggest those from crates.io to use the embed_runtime feature.
Blaž
there was an issue with pushing to crates.io directly since the crates refer to each other via relative paths
haven't looked into what the right setup is yet
pickfire
Put the version with the path?
https://github.com/BurntSushi/ripgrep/blob/master/crates/cli/Cargo.toml#L19
woshilapin
Blaž
ah I see, so the version and the path can co-existYes they can. Actually, from what I understand in the documentation, path will always be used, except when publish. You can look at the last paragraph of this section of the documentation.
https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#specifying-path-dependencies
from helix.
Since #102 is merged, can't this is done now ?
from helix.
I don't think it makes much sense for us to package on crates.io because of the runtime/
requirements.
from helix.
I've considered this, but the editor still needs the runtime/
queries folder to be downloaded and placed somewhere. Would we be able to distribute this alongside it?
from helix.
Let's us a symlink then
from helix.
Hello, I'm looking foward to see this project completely at crates.io!
I'm preparing this program to be ready to install at fedora OS via dnf, but I cannot go further, because the crates are empty ...
from helix.
Quick heads-up, for cargo to actually package files into the crate to be published on crates.io, said files need to be under the same root folder.
Currently, we are blocked by:
/languages.toml
included inhelix-term/
,/theme.toml
included inhelix-view/
,- and
/runtime/
included inhelix-core/
.
Possible changes:
- move files under the same root as the including crate,
- create a root package including everything,
- create a new "resource" crate under which we move and include everything,
- or, create (a) new repository(ies) that we clone as appropriate using
build.rs
(we could also just forget about publishing on crates.io)
cc @archseer
from helix.
Does a symlink work?
from helix.
It should works, at least on Linux (Windows appears to have an open issue)
from helix.
I think that's enough, since we just need to package it once on any architecture.
from helix.
It looks like publishing to crates.io is a pre-requisite for packaging helix for debian apt repositories. In light of that would you consider re-opening this?
from helix.
It looks like publishing to crates.io is a pre-requisite for packaging helix for debian apt repositories. In light of that would you consider re-opening this?
Could you elaborate? Why is it a prerequisite?
from helix.
All of the Debian rust team's packaging tooling is built around crates.io.
from helix.
All of the Debian rust team's packaging tooling is built around crates.io.
How do you mean? How would helix being on crates.io make building any easier than pulling from GitHub?
from helix.
I think Debian packaging revolves around crates (each crate getting one package, same as fedora and absolutely unsustainable for binaries with a lot of dependencies), and not about crates.io. We do use crates to build helix, we just don't publish to crates.io
from helix.
Related Issues (20)
- Helix + pyright + kitty has wrong working directory HOT 2
- weird identation on pasting code
- space mode command
- Helix becomes very slow when the file contains ultra long lines HOT 1
- When preview-completion-insert is false, only enter should accept completion. HOT 1
- :toggle option string, failing. HOT 1
- Which command can view the buffer list like ls in vim?
- Selecting suggestions doesn't work for lexical lsp HOT 4
- Out of range for changeset len 25336 HOT 1
- Unable to save files on exFAT drive.
- auto-completing nix examples HOT 1
- `C-S-;` and `A-S-;` keybindings don't do anything in any mode HOT 1
- Crash on jump_backward
- GO LSP not working HOT 1
- error: Unknown binary 'rust-analyzer' in official toolchain 'stable-x86_64-unknown-linux-gnu'.\n
- error in win 10 and helix HOT 4
- Version is not always updated when re-building from source HOT 3
- Command line installer
- Find window color collision avoidance HOT 2
- Debounce tree-sitter parsing HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from helix.