croc: 10.1.1 -> 10.1.3 (#364662)
[NixPkgs.git] / pkgs / by-name / es / espflash / package.nix
blobcd636ba772101397d2392879491fe0cc837af5b1
2   lib,
3   rustPlatform,
4   fetchFromGitHub,
5   pkg-config,
6   installShellFiles,
7   udev,
8   stdenv,
9   CoreServices,
10   Security,
11   nix-update-script,
12   openssl,
13   SystemConfiguration,
16 rustPlatform.buildRustPackage rec {
17   pname = "espflash";
18   version = "3.2.0";
20   src = fetchFromGitHub {
21     owner = "esp-rs";
22     repo = "espflash";
23     rev = "refs/tags/v${version}";
24     hash = "sha256-X9VTwXk/6zAkQb5P9Wz8Pt4oIt2xXfff9dhGb8wauG4=";
25   };
27   nativeBuildInputs = [
28     pkg-config
29     installShellFiles
30   ];
32   # Needed to get openssl-sys to use pkg-config.
33   OPENSSL_NO_VENDOR = 1;
35   buildInputs =
36     [ openssl ]
37     ++ lib.optionals stdenv.hostPlatform.isLinux [
38       udev
39     ]
40     ++ lib.optionals stdenv.hostPlatform.isDarwin [
41       CoreServices
42       Security
43       SystemConfiguration
44     ];
46   cargoHash = "sha256-3xUDsznzIRlfGwVuIH1+Ub5tE/ST981KZS/2TAKaBAE=";
48   postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
49     installShellCompletion --cmd espflash \
50       --bash <($out/bin/espflash completions bash) \
51       --zsh <($out/bin/espflash completions zsh) \
52       --fish <($out/bin/espflash completions fish)
53   '';
55   passthru.updateScript = nix-update-script { };
57   meta = with lib; {
58     description = "Serial flasher utility for Espressif SoCs and modules based on esptool.py";
59     homepage = "https://github.com/esp-rs/espflash";
60     changelog = "https://github.com/esp-rs/espflash/blob/v${version}/CHANGELOG.md";
61     mainProgram = "espflash";
62     license = with licenses; [
63       mit # or
64       asl20
65     ];
66     maintainers = with maintainers; [ matthiasbeyer ];
67   };