73 lines
1.4 KiB
Nix
73 lines
1.4 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
cargo-tauri,
|
|
glib-networking,
|
|
libayatana-appindicator,
|
|
nodejs,
|
|
openssl,
|
|
pkg-config,
|
|
pnpm_9,
|
|
rustPlatform,
|
|
webkitgtk_4_1,
|
|
wrapGAppsHook4,
|
|
}:
|
|
|
|
let
|
|
pnpm = pnpm_9;
|
|
in
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "test-app";
|
|
inherit (cargo-tauri) version src;
|
|
|
|
postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
|
|
substituteInPlace $cargoDepsCopy/libappindicator-sys-*/src/lib.rs \
|
|
--replace "libayatana-appindicator3.so.1" "${libayatana-appindicator}/lib/libayatana-appindicator3.so.1"
|
|
'';
|
|
|
|
inherit (cargo-tauri) cargoDeps;
|
|
|
|
pnpmDeps = pnpm.fetchDeps {
|
|
inherit (finalAttrs)
|
|
pname
|
|
version
|
|
src
|
|
;
|
|
|
|
hash = "sha256-kTr61DFPIIYceB8tZrKFaMG65CZ//djGEOQBLRNPotk=";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
cargo-tauri.hook
|
|
|
|
nodejs
|
|
pkg-config
|
|
pnpm.configHook
|
|
rustPlatform.cargoCheckHook
|
|
rustPlatform.cargoSetupHook
|
|
wrapGAppsHook4
|
|
];
|
|
|
|
buildInputs =
|
|
[ openssl ]
|
|
++ lib.optionals stdenv.hostPlatform.isLinux [
|
|
glib-networking
|
|
libayatana-appindicator
|
|
webkitgtk_4_1
|
|
];
|
|
|
|
buildAndTestSubdir = "examples/api/src-tauri";
|
|
|
|
# This example depends on the actual `api` package to be built in-tree
|
|
preBuild = ''
|
|
pnpm --filter '@tauri-apps/api' build
|
|
'';
|
|
|
|
# No one should be actually running this, so lets save some time
|
|
buildType = "debug";
|
|
doCheck = false;
|
|
|
|
meta = {
|
|
inherit (cargo-tauri.hook.meta) platforms;
|
|
};
|
|
})
|