Repository navigation
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
|
|
|
|
02ad0f4 to
5d7ea01
Compare
|
I just rebased onto master which contains #545572 and should fix fff-nvim |
This comment was marked as outdated.
This comment was marked as outdated.
PerchunPak
left a comment
There was a problem hiding this comment.
vimPlugins.orgmode on native aarch64-linux builds fine
khaneliman
left a comment
There was a problem hiding this comment.
Tested on aarch64-darwin against 5d7ea01 to verify mechanism works, I dropped plenary-nvim from codecompanion-history-nvim's dependencies and it fails on 5d7ea01^, passes here.
While you're in there: run-nvim's plenary-nvim checkInput is commented # Issue: .../394939, but it's still needed after this PR, it's the transitive requiredLuaModules case you flagged as unfixed. Worth repointing that comment at #352742 before #394939 gets closed, or the next person deletes it.
neovim.section.md §neovimRequireCheck doesn't mention checkInputs or transitive deps at all, worth a line so these workarounds don't accumulate again.
5d7ea01 to
bd72767
Compare
|
Thanks for pointing that out, I didn't notice that I have linked to the correct issue for |
|
this is a cool feature thanks for looking into it. Right now I think it ignores pure lua dependencies (like penlight). |
|
|
@teto are you fine with merging this? |
bd72767 to
a5a94a9
Compare
|
Hey, sorry I was busy past few days. After @teto's comment, I tried fixing transitive The check environment now recursively resolves I also removed the Also slightly changed the wording in I tested this by removing the Plenary workarounds from |
This comment was marked as outdated.
This comment was marked as outdated.
|
I was looking to see if it could improve already existing |
2f63fa1 to
ecebabf
Compare
This comment was marked as outdated.
This comment was marked as outdated.
|
MB for the delay again. I have replaced the I added back a Removing Plenary workarounds from For checkPhase = ''
runHook preCheck
mkdir -p .testenv/data/nvim/site/pack
ln -s "$nvimRequireCheckPackPath/pack/plugins" .testenv/data/nvim/site/pack/plugins
bash run_tests.sh
rm -r .testenv
runHook postCheck
'';So after this PR, we won't need to link individual dependencies in |
khaneliman
left a comment
There was a problem hiding this comment.
Re-reviewed the rewritten packpath implementation at ecebabf. The new transitive loading mechanism works, but these two compatibility regressions are reproducible.
ecebabf to
7cf9251
Compare
7cf9251 to
54167f2
Compare
❌
|
|
I applied both suggestions |
| if [ -n "${nvimRequireCheckPackPath:-}" ]; then | ||
| dependencyPathArgs=(--cmd "set packpath^=$nvimRequireCheckPackPath") | ||
| dependencyLoadArgs=(--cmd "packloadall") | ||
| else |
There was a problem hiding this comment.
I think we can just keep one codepath for simplicity.
Aka we always create a nvimRequireCheckPackPath so we can get rid of the if and the else part.
khaneliman
left a comment
There was a problem hiding this comment.
Sorry, forgot about this one... LGTM overall, just this issue that can cause problems that we can avoid.
| nvimRequireCheckLuaPath = lib.optionalString (modules != [ ]) (lua.pkgs.getLuaPath luaEnv); | ||
| nvimRequireCheckLuaCPath = lib.optionalString (modules != [ ]) (lua.pkgs.getLuaCPath luaEnv); | ||
| nvimRequireCheckPackPath = neovimUtils.packDir { | ||
| plugins = vimPackageInfo.vimPackage; | ||
| }; |
There was a problem hiding this comment.
issue: keep check-only dependencies out of builds with doCheck = false
The new pack path and transitive Lua paths still reference checkInputs when checks are disabled, so a broken check-only plugin can now prevent evaluation. Guard all three attributes with finalAttrs.doCheck to preserve the disabled-check behavior.
| nvimRequireCheckLuaPath = lib.optionalString (modules != [ ]) (lua.pkgs.getLuaPath luaEnv); | |
| nvimRequireCheckLuaCPath = lib.optionalString (modules != [ ]) (lua.pkgs.getLuaCPath luaEnv); | |
| nvimRequireCheckPackPath = neovimUtils.packDir { | |
| plugins = vimPackageInfo.vimPackage; | |
| }; | |
| nvimRequireCheckLuaPath = lib.optionalString (finalAttrs.doCheck && modules != [ ]) (lua.pkgs.getLuaPath luaEnv); | |
| nvimRequireCheckLuaCPath = lib.optionalString (finalAttrs.doCheck && modules != [ ]) (lua.pkgs.getLuaCPath luaEnv); | |
| nvimRequireCheckPackPath = lib.optionalString finalAttrs.doCheck (neovimUtils.packDir { | |
| plugins = vimPackageInfo.vimPackage; | |
| }); |
|
sry we (I) made it harder than you probably anticipated but I think we are close. Address khaneli's comment #545516 (comment) and hopefully we can merge this for nixos 26.11 |
I was trying to cleanup
plenary-nvimdependencies and noticed alot of uses inoverrides.nixto workaround #394939.This PR adds transitive Vim plugin dependencies to the nvim require check environment.
Previously, only direct plugins in
dependenciesandcheckInputswere added to Nvim runtimepath during checks. If pluginAdepends on pluginB, which depends on pluginC, pluginCwill be missing from pluginA's check environment.The check environment now recursively finds runtime
dependenciesand filtered Vim plugins incheckInputs.I plan to remove the existing transitive dependency workarounds in e.g.
overrides.nixthat will no longer be needed in a follow up PR.Closes #394939, and resolves the plugin dependency portion of #352742 (transitive
requiredLuaModuleshandling remains unfixed)Things done
passthru.tests.nixpkgs-reviewon this PR. See nixpkgs-review usage../result/bin/.