biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / tools / rust / cargo-mobile2 / default.nix
blob1aecd6d91973b4ae05b90fb29db371e5cff5a5c8
1 { lib
2 , stdenv
3 , rustPlatform
4 , fetchFromGitHub
5 , pkg-config
6 , openssl
7 , git
8 , darwin
9 , makeWrapper
12 let
13   inherit (darwin.apple_sdk.frameworks) CoreServices;
14   pname = "cargo-mobile2";
15   version = "0.11.1";
17 rustPlatform.buildRustPackage {
18   inherit pname version;
19   src = fetchFromGitHub {
20     owner = "tauri-apps";
21     repo = pname;
22     rev = "cargo-mobile2-v${version}";
23     hash = "sha256-HLDuWEKLij1hTKxf3lrAb4d2DIHzzkj4kuiZXgQwH4Q=";
24   };
26   # Manually specify the sourceRoot since this crate depends on other crates in the workspace. Relevant info at
27   # https://discourse.nixos.org/t/difficulty-using-buildrustpackage-with-a-src-containing-multiple-cargo-workspaces/10202
28   # sourceRoot = "${src.name}/tooling/cli";
30   cargoHash = "sha256-jCsP5xhNkqnwz8HocUzzf17omU8WDNrL/WVj/lP+51w=";
32   preBuild = ''
33     mkdir -p $out/share/
34     # during the install process tauri-mobile puts templates and commit information in CARGO_HOME
35     export CARGO_HOME=$out/share/
36   '';
38   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ CoreServices ];
39   nativeBuildInputs = [ pkg-config git makeWrapper ];
41   preFixup = ''
42     for bin in $out/bin/cargo-*; do
43       wrapProgram $bin \
44         --set CARGO_HOME "$out/share"
45     done
46   '';
48   meta = with lib; {
49     description = "Rust on mobile made easy! ";
50     homepage = "https://tauri.app/";
51     license = with licenses; [ asl20 /* or */ mit ];
52     maintainers = with maintainers; [ happysalada ];
53   };