lol
1{ lib
2, rustPlatform
3, fetchCrate
4, pkg-config
5, curl
6, openssl
7, stdenv
8, darwin
9}:
10
11rustPlatform.buildRustPackage rec {
12 pname = "cargo-public-api";
13 version = "0.32.0";
14
15 src = fetchCrate {
16 inherit pname version;
17 hash = "sha256-etEwMmfwyOTHRb/UfkcHvmnLVVqeSagWJ5HjuJ6gZVo=";
18 };
19
20 cargoHash = "sha256-7GyPjEit3FEjnegLnZt9TMLBI3BtzcDssrJPj60gpTo=";
21
22 nativeBuildInputs = [ pkg-config ];
23
24 buildInputs = [ curl openssl ]
25 ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
26
27 # Tests fail
28 doCheck = false;
29
30 meta = with lib; {
31 description = "List and diff the public API of Rust library crates between releases and commits. Detect breaking API changes and semver violations";
32 homepage = "https://github.com/Enselic/cargo-public-api";
33 changelog = "https://github.com/Enselic/cargo-public-api/releases/tag/v${version}";
34 license = licenses.mit;
35 maintainers = with maintainers; [ matthiasbeyer ];
36 };
37}
38