Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature!] Use rocks instead of luarocks #539

Open
mrcjkb opened this issue Sep 16, 2024 · 4 comments
Open

[Feature!] Use rocks instead of luarocks #539

mrcjkb opened this issue Sep 16, 2024 · 4 comments

Comments

@mrcjkb
Copy link
Member

mrcjkb commented Sep 16, 2024

  • We've hit a dead end with luarocks regarding parallel builds:
  • Many users have issues installing or bootstrapping luarocks (mostly on non-Linux systems).
  • It has subtle bugs and development/releases are very slow.

So we've decided to shift our focus to bringing rocks up to feature parity with luarocks.
When we have implemented enough for the purpose of managing Neovim plugins, rocks.nvim will switch to rocks instead of luarocks.

This will be a major breaking change that requires a reinstall of rocks.nvim.
But if it goes according to plan, a cleanup+ :Rocks sync will be enough.
Perhaps we can even implement a :Rocks migrate command to automate the upgrade process.

@simifalaye
Copy link
Contributor

@mrcjkb How far is rocks away from meeting the minimum requirements to replace luarocks in rocks.nvim? Is it after the rocks add feature or are there still other features and bugs that are yet to come?

@mrcjkb
Copy link
Member Author

mrcjkb commented Nov 19, 2024

@mrcjkb How far is rocks away from meeting the minimum requirements to replace luarocks in rocks.nvim? Is it after the rocks add feature or are there still other features and bugs that are yet to come?

It's hard to tell at this point. We're getting pretty close to an MVP.
If you look at the pattern match on cli.command in rocks-bin's main module, you can see which commands we've implemented (although some of them need some polishing).
One thing I want to tackle soon is to implement a fallback to luarocks for features we haven't implemented yet (for example using custom build backends).

We could probably create a branch for this issue soon, and publish an scm version to luarocks.org.

@brianhuster
Copy link

It will be great if it allows declaring Git dependencies (in addition to Rocks dependencies)

@mrcjkb
Copy link
Member Author

mrcjkb commented Nov 23, 2024

It will be great if it allows declaring Git dependencies (in addition to Rocks dependencies)

For the MVP, we probably won't be extending the Rockspec format.
If you're a package maintainer who needs to depend on a git dependency, you can always create an scm Rockspec for the git dependency.

For users, we do plan on adding support for installing packages directly from git (without the need for a rockspec/luarocks package).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants