Skip to content

fix: removed 'autoload' from rockspec build.copy_directories#3559

Merged
clason merged 1 commit intonvim-telescope:masterfrom
CaetanoGenete:master
Nov 6, 2025
Merged

fix: removed 'autoload' from rockspec build.copy_directories#3559
clason merged 1 commit intonvim-telescope:masterfrom
CaetanoGenete:master

Conversation

@CaetanoGenete
Copy link
Contributor

Description

Installing telescope via luarocks broke after this commit 02ec064, this was because the autoload directory was removed, which caused luarocks to fail when copying this (non-existent) directory.

The solution was to simply remove the relevant entry from the rockspec.

Fixes #3558

Type of change

  • Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

commands:

> luarocks purge
Removing luassert 1.9.0-1...
Removing plenary.nvim scm-1...
Removing say 1.4.1-3...
Removing telescope.nvim scm-1...
> luarocks install .\telescope.nvim-scm-1.rockspec
Cloning into 'telescope.nvim'...
remote: Enumerating objects: 11672, done.
remote: Counting objects: 100% (104/104), done.
remote: Compressing objects: 100% (76/76), done.
remote: Total 11672 (delta 56), reused 36 (delta 28), pack-reused 11568 (from 2)
Receiving objects: 100% (11672/11672), 4.48 MiB | 8.75 MiB/s, done.
Resolving deltas: 100% (7318/7318), done.

Missing dependencies for telescope.nvim scm-1:
   plenary.nvim (not installed)

telescope.nvim scm-1 depends on lua 5.1 (5.1-1 provided by VM: success)
telescope.nvim scm-1 depends on plenary.nvim (not installed)
Installing https://luarocks.org/plenary.nvim-scm-1.rockspec
Cloning into 'plenary.nvim'...
remote: Enumerating objects: 3069, done.
remote: Counting objects: 100% (920/920), done.
remote: Compressing objects: 100% (206/206), done.
remote: Total 3069 (delta 815), reused 714 (delta 714), pack-reused 2149 (from 2)
Receiving objects: 100% (3069/3069), 11.56 MiB | 38.68 MiB/s, done.
Resolving deltas: 100% (1669/1669), done.

Missing dependencies for plenary.nvim scm-1:
   luassert (not installed)

plenary.nvim scm-1 depends on lua >= 5.1, < 5.4 (5.1-1 provided by VM: success)
plenary.nvim scm-1 depends on luassert (not installed)
Installing https://luarocks.org/luassert-1.9.0-1.src.rock

Missing dependencies for luassert 1.9.0-1:
   say >= 1.4.0-1 (not installed)

luassert 1.9.0-1 depends on lua >= 5.1 (5.1-1 provided by VM: success)
luassert 1.9.0-1 depends on say >= 1.4.0-1 (not installed)
Installing https://luarocks.org/say-1.4.1-3.src.rock


say 1.4.1-3 depends on lua >= 5.1 (5.1-1 provided by VM: success)
say 1.4.1-3 is now installed in C:\Users\caeta\AppData\Roaming\LuaRocks\systree (license: MIT)

luassert 1.9.0-1 is now installed in C:\Users\caeta\AppData\Roaming\LuaRocks\systree (license: MIT <http://opensource.org/licenses/MIT>)

plenary.nvim scm-1 is now installed in C:\Users\caeta\AppData\Roaming\LuaRocks\systree (license: MIT/X11)

telescope.nvim scm-1 is now installed in C:\Users\caeta\AppData\Roaming\LuaRocks\systree (license: MIT)

Configuration: N/A

  • Neovim version (nvim --version): N/A
  • Operating system and version: Windows 11 Home 10.0.26200 N/A Build 26200

Checklist:

  • My code follows the style guidelines of this project (stylua)
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation (lua annotations)

@CaetanoGenete CaetanoGenete mentioned this pull request Nov 6, 2025
@CaetanoGenete CaetanoGenete changed the title fix: removed 'autload' from rockspec build.copy_directories fix: removed 'autoload' from rockspec build.copy_directories Nov 6, 2025
@clason
Copy link
Contributor

clason commented Nov 6, 2025

The rockspec is not maintained and may be removed in the future. Meanwhile, simple fixes such as this are appreciated.

@clason clason enabled auto-merge (squash) November 6, 2025 09:20
@clason clason merged commit 7fb51c8 into nvim-telescope:master Nov 6, 2025
12 checks passed
@teto
Copy link

teto commented Nov 13, 2025

The telescope rockspec is a popular one with with 90k downloads https://luarocks.org/modules/conni2461/telescope.nvim . telescope is a popular dependency and publishing it on luarocks allows other packages to refer to it, simplifying neovim setups for many.
I hope we can keep it. If it's replaced with packspec, maybe https://github.com/nvim-neorocks/nurr can convert it automatically into rockspec.

@clason
Copy link
Contributor

clason commented Nov 13, 2025

Lifetime, or recent?

@clason
Copy link
Contributor

clason commented Nov 13, 2025

And the argument is maintenance cost, not number of users.

The sticking point is why plugin maintainers should be forced to also maintain what is essentially a distro package (they don't use).

So I would appreciate it if the rockspec could be moved out of this repo and maintained be luarocks people.

@teto
Copy link

teto commented Nov 13, 2025

lifetime i think.

I believe neovim could be made much more accessible and powerful with some dependency resolution. Plugin maintainers offload that complexity to all users while going a little further (with rockspec, packspec) they could help users setup the plugin, which IMO removes maintainance related to "install" questions.
The plugin can also change its dependencies more easily since it's not offloaded to the user anymore.

E.g.

Plug 'nvim-lua/plenary.nvim'
Plug 'nvim-telescope/telescope.nvim', { 'tag': '0.1.9' }

becomes

Plug 'nvim-telescope/telescope.nvim', { 'tag': '0.1.9' }

regardless of dependencies.

If telescope maintainers dont want to deal with the burden, I believe there are solutions, which would be much more trustworthy if the project tags more releases so users can pin/update more easily, and the rockspec maintainer doesnt get pressured by breaking changes.

@mrcjkb
Copy link
Contributor

mrcjkb commented Nov 13, 2025

Most downloads (ca. 80k) are the scm rockspec - I assume because the 0.1.8 release (which has had 1.8k downloads, according to the luarocks counter) became quite outdated.

what is essentially a distro package

I don't think most of those downloads are from Nix users, as Nix caches the source on the first build in the nixpkgs CI and then fetches it from the nixpkgs cache.
It could be rocks.nvim users. But the number is likely inflated because of CI runs (i.e. plugins that depend on telescope.nvim and use luarocks + busted to run tests in CI).
It's hard to quantify...

So I would appreciate it if the rockspec could be moved out of this repo and maintained be luarocks people.

I personally don't think it makes sense to maintain the SCM rockspec in this repo, as it's a manual maintenance burden. Moving it to NURR sounds reasonable to me.
But it would be the shame if the automatic semver luarocks release workflow were removed.

@clason
Copy link
Contributor

clason commented Nov 13, 2025

@teto My personal goal is to remove the dependencies, period, so there is no need for a complex dependency chain maintenance, whether through rockspec or packspec or otherwise.

And, yes, a proper release process is in scope, and something I hope we can wrangle (if we don't shutter the plugin altogether, because that is a potential outcome if we decide we can't commit to the required maintenance burden.)

@mrcjkb
Copy link
Contributor

mrcjkb commented Nov 13, 2025

@Conni2461 if you remove the scm package from luarocks, I can add it to NURR.

@clason
Copy link
Contributor

clason commented Nov 13, 2025

No decision has been made yet, but the offer is noted (and appreciated).

@clason
Copy link
Contributor

clason commented Nov 13, 2025

(And to be clear: the question is not whether telescope will be on luarocks or not, but just where the required manifest for this will be hosted and maintained. Ideally this will be not done by people who don't use luarocks at all.)

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

Successfully merging this pull request may close these issues.

Invalid rockspec

4 participants