at 24.11-pre 73 lines 1.6 kB view raw
1{ lib 2, rustPlatform 3, fetchFromGitHub 4, installShellFiles 5, pkg-config 6, oniguruma 7, openssl 8, stdenv 9, darwin 10, python3 11, perl 12}: 13 14rustPlatform.buildRustPackage rec { 15 pname = "bws"; 16 version = "0.4.0"; 17 18 src = fetchFromGitHub { 19 owner = "bitwarden"; 20 repo = "sdk"; 21 rev = "bws-v${version}"; 22 hash = "sha256-oCAyUTVAUfXBEb2K7vkYBOzcwqCsm2wxEKsYLZcfm6w="; 23 }; 24 25 cargoLock = { 26 lockFile = ./Cargo.lock; 27 outputHashes = { 28 "uniffi-0.25.2" = "sha256-YckrtociJV3VKGs5DJ0a1r1Cvq06S/mtr9iL1kLmAi8="; 29 }; 30 }; 31 32 nativeBuildInputs = [ 33 installShellFiles 34 pkg-config 35 ] ++ lib.optionals stdenv.isLinux [ 36 perl 37 ]; 38 39 buildInputs = 40 [ 41 oniguruma 42 ] ++ lib.optionals stdenv.isLinux [ 43 openssl 44 ] 45 ++ lib.optionals stdenv.isDarwin [ 46 darwin.apple_sdk.frameworks.SystemConfiguration 47 ]; 48 49 env = { 50 PYO3_PYTHON = "${python3}/bin/python3"; 51 RUSTONIG_SYSTEM_LIBONIG = true; 52 }; 53 54 cargoBuildFlags = [ "--package" "bws" ]; 55 56 cargoTestFlags = [ "--package" "bws" ]; 57 58 postInstall = '' 59 installShellCompletion --cmd bws \ 60 --bash <($out/bin/bws completions bash) \ 61 --fish <($out/bin/bws completions fish) \ 62 --zsh <($out/bin/bws completions zsh) 63 ''; 64 65 meta = { 66 changelog = "https://github.com/bitwarden/sdk/blob/${src.rev}/crates/bws/CHANGELOG.md"; 67 description = "Bitwarden Secrets Manager CLI"; 68 homepage = "https://bitwarden.com/help/secrets-manager-cli/"; 69 license = lib.licenses.unfree; # BITWARDEN SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT 70 mainProgram = "bws"; 71 maintainers = with lib.maintainers; [ dit7ya ]; 72 }; 73}