1{ stdenv
2, lib
3, clang
4, cmake
5, fetchFromGitHub
6, llvmPackages
7, rustPlatform
8, testers
9, Security
10}:
11
12let
13 pname = "amazon-qldb-shell";
14 version = "2.0.1";
15 package = rustPlatform.buildRustPackage {
16 inherit pname version;
17
18 src = fetchFromGitHub {
19 owner = "awslabs";
20 repo = pname;
21 rev = "v${version}";
22 sha256 = "sha256-aXScqJ1LijMSAy9YkS5QyXtTqxd19lLt3BbyVXlbw8o=";
23 };
24
25 nativeBuildInputs = [ clang cmake ];
26 buildInputs = [ llvmPackages.libclang ]
27 ++ lib.optional stdenv.isDarwin Security;
28
29 cargoSha256 = "sha256-y3dNEa2U9mwsENPda44zweszlk4UJXGtfeH+er8mi0U=";
30
31 LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
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