at master 1.5 kB view raw
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 figsoda 22 moni 23 _0x5a4 24 jmbaur 25 ]; 26 platforms = lib.platforms.unix; 27 }; 28 }; 29in 30lib.mapAttrs (_: extension: stdenv.mkDerivation (lib.extends common extension)) { 31 zls_0_14 = finalAttrs: { 32 version = "0.14.0"; 33 34 src = fetchFromGitHub { 35 owner = "zigtools"; 36 repo = "zls"; 37 tag = finalAttrs.version; 38 fetchSubmodules = true; 39 hash = "sha256-A5Mn+mfIefOsX+eNBRHrDVkqFDVrD3iXDNsUL4TPhKo="; 40 }; 41 42 nativeBuildInputs = [ zig_0_14.hook ]; 43 44 postPatch = '' 45 ln -s ${callPackage ./deps_0_14.nix { }} $ZIG_GLOBAL_CACHE_DIR/p 46 ''; 47 }; 48 49 zls_0_15 = finalAttrs: { 50 version = "0.15.0"; 51 52 src = fetchFromGitHub { 53 owner = "zigtools"; 54 repo = "zls"; 55 tag = finalAttrs.version; 56 fetchSubmodules = true; 57 hash = "sha256-GFzSHUljcxy7sM1PaabbkQUdUnLwpherekPWJFxXtnk="; 58 }; 59 60 nativeBuildInputs = [ zig_0_15.hook ]; 61 62 postPatch = '' 63 ln -s ${callPackage ./deps_0_15.nix { }} $ZIG_GLOBAL_CACHE_DIR/p 64 ''; 65 }; 66}