diff --git a/pkgs/development/tools/rust/cargo-cross/default.nix b/pkgs/development/tools/rust/cargo-cross/default.nix new file mode 100644 index 00000000000..f7ce0283f6f --- /dev/null +++ b/pkgs/development/tools/rust/cargo-cross/default.nix @@ -0,0 +1,40 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, fetchpatch +, nix-update-script +}: + +rustPlatform.buildRustPackage rec { + pname = "cargo-cross"; + version = "0.2.1"; + + src = fetchFromGitHub { + owner = "rust-embedded"; + repo = "cross"; + rev = "v${version}"; + sha256 = "sha256:1py5w4kf612x4qxi190ilsrx0zzwdzk9i47ppvqblska1s47qa2w"; + }; + + cargoSha256 = "sha256-3xSuTBcWRGn5HH7LnvwioeRWjehaPW1HCPjN5SUUVfo="; + + cargoPatches = [ + (fetchpatch { + url = "https://github.com/rust-embedded/cross/commit/e86ad2e5a55218395df7eaaf91900e22b809083c.patch"; + sha256 = "sha256:1zrcj5fm3irmlrfkgb65kp2pjkry0rg5nn9pwsk9p0i6dpapjc7k"; + }) + ]; + + passthru = { + updateScript = nix-update-script { + attrPath = pname; + }; + }; + + meta = with lib; { + description = "Zero setup cross compilation and cross testing"; + homepage = "https://github.com/rust-embedded/cross"; + license = with licenses; [ asl20 /* or */ mit ]; + maintainers = with maintainers; [ otavio ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 87511269317..7cafb69f15f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10923,6 +10923,7 @@ in cargo-crev = callPackage ../development/tools/rust/cargo-crev { inherit (darwin.apple_sdk.frameworks) Security; }; + cargo-cross = callPackage ../development/tools/rust/cargo-cross { }; cargo-deny = callPackage ../development/tools/rust/cargo-deny { inherit (darwin.apple_sdk.frameworks) Security; };