xcursor-pro: init at 2.0.2 (#335188)
[NixPkgs.git] / pkgs / by-name / ca / cargo-mobile2 / package.nix
blob7907f9a5a16eeca617c1192802c7ccf5c0b63a32
2   lib,
3   stdenv,
4   rustPlatform,
5   fetchFromGitHub,
6   pkg-config,
7   openssl,
8   git,
9   darwin,
10   makeWrapper,
13 let
14   inherit (darwin.apple_sdk.frameworks) CoreServices;
15   pname = "cargo-mobile2";
16   version = "0.17.4";
18 rustPlatform.buildRustPackage {
19   inherit pname version;
20   src = fetchFromGitHub {
21     owner = "tauri-apps";
22     repo = pname;
23     rev = "cargo-mobile2-v${version}";
24     hash = "sha256-1lrimBdJwur5b4wB8hZVUtJEbgXoib0ytzjzhkqNE6c=";
25   };
27   # Manually specify the sourceRoot since this crate depends on other crates in the workspace. Relevant info at
28   # https://discourse.nixos.org/t/difficulty-using-buildrustpackage-with-a-src-containing-multiple-cargo-workspaces/10202
29   # sourceRoot = "${src.name}/tooling/cli";
31   cargoHash = "sha256-vmoR5pA8CNf4eZpQgj0Wn1/FmId4hmpSi7FYxBY5O9M=";
33   preBuild = ''
34     mkdir -p $out/share/
35     # during the install process tauri-mobile puts templates and commit information in CARGO_HOME
36     export CARGO_HOME=$out/share/
37   '';
39   buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices ];
40   nativeBuildInputs = [
41     pkg-config
42     git
43     makeWrapper
44   ];
46   preFixup = ''
47     for bin in $out/bin/cargo-*; do
48       wrapProgram $bin \
49         --set CARGO_HOME "$out/share"
50     done
51   '';
53   meta = with lib; {
54     description = "Rust on mobile made easy!";
55     homepage = "https://tauri.app/";
56     license = with licenses; [
57       asl20 # or
58       mit
59     ];
60     maintainers = with maintainers; [ happysalada ];
61   };