about summary refs log tree commit diff
path: root/pkgs/by-name/vi/vim-language-server/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/vi/vim-language-server/package.nix')
-rw-r--r--pkgs/by-name/vi/vim-language-server/package.nix35
1 files changed, 19 insertions, 16 deletions
diff --git a/pkgs/by-name/vi/vim-language-server/package.nix b/pkgs/by-name/vi/vim-language-server/package.nix
index 5e085d0f6d717..3d60dd1ca5fbe 100644
--- a/pkgs/by-name/vi/vim-language-server/package.nix
+++ b/pkgs/by-name/vi/vim-language-server/package.nix
@@ -1,38 +1,41 @@
 { lib
-, mkYarnPackage
+, stdenv
 , fetchFromGitHub
 , fetchYarnDeps
+, yarnConfigHook
+, yarnBuildHook
+, nodejs
+, npmHooks
 }:
 
-mkYarnPackage rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "vim-language-server";
   version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "iamcco";
     repo = "vim-language-server";
-    rev = "v${version}";
+    rev = "v${finalAttrs.version}";
     hash = "sha256-NfBKNCTvCMIJrSiTlCG+LtVoMBMdCc3rzpDb9Vp2CGM=";
   };
 
-  packageJSON = ./package.json;
   offlineCache = fetchYarnDeps {
-    yarnLock = src + "/yarn.lock";
+    yarnLock = finalAttrs.src + "/yarn.lock";
     hash = "sha256-mo8urQaWIHu33+r0Y7mL9mJ/aSe/5CihuIetTeDHEUQ=";
   };
 
-  buildPhase = ''
-    runHook preBuild
-
-    export HOME=$(mktemp -d)
-    # https://stackoverflow.com/a/69699772/4935114
-    env NODE_OPTIONS=--openssl-legacy-provider yarn --offline build
-
-    runHook postBuild
+  nativeBuildInputs = [
+    yarnConfigHook
+    yarnBuildHook
+    # Needed for executing package.json scripts
+    nodejs
+    npmHooks.npmInstallHook
+  ];
+  # https://stackoverflow.com/a/69699772/4935114
+  preBuild = ''
+    export NODE_OPTIONS=--openssl-legacy-provider
   '';
 
-  doDist = false;
-
   meta = with lib; {
     description = "VImScript language server, LSP for vim script";
     homepage = "https://github.com/iamcco/vim-language-server";
@@ -40,4 +43,4 @@ mkYarnPackage rec {
     maintainers = with maintainers; [ doronbehar ];
     mainProgram = "vim-language-server";
   };
-}
+})