nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenvNoCC,
4 fetchurl,
5 makeBinaryWrapper,
6 jre_headless,
7 jvmOptions ? [ ],
8}:
9
10stdenvNoCC.mkDerivation rec {
11 pname = "ltex-ls-plus";
12 version = "18.5.1";
13
14 src = fetchurl {
15 url = "https://github.com/ltex-plus/ltex-ls-plus/releases/download/${version}/ltex-ls-plus-${version}.tar.gz";
16 sha256 = "sha256-kSs/0Hi9G5l632+dqxGhlvMJCizzKFY/dq7UyAr3uss=";
17 };
18
19 nativeBuildInputs = [ makeBinaryWrapper ];
20
21 installPhase =
22 let
23 java_opts = lib.optionalString (jvmOptions != [ ]) ''--set JAVA_OPTS "${toString jvmOptions}"'';
24 in
25 ''
26 runHook preInstall
27
28 mkdir -p $out
29 cp -rfv bin/ lib/ $out
30 rm -fv $out/bin/.lsp-cli.json $out/bin/*.bat
31 for file in $out/bin/{ltex-ls-plus,ltex-cli-plus}; do
32 wrapProgram $file --set JAVA_HOME "${jre_headless}" ${java_opts}
33 done
34
35 runHook postInstall
36 '';
37
38 meta =
39 let
40 inherit (lib) licenses maintainers;
41 in
42 {
43 homepage = "https://ltex-plus.github.io/ltex-plus/";
44 description = "LSP language server for LanguageTool";
45 license = licenses.mpl20;
46 mainProgram = "ltex-cli-plus";
47 maintainers = [ maintainers.FirelightFlagboy ];
48 platforms = jre_headless.meta.platforms;
49 };
50}