nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 autoPatchelfHook,
3 buildDotnetModule,
4 coreutils,
5 dotnetCorePackages,
6 fetchFromGitHub,
7 icu,
8 lib,
9 libkrb5,
10 openssl,
11 stdenv,
12}:
13
14buildDotnetModule rec {
15 pname = "bicep-lsp";
16 version = "0.34.44";
17
18 src = fetchFromGitHub {
19 owner = "Azure";
20 repo = "bicep";
21 tag = "v${version}";
22 hash = "sha256-vyPRLPTvQkwN7unlIHs6DvpjXnXyW1PDtH9hhIOgN1A=";
23 };
24
25 projectFile = "src/Bicep.LangServer/Bicep.LangServer.csproj";
26
27 postPatch = ''
28 substituteInPlace global.json --replace-warn "8.0.406" "${dotnetCorePackages.sdk_8_0.version}"
29 '';
30
31 nugetDeps = ./deps.json;
32
33 # From: https://github.com/Azure/bicep/blob/v0.34.44/global.json#L7
34 dotnet-sdk = dotnetCorePackages.sdk_8_0;
35 dotnet-runtime = dotnetCorePackages.runtime_8_0;
36
37 nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ];
38
39 buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
40 icu
41 libkrb5
42 openssl
43 stdenv.cc.cc.lib
44 ];
45
46 doCheck = !(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64); # mono is not available on aarch64-darwin
47
48 meta = {
49 description = "Domain Specific Language (DSL) for deploying Azure resources declaratively";
50 homepage = "https://github.com/Azure/bicep/";
51 changelog = "https://github.com/Azure/bicep/releases/tag/v${version}";
52 license = lib.licenses.mit;
53 platforms = lib.platforms.all;
54 badPlatforms = [ "aarch64-linux" ];
55 };
56}