mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-07-19 07:01:12 +00:00
beamPackages.expert: init at 0.1.0-rc.2
This commit is contained in:
@@ -90,6 +90,7 @@ let
|
||||
};
|
||||
|
||||
elixir-ls = callPackage ./elixir-ls { inherit elixir; };
|
||||
expert = callPackage ./expert { };
|
||||
|
||||
lfe = callPackage ../interpreters/lfe { inherit erlang buildRebar3 buildHex; };
|
||||
|
||||
|
||||
75
pkgs/development/beam-modules/expert/default.nix
Normal file
75
pkgs/development/beam-modules/expert/default.nix
Normal file
@@ -0,0 +1,75 @@
|
||||
{
|
||||
erlang,
|
||||
fetchFromGitHub,
|
||||
mixRelease,
|
||||
lib,
|
||||
fetchMixDeps,
|
||||
}:
|
||||
let
|
||||
version = "0.1.0-rc.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elixir-lang";
|
||||
repo = "expert";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-5BGI0bLGCvYyMT4GNHLalin1jg9UW6qtFC7B8OssHCc=";
|
||||
};
|
||||
|
||||
engineDeps = fetchMixDeps {
|
||||
pname = "mix-deps-expert-engine";
|
||||
|
||||
inherit src version;
|
||||
hash = "sha256-PTyPLyo85N0BltX9oIRhHDGKgmNScb10N129wC8o6Q4=";
|
||||
|
||||
preConfigure = ''
|
||||
cd apps/engine
|
||||
'';
|
||||
};
|
||||
in
|
||||
mixRelease rec {
|
||||
pname = "expert";
|
||||
inherit src version;
|
||||
|
||||
mixFodDeps = fetchMixDeps {
|
||||
pname = "mix-deps-${pname}";
|
||||
inherit src version;
|
||||
hash = "sha256-T5OSjoglZfQa1lMO2lOZJ7yWoyxf6m33rKGuy4zq2AE=";
|
||||
|
||||
preConfigure = ''
|
||||
cd apps/expert
|
||||
'';
|
||||
};
|
||||
|
||||
mixReleaseName = "plain";
|
||||
|
||||
preConfigure = ''
|
||||
ln -sv ${engineDeps} apps/engine/deps
|
||||
|
||||
cd apps/expert
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mv $out/bin/plain $out/bin/expert
|
||||
|
||||
wrapProgram $out/bin/expert --add-flag "eval" --add-flag "System.no_halt(true); Application.ensure_all_started(:xp_expert)"
|
||||
'';
|
||||
|
||||
removeCookie = false;
|
||||
|
||||
passthru = {
|
||||
inherit engineDeps;
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/elixir-lang/expert";
|
||||
changelog = "https://github.com/elixir-lang/expert/releases/tag/v${version}";
|
||||
description = "Official Elixir Language Server Protocol implementation";
|
||||
longDescription = ''
|
||||
Expert is the official language server implementation for the Elixir programming language.
|
||||
'';
|
||||
license = lib.licenses.asl20;
|
||||
inherit (erlang.meta) platforms;
|
||||
mainProgram = "expert";
|
||||
teams = [ lib.teams.beam ];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user