summary refs log tree commit diff
path: root/pkgs/development/tools/rust/cargo-embed/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/rust/cargo-embed/default.nix')
-rw-r--r--pkgs/development/tools/rust/cargo-embed/default.nix29
1 files changed, 29 insertions, 0 deletions
diff --git a/pkgs/development/tools/rust/cargo-embed/default.nix b/pkgs/development/tools/rust/cargo-embed/default.nix
new file mode 100644
index 00000000000..72c67c55e4d
--- /dev/null
+++ b/pkgs/development/tools/rust/cargo-embed/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, rustPlatform, fetchFromGitHub
+, libusb1, libftdi1, pkg-config, rustfmt }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cargo-embed";
+  version = "0.11.0";
+
+  src = fetchFromGitHub {
+    owner = "probe-rs";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "151zdnv4i0dgkk4w3j2a1sdklcxw07bgqjs7sv6lvkylrx8dfrxa";
+  };
+
+  cargoSha256 = "00p2rwqrax99kwadc8bfq8pbcijals2nzpx43wb03kwxl4955wn9";
+
+  nativeBuildInputs = [ pkg-config rustfmt ];
+  buildInputs = [ libusb1 libftdi1 ];
+
+  cargoBuildFlags = [ "--features=ftdi" ];
+
+  meta = with lib; {
+    description = "A cargo extension for working with microcontrollers";
+    homepage = "https://probe.rs/";
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ fooker ];
+  };
+}