From 8d69b4a264e0e562c8fd28e13cd20d672e18934f Mon Sep 17 00:00:00 2001 From: dish Date: Wed, 5 Nov 2025 16:49:11 -0500 Subject: [PATCH] coc-sqlfluff: migrate from nodePackages --- .../editors/vim/plugins/cocPlugins.nix | 6 ++ .../vim/plugins/nodePackagePlugins.nix | 1 - pkgs/by-name/co/coc-sqlfluff/package.nix | 71 +++++++++++++++++++ pkgs/development/node-packages/aliases.nix | 1 + .../node-packages/node-packages.json | 1 - .../node-packages/node-packages.nix | 21 ------ 6 files changed, 78 insertions(+), 23 deletions(-) create mode 100644 pkgs/by-name/co/coc-sqlfluff/package.nix diff --git a/pkgs/applications/editors/vim/plugins/cocPlugins.nix b/pkgs/applications/editors/vim/plugins/cocPlugins.nix index ed66d9d73186..41db68a0832a 100644 --- a/pkgs/applications/editors/vim/plugins/cocPlugins.nix +++ b/pkgs/applications/editors/vim/plugins/cocPlugins.nix @@ -29,6 +29,7 @@ coc-snippets, coc-solargraph, coc-spell-checker, + coc-sqlfluff, coc-toml, }: final: prev: { @@ -180,6 +181,11 @@ final: prev: { src = "${coc-spell-checker}/lib/node_modules/coc-spell-checker"; }; + coc-sqlfluff = buildVimPlugin { + inherit (coc-sqlfluff) pname version meta; + src = "${coc-sqlfluff}/lib/node_modules/coc-sqlfluff"; + }; + coc-toml = buildVimPlugin { pname = "coc-toml"; inherit (coc-toml) version meta; diff --git a/pkgs/applications/editors/vim/plugins/nodePackagePlugins.nix b/pkgs/applications/editors/vim/plugins/nodePackagePlugins.nix index 1a6b0c4aeda7..6a44165b7e19 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-sqlfluff" "coc-stylelint" "coc-sumneko-lua" "coc-tabnine" diff --git a/pkgs/by-name/co/coc-sqlfluff/package.nix b/pkgs/by-name/co/coc-sqlfluff/package.nix new file mode 100644 index 000000000000..278987f8446a --- /dev/null +++ b/pkgs/by-name/co/coc-sqlfluff/package.nix @@ -0,0 +1,71 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, + fetchYarnDeps, + yarnConfigHook, + yarnBuildHook, + yarnInstallHook, + nodejs, + nix-update-script, + esbuild, + buildGoModule, +}: +let + esbuild' = + let + version = "0.16.17"; + in + esbuild.override { + buildGoModule = + args: + buildGoModule ( + args + // { + inherit version; + src = fetchFromGitHub { + owner = "evanw"; + repo = "esbuild"; + rev = "v${version}"; + hash = "sha256-8L8h0FaexNsb3Mj6/ohA37nYLFogo5wXkAhGztGUUsQ="; + }; + vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ="; + } + ); + }; +in +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "coc-sqlfluff"; + version = "0.11.4"; + + src = fetchFromGitHub { + owner = "yaegassy"; + repo = "coc-sqlfluff"; + tag = "v${finalAttrs.version}"; + hash = "sha256-hTe0rtjIKdlPSvwcHI2m0sRkVfmW8eQ/63WLmPsiovI="; + }; + + yarnOfflineCache = fetchYarnDeps { + inherit (finalAttrs) src; + hash = "sha256-Pz7OCAiPIMVCAYe9OGWKMLfGSwK8ulA/JW55eB8xJqw="; + }; + + nativeBuildInputs = [ + yarnConfigHook + yarnBuildHook + yarnInstallHook + nodejs + esbuild' + ]; + + env.ESBUILD_BINARY_PATH = lib.getExe esbuild'; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "SQLFluff extension for coc.nvim"; + homepage = "https://github.com/yaegassy/coc-sqlfluff"; + 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 19efdeff046e..68c260f53c48 100644 --- a/pkgs/development/node-packages/aliases.nix +++ b/pkgs/development/node-packages/aliases.nix @@ -103,6 +103,7 @@ mapAliases { inherit (pkgs) coc-snippets; # Added 2025-11-05 inherit (pkgs) coc-solargraph; # Added 2025-11-05 inherit (pkgs) coc-spell-checker; # added 2025-10-01 + inherit (pkgs) coc-sqlfluff; # Added 2025-11-05 inherit (pkgs) coc-toml; coc-tslint = throw "coc-tslint was removed because it was deprecated upstream; coc-eslint offers comparable features for eslint, which replaced tslint"; # Added 2024-10-18 coc-tslint-plugin = throw "coc-tslint-plugin was removed because it was deprecated upstream; coc-eslint offers comparable features for eslint, which replaced tslint"; # Added 2024-10-18 diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json index d2b8bbd537c3..3195fe821144 100644 --- a/pkgs/development/node-packages/node-packages.json +++ b/pkgs/development/node-packages/node-packages.json @@ -25,7 +25,6 @@ , "coc-ltex" , "coc-stylelint" , "coc-sumneko-lua" -, "coc-sqlfluff" , "coc-tabnine" , "coc-texlab" , "coc-tsserver" diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix index 96997488c015..f3e39411ada5 100644 --- a/pkgs/development/node-packages/node-packages.nix +++ b/pkgs/development/node-packages/node-packages.nix @@ -38047,27 +38047,6 @@ in bypassCache = true; reconstructLock = true; }; - coc-sqlfluff = nodeEnv.buildNodePackage { - name = "coc-sqlfluff"; - packageName = "coc-sqlfluff"; - version = "0.11.4"; - src = fetchurl { - url = "https://registry.npmjs.org/coc-sqlfluff/-/coc-sqlfluff-0.11.4.tgz"; - sha512 = "0yKAPkIKoLJWksPefWXVvRcRQ+Ja3kc2Bx/tKL4tQwEOlAwc5qeUU+1FZRw+71Jp8HeC5Wo9YqtlgSIJlyic3g=="; - }; - dependencies = [ - sources."semver-7.7.1" - ]; - buildInputs = globalBuildInputs; - meta = { - description = "SQLFluff (A SQL linter and auto-formatter for Humans) extension for coc.nvim"; - homepage = "https://github.com/yaegassy/coc-sqlfluff#readme"; - license = "MIT"; - }; - production = true; - bypassCache = true; - reconstructLock = true; - }; coc-tabnine = nodeEnv.buildNodePackage { name = "coc-tabnine"; packageName = "coc-tabnine";