diff --git a/pkgs/development/tools/rust/cargo-codspeed/default.nix b/pkgs/development/tools/rust/cargo-codspeed/default.nix new file mode 100644 index 000000000000..5a98cf276863 --- /dev/null +++ b/pkgs/development/tools/rust/cargo-codspeed/default.nix @@ -0,0 +1,51 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, curl +, pkg-config +, libgit2_1_5 +, openssl +, zlib +, stdenv +, darwin +}: + +rustPlatform.buildRustPackage rec { + pname = "cargo-codspeed"; + version = "2.1.0"; + + src = fetchFromGitHub { + owner = "CodSpeedHQ"; + repo = "codspeed-rust"; + rev = "v${version}"; + hash = "sha256-egKy1ilI4wbpmw1AM3W1Yxq4Cy6jEx8Y0FFM92C0JM0="; + }; + + cargoHash = "sha256-nYWl9V9/LKBJ6Hpsinr/2wCY5yrVXgp6Q2oUNU/b4MU="; + + nativeBuildInputs = [ + curl + pkg-config + ]; + + buildInputs = [ + curl + libgit2_1_5 + openssl + zlib + ] ++ lib.optionals stdenv.isDarwin [ + darwin.apple_sdk_11_0.frameworks.Security + ]; + + cargoBuildFlags = [ "-p=cargo-codspeed" ]; + cargoTestFlags = cargoBuildFlags; + + meta = with lib; { + description = "Cargo extension to build & run your codspeed benchmarks"; + homepage = "https://github.com/CodSpeedHQ/codspeed-rust"; + changelog = "https://github.com/CodSpeedHQ/codspeed-rust/releases/tag/${src.rev}"; + license = with licenses; [ mit asl20 ]; + maintainers = with maintainers; [ figsoda ]; + mainProgram = "cargo-codspeed"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6424ab15b953..497ff2761007 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17181,6 +17181,7 @@ with pkgs; cargo-clone = callPackage ../development/tools/rust/cargo-clone { inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration; }; + cargo-codspeed = callPackage ../development/tools/rust/cargo-codspeed { }; cargo-component = callPackage ../development/tools/rust/cargo-component { }; cargo-cranky = callPackage ../development/tools/rust/cargo-cranky { }; cargo-criterion = callPackage ../development/tools/rust/cargo-criterion { };