diff --git a/pkgs/development/tools/rust/cargo-llvm-cov/default.nix b/pkgs/development/tools/rust/cargo-llvm-cov/default.nix new file mode 100644 index 000000000000..bf55e638bdef --- /dev/null +++ b/pkgs/development/tools/rust/cargo-llvm-cov/default.nix @@ -0,0 +1,44 @@ +{ stdenv +, lib +, fetchzip +, rustPlatform +}: + +rustPlatform.buildRustPackage rec { + pname = "cargo-llvm-cov"; + version = "0.5.0"; + + src = fetchzip { + url = "https://crates.io/api/v1/crates/${pname}/${version}/download#${pname}-${version}.tar.gz"; + sha256 = "sha256-ifnwiOuFnpryYxLgescpxN8CzgFzSZlY+RlbyW7ND6g="; + }; + cargoSha256 = "sha256-11xNgiOw0qysTWpoKAXQ5gx1uJSAsp+aDDir0zpkpeQ="; + + # skip tests which require llvm-tools-preview + checkFlags = [ + "--skip bin_crate" + "--skip cargo_config" + "--skip clean_ws" + "--skip instantiations" + "--skip merge" + "--skip merge_failure_mode_all" + "--skip no_test" + "--skip open_report" + "--skip real1" + "--skip show_env" + "--skip virtual1" + ]; + + meta = rec { + homepage = "https://github.com/taiki-e/${pname}"; + changelog = homepage + "/blob/v${version}/CHANGELOG.md"; + description = "Cargo subcommand to easily use LLVM source-based code coverage"; + longDescription = '' + In order for this to work, you either need to run `rustup component add llvm- + tools-preview` or install the `llvm-tools-preview` component using your Nix + library (e.g. nixpkgs-mozilla, or rust-overlay) + ''; + license = with lib.licenses; [ asl20 /* or */ mit ]; + maintainers = with lib.maintainers; [ wucke13 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6bc3c633c79d..a83c201b95b2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14929,6 +14929,7 @@ with pkgs; cargo-graph = callPackage ../development/tools/rust/cargo-graph { }; cargo-hack = callPackage ../development/tools/rust/cargo-hack { }; cargo-license = callPackage ../development/tools/rust/cargo-license { }; + cargo-llvm-cov = callPackage ../development/tools/rust/cargo-llvm-cov { }; cargo-llvm-lines = callPackage ../development/tools/rust/cargo-llvm-lines { }; cargo-lock = callPackage ../development/tools/rust/cargo-lock { }; cargo-outdated = callPackage ../development/tools/rust/cargo-outdated {