summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorDavid <dlesl@users.noreply.github.com>2021-05-11 23:33:58 +0200
committerRaphael Megzari <raphael@megzari.com>2021-05-13 08:54:43 +0900
commit32c14664e8d00c5739b86aa3a534895c1c67d7ba (patch)
treea96de4cd2a538da6901447766c1e60d8024916ba /pkgs
parent3d770c1aa563923be9c1dabc5b11963c0cb3f528 (diff)
downloadnixpkgs-32c14664e8d00c5739b86aa3a534895c1c67d7ba.tar
nixpkgs-32c14664e8d00c5739b86aa3a534895c1c67d7ba.tar.gz
nixpkgs-32c14664e8d00c5739b86aa3a534895c1c67d7ba.tar.bz2
nixpkgs-32c14664e8d00c5739b86aa3a534895c1c67d7ba.tar.lz
nixpkgs-32c14664e8d00c5739b86aa3a534895c1c67d7ba.tar.xz
nixpkgs-32c14664e8d00c5739b86aa3a534895c1c67d7ba.tar.zst
nixpkgs-32c14664e8d00c5739b86aa3a534895c1c67d7ba.zip
erlang-ls: init at 0.15.0
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/beam-modules/default.nix2
-rw-r--r--pkgs/development/beam-modules/erlang-ls/default.nix34
-rw-r--r--pkgs/development/beam-modules/erlang-ls/rebar-deps.nix90
-rw-r--r--pkgs/top-level/all-packages.nix1
4 files changed, 127 insertions, 0 deletions
diff --git a/pkgs/development/beam-modules/default.nix b/pkgs/development/beam-modules/default.nix
index 19b5c122d9e..f63ecd95083 100644
--- a/pkgs/development/beam-modules/default.nix
+++ b/pkgs/development/beam-modules/default.nix
@@ -35,6 +35,8 @@ let
       fetchMixDeps = callPackage ./fetch-mix-deps.nix { };
       mixRelease = callPackage ./mix-release.nix { };
 
+      erlang-ls = callPackage ./erlang-ls { };
+
       # BEAM-based languages.
       elixir = elixir_1_11;
 
