1{ lib
2, rustPlatform
3, fetchFromGitHub
4, curl
5, pkg-config
6, libgit2_1_5
7, openssl
8, zlib
9, stdenv
10, darwin
11}:
12
13rustPlatform.buildRustPackage rec {
14 pname = "cargo-codspeed";
15 version = "2.3.3";
16
17 src = fetchFromGitHub {
18 owner = "CodSpeedHQ";
19 repo = "codspeed-rust";
20 rev = "v${version}";
21 hash = "sha256-8wbJFvAXicchxI8FTthCiuYCZ2WA4nMUJTUD4WKG5FI=";
22 };
23
24 cargoHash = "sha256-HkFROhjx4bh9QMUlCT1xj3s7aUQxn0ef3FCXoEsYCnY=";
25
26 nativeBuildInputs = [
27 curl
28 pkg-config
29 ];
30
31 buildInputs = [
32 curl
33 libgit2_1_5
34 openssl
35 zlib
36 ] ++ lib.optionals stdenv.isDarwin [
37 darwin.apple_sdk.frameworks.Security
38 ];
39
40 cargoBuildFlags = [ "-p=cargo-codspeed" ];
41 cargoTestFlags = cargoBuildFlags;
42
43 meta = with lib; {
44 description = "Cargo extension to build & run your codspeed benchmarks";
45 homepage = "https://github.com/CodSpeedHQ/codspeed-rust";
46 changelog = "https://github.com/CodSpeedHQ/codspeed-rust/releases/tag/${src.rev}";
47 license = with licenses; [ mit asl20 ];
48 maintainers = with maintainers; [ figsoda ];
49 mainProgram = "cargo-codspeed";
50 };
51}