Unverified Commit adaa9f28 authored by Austin Horstman's avatar Austin Horstman Committed by GitHub
Browse files

neovim: expose runtimeDeps (#368950)

parents 8de75d12 3da0a55c
Loading
Loading
Loading
Loading
+27 −26
Original line number Diff line number Diff line
@@ -123,30 +123,19 @@ let

    wrapperArgsStr = if lib.isString wrapperArgs then wrapperArgs else lib.escapeShellArgs wrapperArgs;

    generatedWrapperArgs = let
      op = acc: normalizedPlugin: acc ++ normalizedPlugin.plugin.runtimeDeps or [];

      runtimeDeps = lib.foldl' op [] pluginsNormalized;

      binPath = lib.makeBinPath (
           lib.optional finalAttrs.withRuby rubyEnv
        ++ lib.optional finalAttrs.withNodeJs nodejs
        ++ lib.optionals finalAttrs.autowrapRuntimeDeps runtimeDeps
        );
    in

      # vim accepts a limited number of commands so we join them all
    generatedWrapperArgs =
            [
              # vim accepts a limited number of commands so we join all the provider ones
              "--add-flags" ''--cmd "lua ${providerLuaRc}"''
            ]
          ++ lib.optionals (packpathDirs.myNeovimPackages.start != [] || packpathDirs.myNeovimPackages.opt != []) [
            ++ lib.optionals (finalAttrs.packpathDirs.myNeovimPackages.start != [] || finalAttrs.packpathDirs.myNeovimPackages.opt != []) [
              "--add-flags" ''--cmd "set packpath^=${finalPackdir}"''
              "--add-flags" ''--cmd "set rtp^=${finalPackdir}"''
            ]
            ++ lib.optionals finalAttrs.withRuby [
              "--set" "GEM_HOME" "${rubyEnv}/${rubyEnv.ruby.gemPath}"
          ] ++ lib.optionals (binPath != "") [
            "--suffix" "PATH" ":" binPath
            ] ++ lib.optionals (finalAttrs.runtimeDeps != []) [
              "--suffix" "PATH" ":" (lib.makeBinPath finalAttrs.runtimeDeps)
            ]
            ;

@@ -182,6 +171,18 @@ let
      inherit autoconfigure autowrapRuntimeDeps wrapRc providerLuaRc packpathDirs;
      inherit python3Env rubyEnv;
      inherit wrapperArgs generatedWrapperArgs;


      runtimeDeps = let
        op = acc: normalizedPlugin: acc ++ normalizedPlugin.plugin.runtimeDeps or [];
        runtimeDeps = lib.foldl' op [] pluginsNormalized;
      in
             lib.optional finalAttrs.withRuby rubyEnv
          ++ lib.optional finalAttrs.withNodeJs nodejs
          ++ lib.optionals finalAttrs.autowrapRuntimeDeps runtimeDeps
          ;


      luaRcContent = rcContent;
      # Remove the symlinks created by symlinkJoin which we need to perform
      # extra actions upon