diff --git a/pkgs/development/tools/cargo-flamegraph/default.nix b/pkgs/development/tools/cargo-flamegraph/default.nix new file mode 100644 index 000000000000..442035d0f5f8 --- /dev/null +++ b/pkgs/development/tools/cargo-flamegraph/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchFromGitHub, rustPlatform +, Security +}: + +rustPlatform.buildRustPackage rec { + pname = "cargo-flamegraph"; + version = "0.1.13"; + + src = fetchFromGitHub { + owner = "ferrous-systems"; + repo = "flamegraph"; + rev = version; + sha256 = "1s0jnj78fqz5hlgq656rr2s9ykmia51b89iffadiw6c2aw4fhv1a"; + }; + + cargoSha256 = "0kmw2n4j5bisac0bv3npbwfz2z00ncd6w8ichwaz5hac5mi1a72f"; + + buildInputs = stdenv.lib.optionals stdenv.isDarwin [ + Security + ]; + + meta = with stdenv.lib; { + description = "Easy flamegraphs for Rust projects and everything else, without Perl or pipes <3"; + homepage = https://github.com/ferrous-systems/flamegraph; + license = with licenses; [ asl20 /* or */ mit ]; + maintainers = with maintainers; [ killercup ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9032c663d90b..72f35dc5f446 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8062,6 +8062,10 @@ in inherit (darwin) cf-private; }; + cargo-flamegraph = callPackage ../development/tools/cargo-flamegraph { + inherit (darwin.apple_sdk.frameworks) Security; + }; + carnix = (callPackage ../build-support/rust/carnix.nix { }).carnix { }; defaultCrateOverrides = callPackage ../build-support/rust/default-crate-overrides.nix { };