From 766671c7fd7aed868fbcc3d836e486735da892bb Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Thu, 2 Sep 2021 18:24:10 +0200 Subject: [PATCH] nimlsp: convert to buildNimPackage --- .../astpatternmatching/default.nix | 8 +++++ .../nim-packages/jsonschema/default.nix | 8 +++++ .../development/tools/misc/nimlsp/default.nix | 36 ++++++------------- pkgs/top-level/nim-packages.nix | 5 +++ 4 files changed, 31 insertions(+), 26 deletions(-) create mode 100644 pkgs/development/nim-packages/astpatternmatching/default.nix create mode 100644 pkgs/development/nim-packages/jsonschema/default.nix diff --git a/pkgs/development/nim-packages/astpatternmatching/default.nix b/pkgs/development/nim-packages/astpatternmatching/default.nix new file mode 100644 index 00000000000..6f1137ac704 --- /dev/null +++ b/pkgs/development/nim-packages/astpatternmatching/default.nix @@ -0,0 +1,8 @@ +{ fetchFromGitHub }: + +fetchFromGitHub { + owner = "krux02"; + repo = "ast-pattern-matching"; + rev = "87f7d163421af5a4f5e5cb6da7b93278e6897e96"; + sha256 = "19mb5bb6riia8380p5dpc3q0vwgrj958dd6p7vw8vkvwiqrzg6zq"; +} diff --git a/pkgs/development/nim-packages/jsonschema/default.nix b/pkgs/development/nim-packages/jsonschema/default.nix new file mode 100644 index 00000000000..8dc195b8b82 --- /dev/null +++ b/pkgs/development/nim-packages/jsonschema/default.nix @@ -0,0 +1,8 @@ +{ fetchFromGitHub }: + +fetchFromGitHub { + owner = "PMunch"; + repo = "jsonschema"; + rev = "7b41c03e3e1a487d5a8f6b940ca8e764dc2cbabf"; + sha256 = "1js64jqd854yjladxvnylij4rsz7212k31ks541pqrdzm6hpblbz"; +} diff --git a/pkgs/development/tools/misc/nimlsp/default.nix b/pkgs/development/tools/misc/nimlsp/default.nix index b1d59c9450a..0e837b8fd61 100644 --- a/pkgs/development/tools/misc/nimlsp/default.nix +++ b/pkgs/development/tools/misc/nimlsp/default.nix @@ -1,22 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, srcOnly, nim }: -let - astpatternmatching = fetchFromGitHub { - owner = "krux02"; - repo = "ast-pattern-matching"; - rev = "87f7d163421af5a4f5e5cb6da7b93278e6897e96"; - sha256 = "19mb5bb6riia8380p5dpc3q0vwgrj958dd6p7vw8vkvwiqrzg6zq"; - }; +{ lib, nimPackages, fetchFromGitHub, srcOnly, nim }: - jsonschema = fetchFromGitHub { - owner = "PMunch"; - repo = "jsonschema"; - rev = "7b41c03e3e1a487d5a8f6b940ca8e764dc2cbabf"; - sha256 = "1js64jqd854yjladxvnylij4rsz7212k31ks541pqrdzm6hpblbz"; - }; -in -stdenv.mkDerivation rec { +nimPackages.buildNimPackage rec { pname = "nimlsp"; version = "0.3.2"; + nimBinOnly = true; src = fetchFromGitHub { owner = "PMunch"; @@ -25,18 +12,15 @@ stdenv.mkDerivation rec { sha256 = "1lm823nvpp3bj9527jd8n1jxh6y8p8ngkfkj91p94m7ffai6jazq"; }; - nativeBuildInputs = [ nim ]; + buildInputs = with nimPackages; [ astpatternmatching jsonschema ]; - buildPhase = '' - export HOME=$TMPDIR - nim -d:release -p:${astpatternmatching}/src -p:${jsonschema}/src \ - c --threads:on -d:nimcore -d:nimsuggest -d:debugCommunication \ - -d:debugLogging -d:explicitSourcePath=${srcOnly nim.passthru.nim} -d:tempDir=/tmp src/nimlsp - ''; + nimFlags = [ + "--threads:on" + "-d:explicitSourcePath=${srcOnly nimPackages.nim.passthru.nim}" + "-d:tempDir=/tmp" + ]; - installPhase = '' - install -Dt $out/bin src/nimlsp - ''; + nimDefines = [ "nimcore" "nimsuggest" "debugCommunication" "debugLogging" ]; meta = with lib; { description = "Language Server Protocol implementation for Nim"; diff --git a/pkgs/top-level/nim-packages.nix b/pkgs/top-level/nim-packages.nix index eee7a6d0cfc..7e4d5a8987e 100644 --- a/pkgs/top-level/nim-packages.nix +++ b/pkgs/top-level/nim-packages.nix @@ -9,6 +9,9 @@ lib.makeScope newScope (self: callPackage ../development/nim-packages/build-nim-package { }; fetchNimble = callPackage ../development/nim-packages/fetch-nimble { }; + astpatternmatching = + callPackage ../development/nim-packages/astpatternmatching { }; + bumpy = callPackage ../development/nim-packages/bumpy { }; chroma = callPackage ../development/nim-packages/chroma { }; @@ -19,6 +22,8 @@ lib.makeScope newScope (self: jester = callPackage ../development/nim-packages/jester { }; + jsonschema = callPackage ../development/nim-packages/jsonschema { }; + karax = callPackage ../development/nim-packages/karax { }; markdown = callPackage ../development/nim-packages/markdown { };