55 lines
1.4 KiB
Nix
55 lines
1.4 KiB
Nix
|
{ lib
|
||
|
, stdenv
|
||
|
, rustPlatform
|
||
|
, fetchFromGitHub
|
||
|
, pkg-config
|
||
|
, openssl
|
||
|
, git
|
||
|
, darwin
|
||
|
, makeWrapper
|
||
|
}:
|
||
|
|
||
|
let
|
||
|
inherit (darwin.apple_sdk.frameworks) CoreServices;
|
||
|
pname = "tauri-mobile";
|
||
|
version = "unstable-2023-04-25";
|
||
|
in
|
||
|
rustPlatform.buildRustPackage {
|
||
|
inherit pname version;
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "tauri-apps";
|
||
|
repo = pname;
|
||
|
rev = "c2abaf54135bf65b1165a38d3b1d84e8d57f5d6c";
|
||
|
sha256 = "sha256-WHyiswe64tkNhhgmHquv9YPLQAU1yTJ/KglTqEPBcOM=";
|
||
|
};
|
||
|
|
||
|
# Manually specify the sourceRoot since this crate depends on other crates in the workspace. Relevant info at
|
||
|
# https://discourse.nixos.org/t/difficulty-using-buildrustpackage-with-a-src-containing-multiple-cargo-workspaces/10202
|
||
|
# sourceRoot = "source/tooling/cli";
|
||
|
|
||
|
cargoHash = "sha256-Kc1BikwUYSpPShRtAPbHCdfVzo6zwjiO3QeqRkO+WhY=";
|
||
|
|
||
|
preBuild = ''
|
||
|
export HOME=$(mktemp -d)
|
||
|
'';
|
||
|
|
||
|
buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ CoreServices ];
|
||
|
nativeBuildInputs = [ pkg-config git makeWrapper ];
|
||
|
|
||
|
preInstall = ''
|
||
|
mkdir -p $out/share/
|
||
|
# the directory created in the build process is .tauri-mobile, a hidden directory
|
||
|
shopt -s dotglob
|
||
|
for temp_dir in $HOME/*; do
|
||
|
cp -R $temp_dir $out/share
|
||
|
done
|
||
|
'';
|
||
|
|
||
|
meta = with lib; {
|
||
|
description = "Rust on mobile made easy! ";
|
||
|
homepage = "https://tauri.app/";
|
||
|
license = with licenses; [ asl20 /* or */ mit ];
|
||
|
maintainers = with maintainers; [ happysalada ];
|
||
|
};
|
||
|
}
|