about summary refs log tree commit diff
path: root/pkgs/by-name/ni
diff options
context:
space:
mode:
authorEmery Hemingway <ehmry@posteo.net>2023-11-20 18:10:30 +0200
committerEmery Hemingway <ehmry@posteo.net>2023-11-28 16:48:10 +0200
commit6240432c4490fe941f65947930056dd4e011300b (patch)
tree54735864b65efa719ae7fb10813f9d0f53f758d8 /pkgs/by-name/ni
parent862b90618926848cc04b4d0061f0a45f1a237592 (diff)
downloadnixlib-6240432c4490fe941f65947930056dd4e011300b.tar
nixlib-6240432c4490fe941f65947930056dd4e011300b.tar.gz
nixlib-6240432c4490fe941f65947930056dd4e011300b.tar.bz2
nixlib-6240432c4490fe941f65947930056dd4e011300b.tar.lz
nixlib-6240432c4490fe941f65947930056dd4e011300b.tar.xz
nixlib-6240432c4490fe941f65947930056dd4e011300b.tar.zst
nixlib-6240432c4490fe941f65947930056dd4e011300b.zip
nimlsp: build with lockfile
Diffstat (limited to 'pkgs/by-name/ni')
-rw-r--r--pkgs/by-name/ni/nimlsp/lock.json40
-rw-r--r--pkgs/by-name/ni/nimlsp/package.nix46
2 files changed, 86 insertions, 0 deletions
diff --git a/pkgs/by-name/ni/nimlsp/lock.json b/pkgs/by-name/ni/nimlsp/lock.json
new file mode 100644
index 000000000000..ae1aea4af6dc
--- /dev/null
+++ b/pkgs/by-name/ni/nimlsp/lock.json
@@ -0,0 +1,40 @@
+{
+  "depends": [
+    {
+      "method": "fetchzip",
+      "packages": [
+        "ast_pattern_matching"
+      ],
+      "path": "/nix/store/b4rlaqmh5cm1yk62w8ij05swgdc9n5xq-source",
+      "ref": "master",
+      "rev": "eb8b99d595517fd5d41ccc954edb896267f2db78",
+      "sha256": "13l1qracvcyykjkmgl6zla960yayj1ka6y983wxp6z8fpwb25wn0",
+      "srcDir": "src",
+      "url": "https://github.com/nim-lang/ast-pattern-matching/archive/eb8b99d595517fd5d41ccc954edb896267f2db78.tar.gz"
+    },
+    {
+      "method": "fetchzip",
+      "packages": [
+        "asynctools"
+      ],
+      "path": "/nix/store/7hkns6lb477pnpyzkj2cq8q10shbshwn-source",
+      "ref": "master",
+      "rev": "a1a17d06713727d97810cad291e29dd7c672738f",
+      "sha256": "160h0k26f7xd5fbblc2l29d19ndgixb3aand3j5adrdbkkqhlgz0",
+      "srcDir": "",
+      "url": "https://github.com/cheatfate/asynctools/archive/a1a17d06713727d97810cad291e29dd7c672738f.tar.gz"
+    },
+    {
+      "method": "fetchzip",
+      "packages": [
+        "jsonschema"
+      ],
+      "path": "/nix/store/f9yjcyrvkz9rk1871377hkzlv9rq1x3b-source",
+      "ref": "packedjson",
+      "rev": "40208614ea3758e05ea39ab090de258046f99cb3",
+      "sha256": "12rli1qsx3hsldbs08qphcajh3nbv7hbclsygjacmxxc8im1y5m0",
+      "srcDir": "src",
+      "url": "https://github.com/PMunch/jsonschema/archive/40208614ea3758e05ea39ab090de258046f99cb3.tar.gz"
+    }
+  ]
+}
diff --git a/pkgs/by-name/ni/nimlsp/package.nix b/pkgs/by-name/ni/nimlsp/package.nix
new file mode 100644
index 000000000000..589e08290d58
--- /dev/null
+++ b/pkgs/by-name/ni/nimlsp/package.nix
@@ -0,0 +1,46 @@
+{ lib, buildNimPackage, fetchFromGitHub, srcOnly, nim-unwrapped-1 }:
+
+buildNimPackage (finalAttrs: {
+  pname = "nimlsp";
+  version = "0.4.4";
+
+  requiredNimVersion = 1;
+
+  src = fetchFromGitHub {
+    owner = "PMunch";
+    repo = "nimlsp";
+    rev = "v${finalAttrs.version}";
+    sha256 = "sha256-Z67iKlL+dnRbxdFt/n/fsUcb2wpZwzPpL/G29jfCaMY=";
+  };
+
+  lockFile = ./lock.json;
+
+  buildInputs =
+    let
+      # Needs this specific version to build.
+      jsonSchemaSrc = fetchFromGitHub {
+        owner = "PMunch";
+        repo = "jsonschema";
+        rev = "7b41c03e3e1a487d5a8f6b940ca8e764dc2cbabf";
+        sha256 = "1js64jqd854yjladxvnylij4rsz7212k31ks541pqrdzm6hpblbz";
+      };
+    in
+    [ jsonSchemaSrc ];
+
+  nimFlags = [
+    "--threads:on"
+    "-d:explicitSourcePath=${srcOnly nim-unwrapped-1}"
+    "-d:tempDir=/tmp"
+  ];
+
+  nimDefines = [ "nimcore" "nimsuggest" "debugCommunication" "debugLogging" ];
+
+  doCheck = false;
+
+  meta = {
+    description = "Language Server Protocol implementation for Nim";
+    homepage = "https://github.com/PMunch/nimlsp";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.marsam ];
+  };
+})