1{
2 lib,
3 rustPlatform,
4 fetchFromGitHub,
5 nix-update-script,
6 protobuf,
7 stdenv,
8 darwin,
9 pkg-config,
10 openssl,
11}:
12let
13 pname = "teller";
14 version = "2.0.7";
15 date = "2024-05-19";
16in
17rustPlatform.buildRustPackage {
18 inherit pname version;
19
20 src = fetchFromGitHub {
21 owner = "tellerops";
22 repo = pname;
23 rev = "v${version}";
24 hash = "sha256-CI74nMMTIPwjJfy7ASR19V6EbYZ62NoAOxlP3Xt2BuI=";
25 };
26
27 cargoHash = "sha256-iqZX+9l3TWrFuaQreNz4RrCgPQCyKJt6RJ1UeKYaNRs=";
28
29 nativeBuildInputs = [
30 protobuf
31 pkg-config
32 ];
33
34 buildInputs = [
35 openssl
36 ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ];
37
38 doCheck = false;
39
40 doInstallCheck = true;
41 installCheckPhase = ''
42 $out/bin/teller --version 2>&1 | grep ${version};
43 '';
44
45 passthru.updateScript = nix-update-script { };
46
47 meta = with lib; {
48 homepage = "https://github.com/tellerops/teller/";
49 description = "Cloud native secrets management for developers";
50 mainProgram = "teller";
51 license = licenses.asl20;
52 maintainers = with maintainers; [
53 cameronraysmith
54 wahtique
55 ];
56 };
57}