diff --git a/pkgs/development/tools/rust/cargo-clone/default.nix b/pkgs/development/tools/rust/cargo-clone/default.nix new file mode 100644 index 000000000000..68af8c0a2d39 --- /dev/null +++ b/pkgs/development/tools/rust/cargo-clone/default.nix @@ -0,0 +1,41 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, pkg-config +, openssl +, stdenv +, Security +, SystemConfiguration +}: + +rustPlatform.buildRustPackage rec { + pname = "cargo-clone"; + version = "1.1.0"; + + src = fetchFromGitHub { + owner = "janlikar"; + repo = pname; + rev = "v${version}"; + sha256 = "1lfg47kw07k4r795n0iixl5cnrb13g74hqlbp8jzbypr255bc16q"; + }; + + cargoSha256 = "sha256-rJcTl5fe3vkNNyLRvm7q5KmzyJXchh1/JuzK0GFhHLk="; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ + Security + SystemConfiguration + ]; + + # requires internet access + doCheck = false; + + meta = with lib; { + description = "A cargo subcommand to fetch the source code of a Rust crate"; + homepage = "https://github.com/janlikar/cargo-clone"; + changelog = "https://github.com/janlikar/cargo-clone/blob/v${version}/CHANGELOG.md"; + license = with licenses; [ asl20 mit ]; + maintainers = with maintainers; [ figsoda ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0e30186858e3..965914509305 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14762,6 +14762,9 @@ with pkgs; cargo-c = callPackage ../development/tools/rust/cargo-c { inherit (darwin.apple_sdk.frameworks) CoreFoundation Security; }; + cargo-clone = callPackage ../development/tools/rust/cargo-clone { + inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration; + }; cargo-criterion = callPackage ../development/tools/rust/cargo-criterion { }; cargo-deadlinks = callPackage ../development/tools/rust/cargo-deadlinks { inherit (darwin.apple_sdk.frameworks) Security;