erlang-ls: use rebar3Relx

This commit is contained in:
David 2021-05-17 17:53:54 +02:00 committed by Raphael Megzari
parent 72795f8c0b
commit 049ecc9716
2 changed files with 140 additions and 68 deletions

View File

@ -1,25 +1,23 @@
{ fetchFromGitHub, fetchHex, stdenv, erlang, rebar3WithPlugins, lib }: { fetchFromGitHub, fetchHex, rebar3Relx, buildRebar3, lib }:
let let
version = "0.15.0"; version = "0.15.0";
owner = "erlang-ls"; owner = "erlang-ls";
repo = "erlang_ls"; repo = "erlang_ls";
deps = import ./rebar-deps.nix { inherit fetchHex fetchFromGitHub; }; deps = import ./rebar-deps.nix {
in stdenv.mkDerivation { inherit fetchHex fetchFromGitHub;
builder = buildRebar3;
};
in rebar3Relx {
name = "erlang-ls";
inherit version; inherit version;
pname = "erlang-ls";
buildInputs = [ erlang (rebar3WithPlugins { }) ];
src = fetchFromGitHub { src = fetchFromGitHub {
inherit owner repo; inherit owner repo;
sha256 = "1s6zk8r5plm7ajifz17mvfrnk5mzbhj7alayink9phqbmzrypnfg"; sha256 = "1s6zk8r5plm7ajifz17mvfrnk5mzbhj7alayink9phqbmzrypnfg";
rev = version; rev = version;
}; };
buildPhase = '' releaseType = "escript";
mkdir _checkouts beamDeps = builtins.attrValues deps;
${toString (lib.mapAttrsToList (k: v: '' buildPhase = "HOME=. make";
cp -R ${v} _checkouts/${k}
'') deps)}
make
'';
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin
cp _build/default/bin/erlang_ls $out/bin/ cp _build/default/bin/erlang_ls $out/bin/

View File

@ -1,90 +1,164 @@
# Generated by rebar3_nix # Generated by rebar3_nix
{ fetchHex, fetchFromGitHub }: let fetchOnly = { src, ... }: src;
{ in { builder ? fetchOnly, fetchHex, fetchFromGitHub }: rec {
getopt = fetchHex { getopt = builder {
name = "getopt";
version = "1.0.1";
src = fetchHex {
pkg = "getopt"; pkg = "getopt";
version = "1.0.1"; version = "1.0.1";
sha256 = "sha256-U+Grg7nOtlyWctPno1uAkum9ybPugHIUcaFhwQxZlZw="; sha256 = "sha256-U+Grg7nOtlyWctPno1uAkum9ybPugHIUcaFhwQxZlZw=";
}; };
zipper = fetchHex { beamDeps = [ ];
};
zipper = builder {
name = "zipper";
version = "1.0.1";
src = fetchHex {
pkg = "zipper"; pkg = "zipper";
version = "1.0.1"; version = "1.0.1";
sha256 = "sha256-ah/T4fDMHR31ZCyaDOIXgDZBGwpclkKFHR2idr1zfC0="; sha256 = "sha256-ah/T4fDMHR31ZCyaDOIXgDZBGwpclkKFHR2idr1zfC0=";
}; };
quickrand = fetchHex { beamDeps = [ ];
};
quickrand = builder {
name = "quickrand";
version = "2.0.1";
src = fetchHex {
pkg = "quickrand"; pkg = "quickrand";
version = "2.0.1"; version = "2.0.1";
sha256 = "sha256-FNtn1K72uIFYEOyfPM714yS3O1bK42h/mddSuFvdTJY="; sha256 = "sha256-FNtn1K72uIFYEOyfPM714yS3O1bK42h/mddSuFvdTJY=";
}; };
providers = fetchHex { beamDeps = [ ];
};
providers = builder {
name = "providers";
version = "1.8.1";
src = fetchHex {
pkg = "providers"; pkg = "providers";
version = "1.8.1"; version = "1.8.1";
sha256 = "sha256-5FdFrenEdqmkaeoIQOQYqxk2DcRPAaIzME4RikRIa6A="; sha256 = "sha256-5FdFrenEdqmkaeoIQOQYqxk2DcRPAaIzME4RikRIa6A=";
}; };
katana_code = fetchHex { beamDeps = [ getopt ];
};
katana_code = builder {
name = "katana_code";
version = "0.2.1";
src = fetchHex {
pkg = "katana_code"; pkg = "katana_code";
version = "0.2.1"; version = "0.2.1";
sha256 = "sha256-hEitP1bZgU+YoovmUPcZG91QZXXjRcwW1YZmCxD26ZI="; sha256 = "sha256-hEitP1bZgU+YoovmUPcZG91QZXXjRcwW1YZmCxD26ZI=";
}; };
bucs = fetchHex { beamDeps = [ ];
};
bucs = builder {
name = "bucs";
version = "1.0.16";
src = fetchHex {
pkg = "bucs"; pkg = "bucs";
version = "1.0.16"; version = "1.0.16";
sha256 = "sha256-/2pccqUArXrsHuO6FkrjxFDq3uiYsNFR4frKGKyNDWI="; sha256 = "sha256-/2pccqUArXrsHuO6FkrjxFDq3uiYsNFR4frKGKyNDWI=";
}; };
yamerl = fetchHex { beamDeps = [ ];
};
yamerl = builder {
name = "yamerl";
version = "0.8.1";
src = fetchHex {
pkg = "yamerl"; pkg = "yamerl";
version = "0.8.1"; version = "0.8.1";
sha256 = "sha256-lssw+dZDRP7Q74qS6fFvIH3mwE3/9PNmdSynn1vOsj8="; sha256 = "sha256-lssw+dZDRP7Q74qS6fFvIH3mwE3/9PNmdSynn1vOsj8=";
}; };
uuid = fetchHex { beamDeps = [ ];
};
uuid = builder {
name = "uuid";
version = "2.0.1";
src = fetchHex {
pkg = "uuid_erl"; pkg = "uuid_erl";
version = "2.0.1"; version = "2.0.1";
sha256 = "sha256-q1fKzNUfFwAR5fREzoZfhLQWBeSDqe/MRowa+uyHVTs="; sha256 = "sha256-q1fKzNUfFwAR5fREzoZfhLQWBeSDqe/MRowa+uyHVTs=";
}; };
tdiff = fetchHex { beamDeps = [ quickrand ];
};
tdiff = builder {
name = "tdiff";
version = "0.1.2";
src = fetchHex {
pkg = "tdiff"; pkg = "tdiff";
version = "0.1.2"; version = "0.1.2";
sha256 = "sha256-4MLhaPmSUqWIl2jVyPHmUQoYRZLUz6BrIneKGNM9eHU="; sha256 = "sha256-4MLhaPmSUqWIl2jVyPHmUQoYRZLUz6BrIneKGNM9eHU=";
}; };
redbug = fetchHex { beamDeps = [ ];
};
redbug = builder {
name = "redbug";
version = "2.0.6";
src = fetchHex {
pkg = "redbug"; pkg = "redbug";
version = "2.0.6"; version = "2.0.6";
sha256 = "sha256-qtlJhnH0q5HqylCZ/oWmFhgVimNuYoaJLE989K8XHQQ="; sha256 = "sha256-qtlJhnH0q5HqylCZ/oWmFhgVimNuYoaJLE989K8XHQQ=";
}; };
rebar3_format = fetchHex { beamDeps = [ ];
};
rebar3_format = builder {
name = "rebar3_format";
version = "0.8.2";
src = fetchHex {
pkg = "rebar3_format"; pkg = "rebar3_format";
version = "0.8.2"; version = "0.8.2";
sha256 = "sha256-yo/ydjjCFpWT0USdrL6IlWNBk+0zNOkGtU/JfwgfUhM="; sha256 = "sha256-yo/ydjjCFpWT0USdrL6IlWNBk+0zNOkGtU/JfwgfUhM=";
}; };
ranch = fetchHex { beamDeps = [ katana_code ];
};
ranch = builder {
name = "ranch";
version = "1.7.1";
src = fetchHex {
pkg = "ranch"; pkg = "ranch";
version = "1.7.1"; version = "1.7.1";
sha256 = "sha256-RR2FJ3h99xbZncNhYvygWTSRXbC2FBu9rC6o08evx9c="; sha256 = "sha256-RR2FJ3h99xbZncNhYvygWTSRXbC2FBu9rC6o08evx9c=";
}; };
jsx = fetchHex { beamDeps = [ ];
};
jsx = builder {
name = "jsx";
version = "3.0.0";
src = fetchHex {
pkg = "jsx"; pkg = "jsx";
version = "3.0.0"; version = "3.0.0";
sha256 = "sha256-N77KBDX1yoovRfdqRiEedkGPvvgMNvA2HCSfx1BZ3G0="; sha256 = "sha256-N77KBDX1yoovRfdqRiEedkGPvvgMNvA2HCSfx1BZ3G0=";
}; };
erlfmt = fetchFromGitHub { beamDeps = [ ];
owner = "whatsapp";
repo = "erlfmt";
rev = "2e93fc4a646111357642b0179a2a63151868d890";
sha256 = "0n7kygycn05aqdp5dyj192mja89l4nxv2wg16qg2c0bmw9s7j2mr";
}; };
ephemeral = fetchHex { ephemeral = builder {
name = "ephemeral";
version = "2.0.4";
src = fetchHex {
pkg = "ephemeral"; pkg = "ephemeral";
version = "2.0.4"; version = "2.0.4";
sha256 = "sha256-Syk9gPdfnEV1/0ucjoiaVoAvQLAYv1fnTxlkTv7myFA="; sha256 = "sha256-Syk9gPdfnEV1/0ucjoiaVoAvQLAYv1fnTxlkTv7myFA=";
}; };
elvis_core = fetchHex { beamDeps = [ bucs ];
};
elvis_core = builder {
name = "elvis_core";
version = "1.1.1";
src = fetchHex {
pkg = "elvis_core"; pkg = "elvis_core";
version = "1.1.1"; version = "1.1.1";
sha256 = "sha256-ORyVuqSfJxjX+0mLzwgEbd/CAs8Kq2Oy5DknFIXJ3EI="; sha256 = "sha256-ORyVuqSfJxjX+0mLzwgEbd/CAs8Kq2Oy5DknFIXJ3EI=";
}; };
docsh = fetchHex { beamDeps = [ katana_code zipper ];
};
docsh = builder {
name = "docsh";
version = "0.7.2";
src = fetchHex {
pkg = "docsh"; pkg = "docsh";
version = "0.7.2"; version = "0.7.2";
sha256 = "sha256-Tn20YbsHVA0rw9NmuFE/AZdxLQSVu4V0TzZ9OBUHYTQ="; sha256 = "sha256-Tn20YbsHVA0rw9NmuFE/AZdxLQSVu4V0TzZ9OBUHYTQ=";
}; };
beamDeps = [ providers ];
};
} }