summary refs log tree commit diff
path: root/pkgs/development/tools/picotool
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/picotool')
-rw-r--r--pkgs/development/tools/picotool/default.nix31
1 files changed, 31 insertions, 0 deletions
diff --git a/pkgs/development/tools/picotool/default.nix b/pkgs/development/tools/picotool/default.nix
new file mode 100644
index 00000000000..d4a6f1c409b
--- /dev/null
+++ b/pkgs/development/tools/picotool/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libusb1, pico-sdk }:
+
+stdenv.mkDerivation rec {
+  pname = "picotool";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "raspberrypi";
+    repo = pname;
+    rev = version;
+    sha256 = "1k5j742sj91akdrgnd3wa5csqb638dgaz0c09zsr22fcqz0qhzig";
+  };
+
+  buildInputs = [ libusb1 pico-sdk ];
+  nativeBuildInputs = [ cmake pkg-config ];
+  cmakeFlags = [ "-DPICO_SDK_PATH=${pico-sdk}/lib/pico-sdk" ];
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm755 ./picotool -t $out/bin
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/raspberrypi/picotool";
+    description = "Tool for interacting with a RP2040 device in BOOTSEL mode, or with a RP2040 binary";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ musfay ];
+    platforms = platforms.unix;
+  };
+}