summary refs log tree commit diff
path: root/pkgs/development/beam-modules/erlang-ls
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-08-04 10:43:07 +0000
committerAlyssa Ross <hi@alyssa.is>2021-08-04 10:43:07 +0000
commit62614cbef7da005c1eda8c9400160f6bcd6546b8 (patch)
treec2630f69080637987b68acb1ee8676d2681fe304 /pkgs/development/beam-modules/erlang-ls
parentd9c82ed3044c72cecf01c6ea042489d30914577c (diff)
parente24069138dfec3ef94f211f1da005bb5395adc11 (diff)
downloadnixpkgs-62614cbef7da005c1eda8c9400160f6bcd6546b8.tar
nixpkgs-62614cbef7da005c1eda8c9400160f6bcd6546b8.tar.gz
nixpkgs-62614cbef7da005c1eda8c9400160f6bcd6546b8.tar.bz2
nixpkgs-62614cbef7da005c1eda8c9400160f6bcd6546b8.tar.lz
nixpkgs-62614cbef7da005c1eda8c9400160f6bcd6546b8.tar.xz
nixpkgs-62614cbef7da005c1eda8c9400160f6bcd6546b8.tar.zst
nixpkgs-62614cbef7da005c1eda8c9400160f6bcd6546b8.zip
Merge branch 'nixpkgs-update' into master
Diffstat (limited to 'pkgs/development/beam-modules/erlang-ls')
-rw-r--r--pkgs/development/beam-modules/erlang-ls/default.nix47
-rw-r--r--pkgs/development/beam-modules/erlang-ls/rebar-deps.nix219
2 files changed, 266 insertions, 0 deletions
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..7635e46237b
--- /dev/null
+++ b/pkgs/development/beam-modules/erlang-ls/default.nix
@@ -0,0 +1,47 @@
+{ fetchFromGitHub, fetchHex, rebar3Relx, buildRebar3, rebar3-proper, lib }:
+let
+  version = "0.17.0";
+  owner = "erlang-ls";
+  repo = "erlang_ls";
+  deps = import ./rebar-deps.nix {
+    inherit fetchHex fetchFromGitHub;
+    builder = buildRebar3;
+    overrides = (self: super: {
+      proper = super.proper.overrideAttrs (_: {
+        configurePhase = "true";
+      });
+    });
+  };
+in
+rebar3Relx {
+  pname = "erlang-ls";
+  inherit version;
+  src = fetchFromGitHub {
+    inherit owner repo;
+    sha256 = "0szg9hx436cvy80sh94dzmf2rainnw3fjc84bv3hlzjwwzmxj9aw";
+    rev = version;
+  };
+  releaseType = "escript";
+  beamDeps = builtins.attrValues deps;
+  buildPlugins = [ rebar3-proper ];
+  buildPhase = "HOME=. make";
+  # based on https://github.com/erlang-ls/erlang_ls/blob/main/.github/workflows/build.yml
+  # these tests are excessively long and we should probably skip them
+  checkPhase = ''
+    HOME=. epmd -daemon
+    HOME=. rebar3 ct
+    HOME=. rebar3 proper --constraint_tries 100
+  '';
+  doCheck = true;
+  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..5d55ce0c523
--- /dev/null
+++ b/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix
@@ -0,0 +1,219 @@
+# Generated by rebar3_nix
+let fetchOnly = { src, ... }: src;
+in { builder ? fetchOnly, fetchHex, fetchFromGitHub, overrides ? (x: y: { }) }:
+let
+  self = packages // (overrides self packages);
+  packages = with self; {
+    getopt = builder {
+      name = "getopt";
+      version = "1.0.1";
+      src = fetchHex {
+        pkg = "getopt";
+        version = "1.0.1";
+        sha256 = "sha256-U+Grg7nOtlyWctPno1uAkum9ybPugHIUcaFhwQxZlZw=";
+      };
+      beamDeps = [ ];
+    };
+    zipper = builder {
+      name = "zipper";
+      version = "1.0.1";
+      src = fetchHex {
+        pkg = "zipper";
+        version = "1.0.1";
+        sha256 = "sha256-ah/T4fDMHR31ZCyaDOIXgDZBGwpclkKFHR2idr1zfC0=";
+      };
+      beamDeps = [ ];
+    };
+    quickrand = builder {
+      name = "quickrand";
+      version = "2.0.1";
+      src = fetchHex {
+        pkg = "quickrand";
+        version = "2.0.1";
+        sha256 = "sha256-FNtn1K72uIFYEOyfPM714yS3O1bK42h/mddSuFvdTJY=";
+      };
+      beamDeps = [ ];
+    };
+    providers = builder {
+      name = "providers";
+      version = "1.8.1";
+      src = fetchHex {
+        pkg = "providers";
+        version = "1.8.1";
+        sha256 = "sha256-5FdFrenEdqmkaeoIQOQYqxk2DcRPAaIzME4RikRIa6A=";
+      };
+      beamDeps = [ getopt ];
+    };
+    katana_code = builder {
+      name = "katana_code";
+      version = "0.2.1";
+      src = fetchHex {
+        pkg = "katana_code";
+        version = "0.2.1";
+        sha256 = "sha256-hEitP1bZgU+YoovmUPcZG91QZXXjRcwW1YZmCxD26ZI=";
+      };
+      beamDeps = [ ];
+    };
+    bucs = builder {
+      name = "bucs";
+      version = "1.0.16";
+      src = fetchHex {
+        pkg = "bucs";
+        version = "1.0.16";
+        sha256 = "sha256-/2pccqUArXrsHuO6FkrjxFDq3uiYsNFR4frKGKyNDWI=";
+      };
+      beamDeps = [ ];
+    };
+    yamerl = builder {
+      name = "yamerl";
+      version = "0.8.1";
+      src = fetchHex {
+        pkg = "yamerl";
+        version = "0.8.1";
+        sha256 = "sha256-lssw+dZDRP7Q74qS6fFvIH3mwE3/9PNmdSynn1vOsj8=";
+      };
+      beamDeps = [ ];
+    };
+    uuid = builder {
+      name = "uuid";
+      version = "2.0.1";
+      src = fetchHex {
+        pkg = "uuid_erl";
+        version = "2.0.1";
+        sha256 = "sha256-q1fKzNUfFwAR5fREzoZfhLQWBeSDqe/MRowa+uyHVTs=";
+      };
+      beamDeps = [ quickrand ];
+    };
+    tdiff = builder {
+      name = "tdiff";
+      version = "0.1.2";
+      src = fetchHex {
+        pkg = "tdiff";
+        version = "0.1.2";
+        sha256 = "sha256-4MLhaPmSUqWIl2jVyPHmUQoYRZLUz6BrIneKGNM9eHU=";
+      };
+      beamDeps = [ ];
+    };
+    redbug = builder {
+      name = "redbug";
+      version = "2.0.6";
+      src = fetchHex {
+        pkg = "redbug";
+        version = "2.0.6";
+        sha256 = "sha256-qtlJhnH0q5HqylCZ/oWmFhgVimNuYoaJLE989K8XHQQ=";
+      };
+      beamDeps = [ ];
+    };
+    rebar3_format = builder {
+      name = "rebar3_format";
+      version = "0.8.2";
+      src = fetchHex {
+        pkg = "rebar3_format";
+        version = "0.8.2";
+        sha256 = "sha256-yo/ydjjCFpWT0USdrL6IlWNBk+0zNOkGtU/JfwgfUhM=";
+      };
+      beamDeps = [ katana_code ];
+    };
+    ranch = builder {
+      name = "ranch";
+      version = "2.0.0";
+      src = fetchHex {
+        pkg = "ranch";
+        version = "2.0.0";
+        sha256 = "sha256-wgpIQMfWYjwZgS06fIKLLxvRU+8PEky2nFT+UdikKuA=";
+      };
+      beamDeps = [ ];
+    };
+    jsx = builder {
+      name = "jsx";
+      version = "3.0.0";
+      src = fetchHex {
+        pkg = "jsx";
+        version = "3.0.0";
+        sha256 = "sha256-N77KBDX1yoovRfdqRiEedkGPvvgMNvA2HCSfx1BZ3G0=";
+      };
+      beamDeps = [ ];
+    };
+    erlfmt = builder {
+      name = "erlfmt";
+      version = "git";
+      src = fetchFromGitHub {
+        owner = "whatsapp";
+        repo = "erlfmt";
+        rev = "2e93fc4a646111357642b0179a2a63151868d890";
+        sha256 = "0n7kygycn05aqdp5dyj192mja89l4nxv2wg16qg2c0bmw9s7j2mr";
+      };
+      beamDeps = [ ];
+    };
+    ephemeral = builder {
+      name = "ephemeral";
+      version = "2.0.4";
+      src = fetchHex {
+        pkg = "ephemeral";
+        version = "2.0.4";
+        sha256 = "sha256-Syk9gPdfnEV1/0ucjoiaVoAvQLAYv1fnTxlkTv7myFA=";
+      };
+      beamDeps = [ bucs ];
+    };
+    elvis_core = builder {
+      name = "elvis_core";
+      version = "1.1.1";
+      src = fetchHex {
+        pkg = "elvis_core";
+        version = "1.1.1";
+        sha256 = "sha256-ORyVuqSfJxjX+0mLzwgEbd/CAs8Kq2Oy5DknFIXJ3EI=";
+      };
+      beamDeps = [ katana_code zipper ];
+    };
+    docsh = builder {
+      name = "docsh";
+      version = "0.7.2";
+      src = fetchHex {
+        pkg = "docsh";
+        version = "0.7.2";
+        sha256 = "sha256-Tn20YbsHVA0rw9NmuFE/AZdxLQSVu4V0TzZ9OBUHYTQ=";
+      };
+      beamDeps = [ providers ];
+    };
+    proper_contrib = builder {
+      name = "proper_contrib";
+      version = "0.2.0";
+      src = fetchHex {
+        pkg = "proper_contrib";
+        version = "0.2.0";
+        sha256 = "sha256-jFRRL1zr9JKaG1eqMDfcKk2xe93uOrXUenB14icVCBU=";
+      };
+      beamDeps = [ proper ];
+    };
+    proper = builder {
+      name = "proper";
+      version = "1.3.0";
+      src = fetchHex {
+        pkg = "proper";
+        version = "1.3.0";
+        sha256 = "sha256-SqGS/M3dA/2+UP72IL6dTS+SY1tU9V+4OuwYWZRAPLw=";
+      };
+      beamDeps = [ ];
+    };
+    meck = builder {
+      name = "meck";
+      version = "0.9.0";
+      src = fetchHex {
+        pkg = "meck";
+        version = "0.9.0";
+        sha256 = "sha256-+BPpDdC4myUWoCAaNV6EsavHi1dRqgy/ZpqdhagQrGM=";
+      };
+      beamDeps = [ ];
+    };
+    coveralls = builder {
+      name = "coveralls";
+      version = "2.2.0";
+      src = fetchHex {
+        pkg = "coveralls";
+        version = "2.2.0";
+        sha256 = "sha256-zVTbCqjGS1OSgBicVhns7hOkaiiw8ct3RUTdzBZiBKM=";
+      };
+      beamDeps = [ jsx ];
+    };
+  };
+in self