mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-01 02:23:54 +00:00
58 lines
1.2 KiB
Nix
58 lines
1.2 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchurl,
|
|
autoPatchelfHook,
|
|
testers,
|
|
starpls,
|
|
}:
|
|
|
|
let
|
|
manifest = lib.importJSON ./manifest.json;
|
|
in
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "starpls";
|
|
version = manifest.version;
|
|
|
|
src =
|
|
let
|
|
system = stdenv.hostPlatform.system;
|
|
in
|
|
fetchurl (manifest.assets.${system} or (throw "Unsupported system: ${system}"));
|
|
|
|
dontUnpack = true;
|
|
dontConfigure = true;
|
|
dontBuild = true;
|
|
|
|
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isElf [
|
|
autoPatchelfHook
|
|
];
|
|
|
|
buildInputs = lib.optionals stdenv.hostPlatform.isElf [
|
|
(lib.getLib stdenv.cc.cc)
|
|
];
|
|
|
|
installPhase = ''
|
|
install -D $src $out/bin/starpls
|
|
'';
|
|
|
|
passthru = {
|
|
tests.version = testers.testVersion {
|
|
package = starpls;
|
|
command = "starpls version";
|
|
version = "v${finalAttrs.version}";
|
|
};
|
|
updateScript = ./update.py;
|
|
};
|
|
|
|
meta = {
|
|
description = "Language server for Starlark";
|
|
homepage = "https://github.com/withered-magic/starpls";
|
|
license = lib.licenses.asl20;
|
|
platforms = builtins.attrNames manifest.assets;
|
|
maintainers = with lib.maintainers; [ aaronjheng ];
|
|
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
|
mainProgram = "starpls";
|
|
};
|
|
})
|