summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorTimo Kaufmann <timokau@zoho.com>2018-12-31 11:45:41 +0100
committerGitHub <noreply@github.com>2018-12-31 11:45:41 +0100
commit42575040fc64c1f5560c1cd1d1fdf0fd5e5d4b49 (patch)
tree8ea86dd082c41ded9cd8568cf2875fca4080b682 /pkgs
parenta1aee1bd832cb708ccafefc38274b3aba7291919 (diff)
parentd9d9ac989ab8a6bf9a89f951857fa83f45956baa (diff)
downloadnixpkgs-42575040fc64c1f5560c1cd1d1fdf0fd5e5d4b49.tar
nixpkgs-42575040fc64c1f5560c1cd1d1fdf0fd5e5d4b49.tar.gz
nixpkgs-42575040fc64c1f5560c1cd1d1fdf0fd5e5d4b49.tar.bz2
nixpkgs-42575040fc64c1f5560c1cd1d1fdf0fd5e5d4b49.tar.lz
nixpkgs-42575040fc64c1f5560c1cd1d1fdf0fd5e5d4b49.tar.xz
nixpkgs-42575040fc64c1f5560c1cd1d1fdf0fd5e5d4b49.tar.zst
nixpkgs-42575040fc64c1f5560c1cd1d1fdf0fd5e5d4b49.zip
Merge pull request #53113 from timokau/neovim-requiredPlugins-fix
vimUtils: fix requiredPlugins
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/editors/neovim/default.nix3
-rw-r--r--pkgs/misc/vim-plugins/vim-utils.nix18
2 files changed, 15 insertions, 6 deletions
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
index 6690e4c9c1b..26fc44cc6b1 100644
--- a/pkgs/applications/editors/neovim/default.nix
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -86,6 +86,9 @@ let
       license = with licenses; [ asl20 vim ];
       maintainers = with maintainers; [ manveru garbas rvolosatovs ];
       platforms   = platforms.unix;
+      # `lua: bad light userdata pointer`
+      # https://nix-cache.s3.amazonaws.com/log/9ahcb52905d9d417zsskjpc331iailpq-neovim-unwrapped-0.2.2.drv
+      broken = stdenv.isAarch64;
     };
   };
 
diff --git a/pkgs/misc/vim-plugins/vim-utils.nix b/pkgs/misc/vim-plugins/vim-utils.nix
index 1d305cd5349..61e89521c8c 100644
--- a/pkgs/misc/vim-plugins/vim-utils.nix
+++ b/pkgs/misc/vim-plugins/vim-utils.nix
@@ -1,4 +1,4 @@
-{stdenv, vim, vimPlugins, vim_configurable, buildEnv, writeText, writeScriptBin
+{stdenv, vim, vimPlugins, vim_configurable, neovim, buildEnv, writeText, writeScriptBin
 , nix-prefetch-hg, nix-prefetch-git }:
 
 /*
@@ -407,6 +407,7 @@ rec {
 
   inherit (import ./build-vim-plugin.nix { inherit stdenv rtpPath vim; }) buildVimPlugin buildVimPluginFrom2Nix;
 
+  # used to figure out which python dependencies etc. neovim needs
   requiredPlugins = {
     packages ? {},
     givenKnownPlugins ? null,
@@ -420,11 +421,11 @@ rec {
                      if vam != null && vam ? knownPlugins then vam.knownPlugins else
                      if pathogen != null && pathogen ? knownPlugins then pathogen.knownPlugins else
                      vimPlugins;
-      pathogenNames = findDependenciesRecursively knownPlugins pathogen.pluginNames;
-      vamNames = findDependenciesRecursively knownPlugins (lib.concatMap vamDictToNames vam.pluginDictionaries);
-      names = (lib.optionals (pathogen != null) pathogenNames) ++
-              (lib.optionals (vam != null) vamNames);
-      nonNativePlugins = map (name: knownPlugins.${name}) names ++ (lib.optionals (plug != null) plug.plugins);
+      pathogenPlugins = findDependenciesRecursively knownPlugins pathogen.pluginNames;
+      vamPlugins = findDependenciesRecursively knownPlugins (lib.concatMap vamDictToNames vam.pluginDictionaries);
+      nonNativePlugins = (lib.optionals (pathogen != null) pathogenPlugins)
+                      ++ (lib.optionals (vam != null) vamPlugins)
+                      ++ (lib.optionals (plug != null) plug.plugins);
       nativePluginsConfigs = lib.attrsets.attrValues packages;
       nativePlugins = lib.concatMap ({start?[], opt?[], knownPlugins?vimPlugins}: start++opt) nativePluginsConfigs;
     in
@@ -451,4 +452,9 @@ rec {
     name = "vim-with-vim-addon-nix";
     vimrcConfig.packages.myVimPackage.start = with vimPlugins; [ vim-nix ];
   };
+
+  # only neovim makes use of `requiredPlugins`, test this here
+  test_nvim_with_vim_nix_using_pathogen = neovim.override {
+    configure.pathogen.pluginNames = [ "vim-nix" ];
+  };
 }