Files
2026-04-17 10:30:49 +02:00

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 ];
};
}