88 lines
1.8 KiB
Nix
88 lines
1.8 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
zig_0_14,
|
|
zig_0_15,
|
|
zig_0_16,
|
|
fetchFromGitHub,
|
|
callPackage,
|
|
}:
|
|
|
|
let
|
|
common = finalAttrs: _: {
|
|
pname = "zls";
|
|
|
|
strictDeps = true;
|
|
|
|
zigBuildFlags = [
|
|
"--system"
|
|
"${finalAttrs.deps}"
|
|
];
|
|
|
|
__structuredAttrs = true;
|
|
|
|
meta = {
|
|
description = "Zig LSP implementation + Zig Language Server";
|
|
mainProgram = "zls";
|
|
changelog = "https://github.com/zigtools/zls/releases/tag/${finalAttrs.version}";
|
|
homepage = "https://github.com/zigtools/zls";
|
|
license = lib.licenses.mit;
|
|
maintainers = with lib.maintainers; [
|
|
moni
|
|
_0x5a4
|
|
jmbaur
|
|
];
|
|
platforms = lib.platforms.unix;
|
|
};
|
|
};
|
|
in
|
|
lib.mapAttrs (_: extension: stdenv.mkDerivation (lib.extends common extension)) {
|
|
zls_0_14 = finalAttrs: {
|
|
version = "0.14.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "zigtools";
|
|
repo = "zls";
|
|
tag = finalAttrs.version;
|
|
fetchSubmodules = true;
|
|
hash = "sha256-A5Mn+mfIefOsX+eNBRHrDVkqFDVrD3iXDNsUL4TPhKo=";
|
|
};
|
|
|
|
deps = callPackage ./deps_0_14.nix { };
|
|
|
|
nativeBuildInputs = [ zig_0_14 ];
|
|
};
|
|
|
|
zls_0_15 = finalAttrs: {
|
|
version = "0.15.1";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "zigtools";
|
|
repo = "zls";
|
|
tag = finalAttrs.version;
|
|
fetchSubmodules = true;
|
|
hash = "sha256-6IkRtQkn+qUHDz00QvCV/rb2yuF6xWEXug41CD8LLw8=";
|
|
};
|
|
|
|
deps = callPackage ./deps_0_15.nix { };
|
|
|
|
nativeBuildInputs = [ zig_0_15 ];
|
|
};
|
|
|
|
zls_0_16 = finalAttrs: {
|
|
version = "0.16.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "zigtools";
|
|
repo = "zls";
|
|
tag = finalAttrs.version;
|
|
fetchSubmodules = true;
|
|
hash = "sha256-k0xWObsw9K12BKfK+UB5TieWDFEFfBQhN1X1NO35fWk=";
|
|
};
|
|
|
|
deps = callPackage ./deps_0_16.nix { };
|
|
|
|
nativeBuildInputs = [ zig_0_16 ];
|
|
};
|
|
}
|