From 8d8538bdc19c0c02104f1eb23410957b301d52b8 Mon Sep 17 00:00:00 2001 From: dish Date: Wed, 5 Nov 2025 16:44:19 -0500 Subject: [PATCH] coc-r-lsp: migrate from nodePackages --- .../editors/vim/plugins/cocPlugins.nix | 6 +++ .../vim/plugins/nodePackagePlugins.nix | 1 - pkgs/by-name/co/coc-r-lsp/package.nix | 45 +++++++++++++++++++ pkgs/development/node-packages/aliases.nix | 1 + .../node-packages/node-packages.json | 1 - .../node-packages/node-packages.nix | 41 ----------------- 6 files changed, 52 insertions(+), 43 deletions(-) create mode 100644 pkgs/by-name/co/coc-r-lsp/package.nix diff --git a/pkgs/applications/editors/vim/plugins/cocPlugins.nix b/pkgs/applications/editors/vim/plugins/cocPlugins.nix index 6f97d234a45e..96a0d3668fda 100644 --- a/pkgs/applications/editors/vim/plugins/cocPlugins.nix +++ b/pkgs/applications/editors/vim/plugins/cocPlugins.nix @@ -22,6 +22,7 @@ coc-pairs, coc-prettier, coc-pyright, + coc-r-lsp, coc-sh, coc-spell-checker, coc-toml, @@ -138,6 +139,11 @@ final: prev: { src = "${coc-pyright}/lib/node_modules/coc-pyright"; }; + coc-r-lsp = buildVimPlugin { + inherit (coc-r-lsp) pname version meta; + src = "${coc-r-lsp}/lib/node_modules/coc-r-lsp"; + }; + coc-sh = buildVimPlugin { pname = "coc-sh"; inherit (coc-sh) version meta; diff --git a/pkgs/applications/editors/vim/plugins/nodePackagePlugins.nix b/pkgs/applications/editors/vim/plugins/nodePackagePlugins.nix index eaf61edc4852..0f06c534971b 100644 --- a/pkgs/applications/editors/vim/plugins/nodePackagePlugins.nix +++ b/pkgs/applications/editors/vim/plugins/nodePackagePlugins.nix @@ -8,7 +8,6 @@ let nodePackageNames = [ "coc-go" "coc-ltex" - "coc-r-lsp" "coc-rust-analyzer" "coc-smartf" "coc-snippets" diff --git a/pkgs/by-name/co/coc-r-lsp/package.nix b/pkgs/by-name/co/coc-r-lsp/package.nix new file mode 100644 index 000000000000..af8c885ff0ac --- /dev/null +++ b/pkgs/by-name/co/coc-r-lsp/package.nix @@ -0,0 +1,45 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, + fetchYarnDeps, + yarnConfigHook, + yarnBuildHook, + yarnInstallHook, + nodejs, + nix-update-script, +}: +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "coc-r-lsp"; + version = "1.2.1"; + + src = fetchFromGitHub { + owner = "neoclide"; + repo = "coc-r-lsp"; + tag = finalAttrs.version; + hash = "sha256-pjxnNzWOqlVWNNvEF9Yx1aQa4i3BpJoenuGQmY/k1QA="; + }; + + yarnOfflineCache = fetchYarnDeps { + inherit (finalAttrs) src; + hash = "sha256-BUg1ZhJn3pF2cQB6b1Fe0jsd9gi2ZyMhCt7SXtjvY54="; + }; + + nativeBuildInputs = [ + yarnConfigHook + yarnBuildHook + yarnInstallHook + nodejs + ]; + + NODE_OPTIONS = "--openssl-legacy-provider"; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "R LSP client for coc.nvim"; + homepage = "https://github.com/neoclide/coc-r-lsp"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ pyrox0 ]; + }; +}) diff --git a/pkgs/development/node-packages/aliases.nix b/pkgs/development/node-packages/aliases.nix index 5912ce1b158d..443b606592bd 100644 --- a/pkgs/development/node-packages/aliases.nix +++ b/pkgs/development/node-packages/aliases.nix @@ -95,6 +95,7 @@ mapAliases { inherit (pkgs) coc-prettier; # added 2025-11-05 inherit (pkgs) coc-pyright; # added 2024-07-14 coc-python = throw "coc-python was removed because it was abandoned upstream on 2020-12-24. Upstream now recommends using coc-pyright or coc-jedi instead."; # added 2024-10-15 + inherit (pkgs) coc-r-lsp; # added 2025-11-05 coc-rls = throw "coc-rls was removed because rls was deprecated in 2022. You should use coc-rust-analyzer instead, as rust-analyzer is maintained."; # added 2025-10-01 inherit (pkgs) coc-sh; # added 2025-10-02 inherit (pkgs) coc-spell-checker; # added 2025-10-01 diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json index 836422e69316..c5a7326a4943 100644 --- a/pkgs/development/node-packages/node-packages.json +++ b/pkgs/development/node-packages/node-packages.json @@ -23,7 +23,6 @@ , "clipboard-cli" , "coc-go" , "coc-ltex" -, "coc-r-lsp" , "coc-rust-analyzer" , "coc-smartf" , "coc-snippets" diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix index 43d47b8e11c4..4c6316b03fdd 100644 --- a/pkgs/development/node-packages/node-packages.nix +++ b/pkgs/development/node-packages/node-packages.nix @@ -32525,15 +32525,6 @@ let sha512 = "6TDy/abTQk+zDGYazgbIPc+4JoXdwC8NHU9Pbn4UJP1fehUyZmM4RHp5IthX7A6L5KS30PRui+j+tbbMMMafdw=="; }; }; - "vscode-jsonrpc-8.2.0" = { - name = "vscode-jsonrpc"; - packageName = "vscode-jsonrpc"; - version = "8.2.0"; - src = fetchurl { - url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz"; - sha512 = "C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA=="; - }; - }; "vscode-jsonrpc-8.2.1" = { name = "vscode-jsonrpc"; packageName = "vscode-jsonrpc"; @@ -32597,15 +32588,6 @@ let sha512 = "924/h0AqsMtA5yK22GgMtCYiMdCOtWTSGgUOkgEDX+wk2b0x4sAfLiO4NxBxqbiVtz7K7/1/RgVrVI0NClZwqA=="; }; }; - "vscode-languageserver-protocol-3.17.5" = { - name = "vscode-languageserver-protocol"; - packageName = "vscode-languageserver-protocol"; - version = "3.17.5"; - src = fetchurl { - url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz"; - sha512 = "mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg=="; - }; - }; "vscode-languageserver-textdocument-1.0.11" = { name = "vscode-languageserver-textdocument"; packageName = "vscode-languageserver-textdocument"; @@ -37677,29 +37659,6 @@ in bypassCache = true; reconstructLock = true; }; - coc-r-lsp = nodeEnv.buildNodePackage { - name = "coc-r-lsp"; - packageName = "coc-r-lsp"; - version = "1.2.1"; - src = fetchurl { - url = "https://registry.npmjs.org/coc-r-lsp/-/coc-r-lsp-1.2.1.tgz"; - sha512 = "SOsCwIuQeE4eiX/Scgs2nL1WnR0JwFZ2/Edh3dx5ijmZSlEPxdc0PnMUN0hT9y96jK5/ZHAByC3qEperpWqPUA=="; - }; - dependencies = [ - sources."vscode-jsonrpc-8.2.0" - sources."vscode-languageserver-protocol-3.17.5" - sources."vscode-languageserver-textdocument-1.0.12" - sources."vscode-languageserver-types-3.17.5" - ]; - buildInputs = globalBuildInputs; - meta = { - description = "R language server extension for coc.nvim"; - license = "MIT"; - }; - production = true; - bypassCache = true; - reconstructLock = true; - }; coc-rust-analyzer = nodeEnv.buildNodePackage { name = "coc-rust-analyzer"; packageName = "coc-rust-analyzer";