diff --git a/pkgs/development/beam-modules/erlang-ls/default.nix b/pkgs/development/beam-modules/erlang-ls/default.nix
new file mode 100644
index 00000000000..3f2ae6e7e2f
--- /dev/null
+++ b/pkgs/development/beam-modules/erlang-ls/default.nix
@@ -0,0 +1,34 @@
+{ fetchFromGitHub, fetchHex, stdenv, rebar3WithPlugins, lib }:
+let
+  version = "0.15.0";
+  owner = "erlang-ls";
+  repo = "erlang_ls";
+  deps = import ./rebar-deps.nix { inherit fetchHex fetchFromGitHub; };
+in stdenv.mkDerivation {
+  inherit version;
+  pname = "erlang-ls";
+  buildInputs = [ (rebar3WithPlugins { }) ];
+  src = fetchFromGitHub {
+    inherit owner repo;
+    sha256 = "1s6zk8r5plm7ajifz17mvfrnk5mzbhj7alayink9phqbmzrypnfg";
+    rev = version;
+  };
+  buildPhase = ''
+    mkdir _checkouts
+    ${toString (lib.mapAttrsToList (k: v: ''
+      cp -R ${v} _checkouts/${k}
+    '') deps)}
+    make
+  '';
+  installPhase = ''
+    mkdir -p $out/bin
+    cp _build/default/bin/erlang_ls $out/bin/
+    cp _build/dap/bin/els_dap $out/bin/
+  '';
+  meta = with lib; {
+    homepage = "https://github.com/erlang-ls/erlang_ls";
+    description = "The Erlang Language Server";
+    platforms = platforms.unix;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix b/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix
new file mode 100644
index 00000000000..9de79e52be6
--- /dev/null
+++ b/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix
@@ -0,0 +1,90 @@
+# Generated by rebar3_nix
+{ fetchHex, fetchFromGitHub }:
+{
+  getopt = fetchHex {
+    pkg = "getopt";
+    version = "1.0.1";
+    sha256 = "sha256-U+Grg7nOtlyWctPno1uAkum9ybPugHIUcaFhwQxZlZw=";
+  };
+  zipper = fetchHex {
+    pkg = "zipper";
+    version = "1.0.1";
+    sha256 = "sha256-ah/T4fDMHR31ZCyaDOIXgDZBGwpclkKFHR2idr1zfC0=";
+  };
+  quickrand = fetchHex {
+    pkg = "quickrand";
+    version = "2.0.1";
+    sha256 = "sha256-FNtn1K72uIFYEOyfPM714yS3O1bK42h/mddSuFvdTJY=";
+  };
+  providers = fetchHex {
+    pkg = "providers";
+    version = "1.8.1";
+    sha256 = "sha256-5FdFrenEdqmkaeoIQOQYqxk2DcRPAaIzME4RikRIa6A=";
+  };
+  katana_code = fetchHex {
+    pkg = "katana_code";
+    version = "0.2.1";
+    sha256 = "sha256-hEitP1bZgU+YoovmUPcZG91QZXXjRcwW1YZmCxD26ZI=";
+  };
+  bucs = fetchHex {
+    pkg = "bucs";
+    version = "1.0.16";
+    sha256 = "sha256-/2pccqUArXrsHuO6FkrjxFDq3uiYsNFR4frKGKyNDWI=";
+  };
+  yamerl = fetchHex {
+    pkg = "yamerl";
+    version = "0.8.1";
+    sha256 = "sha256-lssw+dZDRP7Q74qS6fFvIH3mwE3/9PNmdSynn1vOsj8=";
+  };
+  uuid = fetchHex {
+    pkg = "uuid_erl";
+    version = "2.0.1";
+    sha256 = "sha256-q1fKzNUfFwAR5fREzoZfhLQWBeSDqe/MRowa+uyHVTs=";
+  };
+  tdiff = fetchHex {
+    pkg = "tdiff";
+    version = "0.1.2";
+    sha256 = "sha256-4MLhaPmSUqWIl2jVyPHmUQoYRZLUz6BrIneKGNM9eHU=";
+  };
+  redbug = fetchHex {
+    pkg = "redbug";
+    version = "2.0.6";
+    sha256 = "sha256-qtlJhnH0q5HqylCZ/oWmFhgVimNuYoaJLE989K8XHQQ=";
+  };
+  rebar3_format = fetchHex {
+    pkg = "rebar3_format";
+    version = "0.8.2";
+    sha256 = "sha256-yo/ydjjCFpWT0USdrL6IlWNBk+0zNOkGtU/JfwgfUhM=";
+  };
+  ranch = fetchHex {
+    pkg = "ranch";
+    version = "1.7.1";
+    sha256 = "sha256-RR2FJ3h99xbZncNhYvygWTSRXbC2FBu9rC6o08evx9c=";
+  };
+  jsx = fetchHex {
+    pkg = "jsx";
+    version = "3.0.0";
+    sha256 = "sha256-N77KBDX1yoovRfdqRiEedkGPvvgMNvA2HCSfx1BZ3G0=";
+  };
+  erlfmt = fetchFromGitHub {
+    owner = "whatsapp";
+    repo = "erlfmt";
+    rev = "2e93fc4a646111357642b0179a2a63151868d890";
+    sha256 = "0n7kygycn05aqdp5dyj192mja89l4nxv2wg16qg2c0bmw9s7j2mr";
+  };
+  ephemeral = fetchHex {
+    pkg = "ephemeral";
+    version = "2.0.4";
+    sha256 = "sha256-Syk9gPdfnEV1/0ucjoiaVoAvQLAYv1fnTxlkTv7myFA=";
+  };
+  elvis_core = fetchHex {
+    pkg = "elvis_core";
+    version = "1.1.1";
+    sha256 = "sha256-ORyVuqSfJxjX+0mLzwgEbd/CAs8Kq2Oy5DknFIXJ3EI=";
+  };
+  docsh = fetchHex {
+    pkg = "docsh";
+    version = "0.7.2";
+    sha256 = "sha256-Tn20YbsHVA0rw9NmuFE/AZdxLQSVu4V0TzZ9OBUHYTQ=";
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index eb7290c3bec..84b5f41d31d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -11880,6 +11880,7 @@ in
   erlang_nox = beam_nox.interpreters.erlang;
 
   inherit (beam.packages.erlang)
+    erlang-ls
     rebar rebar3 rebar3WithPlugins
     fetchHex beamPackages
     relxExe;