Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / blockchains / teos / default.nix
blobfbd8c08575d5d4fd1c7ec980a7a5f898961db34c
1 { lib
2 , rustPlatform
3 , fetchFromGitHub
4 , protobuf
5 , rustfmt
6 , stdenv
7 , darwin
8 , pkg-config
9 , openssl
12 let
13   version = "0.2.0";
15   src = fetchFromGitHub {
16     owner = "talaia-labs";
17     repo = "rust-teos";
18     rev = "v${version}";
19     hash = "sha256-UrzH9xmhVq12TcSUQ1AihCG1sNGcy/N8LDsZINVKFkY=";
20   };
22   meta = with lib; {
23     homepage = "https://github.com/talaia-labs/rust-teos";
24     license = licenses.mit;
25     maintainers = with maintainers; [ seberm ];
26   };
27   updateScript = ./update.sh;
30   teos = rustPlatform.buildRustPackage {
31     pname = "teos";
32     inherit version src;
34     cargoHash = "sha256-U0imKEPszlBOaS6xEd3kfzy/w2SYe3EY/E1e0L+ViDk=";
36     buildAndTestSubdir = "teos";
38     nativeBuildInputs = [
39       protobuf
40       rustfmt
41     ];
43     buildInputs = lib.optionals stdenv.isDarwin [
44       darwin.apple_sdk.frameworks.Security
45     ];
47     passthru.updateScript = updateScript;
49     __darwinAllowLocalNetworking = true;
51     meta = meta // {
52       description = "A Lightning watchtower compliant with BOLT13, written in Rust";
53     };
54   };
56   teos-watchtower-plugin = rustPlatform.buildRustPackage {
57     pname = "teos-watchtower-plugin";
58     inherit version src;
60     cargoHash = "sha256-3ke1qTFw/4I5dPLuPjIGp1n2C/eRfPB7A6ErMFfwUzE=";
62     buildAndTestSubdir = "watchtower-plugin";
64     nativeBuildInputs = [
65       pkg-config
66       protobuf
67       rustfmt
68     ];
70     buildInputs = [
71       openssl
72     ] ++ lib.optionals stdenv.isDarwin [
73       darwin.apple_sdk.frameworks.SystemConfiguration
74     ];
76     passthru.updateScript = updateScript;
78     __darwinAllowLocalNetworking = true;
80     meta = meta // {
81       description = "A Lightning watchtower plugin for clightning";
82       mainProgram = "watchtower-client";
83     };
84   };