1{
2 lib,
3 fetchFromGitHub,
4 rustPlatform,
5 pkg-config,
6 openssl,
7 nix-update-script,
8}:
9rustPlatform.buildRustPackage (finalAttrs: {
10 pname = "sourcepawn-studio";
11 version = "8.1.7";
12
13 src = fetchFromGitHub {
14 owner = "Sarrus1";
15 repo = "sourcepawn-studio";
16 tag = "v${finalAttrs.version}";
17 hash = "sha256-f7mBsBITBmgoGfiAzdQpZQnSY/9WYJ91uCJxCu755tU=";
18 };
19
20 cargoHash = "sha256-NQHetE5z8pgTtPjbc9PK3X4FEw7fL7n+ZGyzmQ5JBPM=";
21
22 nativeBuildInputs = [ pkg-config ];
23
24 buildInputs = [ openssl ];
25
26 checkFlags = [
27 # requires rustup and rustfmt
28 "--skip tests::sourcegen::generate_node_kinds"
29 ];
30
31 passthru.updateScript = nix-update-script { };
32
33 meta = {
34 mainProgram = "sourcepawn-studio";
35 description = "LSP implementation for the SourcePawn programming language written in Rust";
36 homepage = "https://sarrus1.github.io/sourcepawn-studio/";
37 changelog = "https://github.com/Sarrus1/sourcepawn-studio/releases/tag/v${finalAttrs.version}";
38 license = lib.licenses.mit;
39 maintainers = [ lib.maintainers.awwpotato ];
40 };
41})