Merge pull request #329823 from ExpidusOS/fix/pkgsllvm/elfutils
[NixPkgs.git] / pkgs / by-name / le / lexical / package.nix
blobd836b471cc8d25ecd8cf0528ceb0f78a272dd8a9
2   lib,
3   beamPackages,
4   fetchFromGitHub,
5   elixir,
6 }:
8 beamPackages.mixRelease rec {
9   pname = "lexical";
10   version = "0.6.1";
12   src = fetchFromGitHub {
13     owner = "lexical-lsp";
14     repo = "lexical";
15     rev = "refs/tags/v${version}";
16     hash = "sha256-gDiNjtYeEGoYoyoNmPh73EuYCvY36y9lUyLasbFrFgs=";
17   };
19   mixFodDeps = beamPackages.fetchMixDeps {
20     inherit pname version src;
22     hash = "sha256-xihxPfdLPr5jWFfcX2tccFUl7ND1mi9u8Dn28k6lGVA=";
23   };
25   installPhase = ''
26     runHook preInstall
28     mix do compile --no-deps-check, package --path "$out"
30     runHook postInstall
31   '';
33   postInstall = ''
34     substituteInPlace "$out/bin/start_lexical.sh" --replace 'elixir_command=' 'elixir_command="${elixir}/bin/"'
35     mv "$out/bin" "$out/libexec"
36     makeWrapper "$out/libexec/start_lexical.sh" "$out/bin/lexical" --set RELEASE_COOKIE lexical
37   '';
39   meta = with lib; {
40     description = "Lexical is a next-generation elixir language server";
41     homepage = "https://github.com/lexical-lsp/lexical";
42     license = licenses.asl20;
43     maintainers = with maintainers; [ GaetanLepage ];
44     mainProgram = "lexical";
45     platforms = beamPackages.erlang.meta.platforms;
46   };