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-2023-11-08";
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 = "67d932edde8b32c11e5d6356a54e97d65f7b9b2b";
25 sha256 = "sha256-3EVNlOAVfx/wUFn83VBKs1N5PanS4jVADUPlhCIok5M=";
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 "humpty-0.1.3" = "sha256-efeb+RaAjQs9XU3KkfVo8mVK2dGyv+2xFKSVKS0vyTc=";
35 "idol-0.3.0" = "sha256-s6ZM/EyBE1eOySPah5GtT0/l7RIQKkeUPybMmqUpmt8=";
36 "idt8a3xxxx-0.1.0" = "sha256-S36fS9hYTIn57Tt9msRiM7OFfujJEf8ED+9R9p0zgK4=";
37 "libusb1-sys-0.5.0" = "sha256-7Bb1lpZvCb+OrKGYiD6NV+lMJuxFbukkRXsufaro5OQ=";
38 "pmbus-0.1.0" = "sha256-20peEHZl6aXcLhw/OWb4RHAXWRNqoMcDXXglwNP+Gpc=";
39 "probe-rs-0.12.0" = "sha256-/L+85K6uxzUmz/TlLLFbMlyekoXC/ClO33EQ/yYjQKU=";
40 "spd-0.1.0" = "sha256-X6XUx+huQp77XF5EZDYYqRqaHsdDSbDMK8qcuSGob3E=";
41 "tlvc-0.2.0" = "sha256-HiqDRqmKOTxz6UQSXNMOZdWdc5W+cFGuKBkNrqFvIIE=";
42 "vsc7448-info-0.1.0" = "sha256-otNLdfGIzuyu03wEb7tzhZVVMdS0of2sU/AKSNSsoho=";
43 };
44 };
45
46 meta = with lib; {
47 description = "Debugger for Hubris";
48 homepage = "https://github.com/oxidecomputer/humility";
49 license = with licenses; [ mpl20 ];
50 maintainers = with maintainers; [ therishidesai ];
51 };
52}