biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / tools / networking / veilid / default.nix
blobe06a03b8edce62055c6fbc87329ce6f43940c71a
1 { lib
2 , stdenv
3 , AppKit
4 , Security
5 , fetchFromGitLab
6 , rustPlatform
7 , protobuf
8 , capnproto
9 , cmake
10 , testers
11 , veilid
12 , gitUpdater
15 rustPlatform.buildRustPackage rec {
16   pname = "veilid";
17   version = "0.3.4";
19   src = fetchFromGitLab {
20     owner = "veilid";
21     repo = pname;
22     rev = "v${version}";
23     hash = "sha256-nEJxiox2aoQBV83vlpiBB4In59+lfHF6/a8HqDYcFT4=";
24   };
26   cargoLock = {
27     lockFile = ./Cargo.lock;
28     outputHashes = {
29       "ansi-parser-0.9.1" = "sha256-Vdjt8QDstrfxYfklZ5vYPGhVNG1BVh4cpKGwvvsHlS4=";
30       "cursive-0.20.0" = "sha256-EGKO7JVN9hIqADKKC3mUHHOCSxMjPoXzYBZujzdgk3E=";
31       "cursive_buffered_backend-0.6.1" = "sha256-+sTJnp570HupwaJxV2x+oKyLwNmqQ4HqOH2P1s9Hhw8=";
32       "cursive_table_view-0.14.0" = "sha256-haos82qtobMsFCP3sNRu5u1mki4bsjrV+eqFxUGIHqk=";
33     };
34   };
36   nativeBuildInputs = [
37     capnproto
38     cmake
39     protobuf
40   ];
42   buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ AppKit Security ];
44   cargoBuildFlags = [
45     "--workspace"
46   ];
48   RUSTFLAGS = "--cfg tokio_unstable";
50   doCheck = false;
52   outputs = [ "out" "lib" "dev" ];
54   postInstall = ''
55     moveToOutput "lib" "$lib"
56   '';
58   passthru = {
59     updateScript = gitUpdater { rev-prefix = "v"; };
60     tests = {
61       veilid-version = testers.testVersion {
62         package = veilid;
63       };
64     };
65   };
67   meta = with lib; {
68     description = "Open-source, peer-to-peer, mobile-first, networked application framework";
69     mainProgram = "veilid-server";
70     homepage = "https://veilid.com";
71     license = licenses.mpl20;
72     maintainers = with maintainers; [ bbigras qbit ];
73   };