lol
1{ lib
2, stdenv
3, rustPlatform
4, fetchCrate
5, pkg-config
6, libusb1
7, openssl
8, DarwinTools
9, AppKit
10}:
11
12rustPlatform.buildRustPackage rec {
13 pname = "probe-rs";
14 version = "0.21.1";
15
16 src = fetchCrate {
17 inherit pname version;
18 hash = "sha256-UmQwz9Ejb5+epwGKsglV3QdWGqOEH/3DRqvKtfm14kg=";
19 };
20
21 cargoHash = "sha256-awa84xvIRrEhuPm4N2xt5bsYy2wbLjJokrKoAxCYvR4=";
22
23 cargoBuildFlags = [ "--features=cli" ];
24
25 nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.isDarwin [ DarwinTools ];
26
27 buildInputs = [ libusb1 openssl ] ++ lib.optionals stdenv.isDarwin [ AppKit ];
28
29 meta = with lib; {
30 description = "CLI tool for on-chip debugging and flashing of ARM chips";
31 homepage = "https://probe.rs/";
32 changelog = "https://github.com/probe-rs/probe-rs/blob/v${version}/CHANGELOG.md";
33 license = with licenses; [ asl20 /* or */ mit ];
34 maintainers = with maintainers; [ xgroleau newam ];
35 };
36}