1{ lib
2, stdenv
3, rustPlatform
4, fetchFromGitHub
5, libusb1
6, libftdi
7, cargo-readme
8, pkg-config
9, AppKit
10}:
11
12rustPlatform.buildRustPackage rec {
13 pname = "humility";
14 version = "unstable-2022-09-15";
15
16 nativeBuildInputs = [ pkg-config cargo-readme ];
17 buildInputs = [ libusb1 libftdi ] ++ lib.optionals stdenv.isDarwin [
18 AppKit
19 ];
20
21 src = fetchFromGitHub {
22 owner = "oxidecomputer";
23 repo = pname;
24 rev = "d336c21c7b6da7f8203a9331c7657581de2bc6ad";
25 sha256 = "sha256-yW7QcxTWbL2YsV2bvfhbqQ2nawlPQbYxBfIGCWo28GY=";
26 };
27
28 cargoLock = {
29 lockFile = ./Cargo.lock;
30 outputHashes = {
31 "capstone-0.10.0" = "sha256-x0p005W6u3QsTKRupj9HEg+dZB3xCXlKb9VCKv+LJ0U=";
32 "hidapi-1.4.1" = "sha256-2SBQu94ArGGwPU3wJYV0vwwVOXMCCq+jbeBHfKuE+pA=";
33 "hif-0.3.1" = "sha256-o3r1akaSARfqIzuP86SJc6/s0b2PIkaZENjYO3DPAUo=";
34 "idol-0.2.0" = "sha256-T4wxeSTH2tFBR8L5wL5a0gLDfcRLpALyGBE0dYNQwLI=";
35 "idt8a3xxxx-0.1.0" = "sha256-S36fS9hYTIn57Tt9msRiM7OFfujJEf8ED+9R9p0zgK4=";
36 "libusb1-sys-0.5.0" = "sha256-7Bb1lpZvCb+OrKGYiD6NV+lMJuxFbukkRXsufaro5OQ=";
37 "pmbus-0.1.0" = "sha256-KBc7gFwrN1jv1HXygda7qE3ZYNWAO10Wl3X6alc2JOE=";
38 "probe-rs-0.12.0" = "sha256-L2kQNAdSvv5x1goELuy3pZZzmoUDc4tMX3OJ7A5rAD0=";
39 "serialport-4.2.1-alpha.0" = "sha256-a2A2rKll2RTSyvohqRUSQ4Sw6puJdlTZoof5rePxPVE=";
40 "spd-0.1.0" = "sha256-X6XUx+huQp77XF5EZDYYqRqaHsdDSbDMK8qcuSGob3E=";
41 "tlvc-0.1.0" = "sha256-SKaVDKFUveZ/iSbKUrVbFIbni7HxCZG4P7fZxkBxY1k=";
42 "tlvc-text-0.1.0" = "sha256-uHPPyc3Ns5L1/EFNCzH8eBEoqLlJoqguZxwNCNxfM6Q=";
43 "vsc7448-info-0.1.0" = "sha256-otNLdfGIzuyu03wEb7tzhZVVMdS0of2sU/AKSNSsoho=";
44 };
45 };
46
47 meta = with lib; {
48 description = "Debugger for Hubris";
49 homepage = "https://github.com/oxidecomputer/humility";
50 license = with licenses; [ mpl20 ];
51 maintainers = with maintainers; [ therishidesai ];
52 };
53}