{ lib , stdenv , rustPlatform , fetchFromGitHub , pkg-config , openssl , Security , SystemConfiguration , CoreFoundation , curl }: rustPlatform.buildRustPackage rec { pname = "cargo-cyclonedx"; version = "0.5.0"; src = fetchFromGitHub { owner = "CycloneDX"; repo = "cyclonedx-rust-cargo"; rev = "${pname}-${version}"; hash = "sha256-791FZR9dmwVjORrkpm8el+2VMEEKJG+yKKqq+R1I9U4="; }; cargoHash = "sha256-Cbi1cnUy6HKkgBXVjK0xItx2pzuYVob/Qz4o8eT6Fws="; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration CoreFoundation curl ]; meta = with lib; { description = "Creates CycloneDX Software Bill of Materials (SBOM) from Rust (Cargo) projects"; longDescription = '' The CycloneDX module for Rust (Cargo) creates a valid CycloneDX Software Bill-of-Material (SBOM) containing an aggregate of all project dependencies. CycloneDX is a lightweight SBOM specification that is easily created, human and machine readable, and simple to parse. ''; homepage = "https://github.com/CycloneDX/cyclonedx-rust-cargo"; license = licenses.asl20; maintainers = with maintainers; [ nikstur ]; }; }