{ 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; }; })