1{ lib
2, stdenv
3, rustPlatform
4, fetchFromGitHub
5, cmake
6, darwin
7}:
8
9rustPlatform.buildRustPackage rec {
10 pname = "subxt";
11 version = "0.37.0";
12
13 src = fetchFromGitHub {
14 owner = "paritytech";
15 repo = "subxt";
16 rev = "v${version}";
17 hash = "sha256-GD4P+SXl9hyv0CxOximOMz+Gzi85kPahsiz0wHRqSWk=";
18 };
19
20 cargoHash = "sha256-luKtu9g+NtlwRhC1icpIxkBvP3GtggpKoj7Sx4anLAM=";
21
22 # Only build the command line client
23 cargoBuildFlags = [ "--bin" "subxt" ];
24
25 # Needed by wabt-sys
26 nativeBuildInputs = [ cmake ];
27
28 buildInputs = lib.optionals stdenv.isDarwin [
29 darwin.apple_sdk.frameworks.Security
30 ];
31
32 # Requires a running substrate node
33 doCheck = false;
34
35 meta = with lib; {
36 homepage = "https://github.com/paritytech/subxt";
37 description = "Submit transactions to a substrate node via RPC";
38 mainProgram = "subxt";
39 license = with licenses; [ gpl3Plus asl20 ];
40 maintainers = [ maintainers.FlorianFranzen ];
41 };
42}