nixpkgs/pkgs/development/tools/rust/cargo-cyclonedx/default.nix
stuebinm ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00

53 lines
1.3 KiB
Nix

{ 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";
mainProgram = "cargo-cyclonedx";
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 ];
};
}