{ lib, stdenv, fetchzip, openjdk, gradle, makeWrapper, maven, }: stdenv.mkDerivation (finalAttrs: { pname = "kotlin-lsp"; version = "262.2310.0"; src = fetchzip { url = "https://download-cdn.jetbrains.com/kotlin-lsp/${finalAttrs.version}/kotlin-lsp-${finalAttrs.version}-linux-x64.zip"; hash = "sha256-Bf2qkFpNhQC/Mz563OapmCXeKN+dTrYyQbOcF6z6b48="; stripRoot = false; }; dontBuild = true; installPhase = '' # copy files mkdir -p $out/share/kotlin-lsp/{lib,native} cp -r lib/* $out/share/kotlin-lsp/lib cp -r native/* $out/share/kotlin-lsp/native cp kotlin-lsp.sh $out/share/kotlin-lsp/kotlin-lsp chmod +x $out/share/kotlin-lsp/kotlin-lsp # wrap openjdk ln -sf ${openjdk}/lib/openjdk $out/share/kotlin-lsp/jre # wrap program mkdir -p $out/bin makeWrapper $out/share/kotlin-lsp/kotlin-lsp $out/bin/kotlin-lsp \ --set JAVA_HOME ${openjdk} \ --prefix PATH : ${lib.strings.makeBinPath [ openjdk maven ]} ''; nativeBuildInputs = [ gradle makeWrapper ]; buildInputs = [ openjdk gradle ]; meta = { description = "Kotlin language server"; homepage = "https://github.com/Kotlin/kotlin-lsp"; license = lib.licenses.asl20; platforms = [ "x86_64-linux" ]; mainProgram = "kotlin-lsp"; }; })