1{ stdenv
2, lib
3, cmake
4, fetchFromGitHub
5, rustPlatform
6, testers
7, Security
8}:
9
10let
11 pname = "amazon-qldb-shell";
12 version = "2.0.1";
13 package = rustPlatform.buildRustPackage {
14 inherit pname version;
15
16 src = fetchFromGitHub {
17 owner = "awslabs";
18 repo = pname;
19 rev = "v${version}";
20 sha256 = "sha256-aXScqJ1LijMSAy9YkS5QyXtTqxd19lLt3BbyVXlbw8o=";
21 };
22
23 nativeBuildInputs = [ cmake rustPlatform.bindgenHook ];
24 buildInputs = lib.optional stdenv.isDarwin Security;
25
26 cargoLock = {
27 lockFile = ./Cargo.lock;
28 outputHashes = {
29 "amazon-qldb-driver-0.1.0" = "sha256-az0rANBcryHHnpGWvo15TGGW4KMUULZHaj5msIHts14=";
30 };
31 };
32
33 passthru.tests.version = testers.testVersion { inherit package; };
34
35 meta = with lib; {
36 description = "An interface to send PartiQL statements to Amazon Quantum Ledger Database (QLDB)";
37 homepage = "https://github.com/awslabs/amazon-qldb-shell";
38 license = licenses.asl20;
39 maintainers = [ maintainers.terlar ];
40 mainProgram = "qldb";
41 };
42 };
43in
44package