diff --git a/pkgs/development/tools/rust/cargo-deadlinks/default.nix b/pkgs/development/tools/rust/cargo-deadlinks/default.nix new file mode 100644 index 000000000000..ebd66a9b0093 --- /dev/null +++ b/pkgs/development/tools/rust/cargo-deadlinks/default.nix @@ -0,0 +1,31 @@ +{ lib, stdenv, rustPlatform, fetchFromGitHub, Security }: + +rustPlatform.buildRustPackage rec { + pname = "cargo-deadlinks"; + version = "0.8.0"; + + src = fetchFromGitHub { + owner = "deadlinks"; + repo = pname; + rev = "${version}"; + sha256 = "1zd5zgq3346xijllr0qdvvmsilpawisrqgdmsqir8v3bk55ybj4g"; + }; + + cargoSha256 = "1ar3iwpy9mng4j09z4g3ynxra2qwc8454dnc0wjal4h16fk8gxwv"; + + checkFlags = [ + # uses internet + "--skip non_existent_http_link --skip working_http_check" + # expects top-level directory to be named "cargo-deadlinks" + "--skip simple_project::it_checks_okay_project_correctly" + ]; + + buildInputs = lib.optional stdenv.isDarwin Security; + + meta = with lib; { + description = "Cargo subcommand to check rust documentation for broken links"; + homepage = "https://github.com/deadlinks/cargo-deadlinks"; + license = with licenses; [ asl20 /* or */ mit ]; + maintainers = with maintainers; [ newam ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bb1330550ecd..bfb049c58329 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12358,6 +12358,9 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) CoreFoundation Security; }; cargo-criterion = callPackage ../development/tools/rust/cargo-criterion { }; + cargo-deadlinks = callPackage ../development/tools/rust/cargo-deadlinks { + inherit (darwin.apple_sdk.frameworks) Security; + }; cargo-deb = callPackage ../tools/package-management/cargo-deb { inherit (darwin.apple_sdk.frameworks) Security; };