nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 zig_0_14,
5 zig_0_15,
6 fetchFromGitHub,
7 callPackage,
8}:
9
10let
11 common = finalAttrs: _: {
12 pname = "zls";
13
14 meta = {
15 description = "Zig LSP implementation + Zig Language Server";
16 mainProgram = "zls";
17 changelog = "https://github.com/zigtools/zls/releases/tag/${finalAttrs.version}";
18 homepage = "https://github.com/zigtools/zls";
19 license = lib.licenses.mit;
20 maintainers = with lib.maintainers; [
21 moni
22 _0x5a4
23 jmbaur
24 ];
25 platforms = lib.platforms.unix;
26 };
27 };
28in
29lib.mapAttrs (_: extension: stdenv.mkDerivation (lib.extends common extension)) {
30 zls_0_14 = finalAttrs: {
31 version = "0.14.0";
32
33 src = fetchFromGitHub {
34 owner = "zigtools";
35 repo = "zls";
36 tag = finalAttrs.version;
37 fetchSubmodules = true;
38 hash = "sha256-A5Mn+mfIefOsX+eNBRHrDVkqFDVrD3iXDNsUL4TPhKo=";
39 };
40
41 nativeBuildInputs = [ zig_0_14 ];
42
43 postPatch = ''
44 ln -s ${callPackage ./deps_0_14.nix { }} $ZIG_GLOBAL_CACHE_DIR/p
45 '';
46 };
47
48 zls_0_15 = finalAttrs: {
49 version = "0.15.1";
50
51 src = fetchFromGitHub {
52 owner = "zigtools";
53 repo = "zls";
54 tag = finalAttrs.version;
55 fetchSubmodules = true;
56 hash = "sha256-6IkRtQkn+qUHDz00QvCV/rb2yuF6xWEXug41CD8LLw8=";
57 };
58
59 nativeBuildInputs = [ zig_0_15 ];
60
61 postPatch = ''
62 ln -s ${callPackage ./deps_0_15.nix { }} $ZIG_GLOBAL_CACHE_DIR/p
63 '';
64 };
65}