biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / by-name / cl / clash-verge-rev / unwrapped.nix
blob966efa763d190b32a98887cfc6797e96a1cd47fb
2   pname,
3   version,
4   src,
5   libayatana-appindicator,
6   sysproxy-hash,
7   webui,
8   pkg-config,
9   rustPlatform,
10   makeDesktopItem,
11   meta,
12   webkitgtk_4_0,
13   openssl,
15 rustPlatform.buildRustPackage {
16   inherit version src meta;
17   pname = "${pname}-unwrapped";
18   sourceRoot = "${src.name}/src-tauri";
20   cargoLock = {
21     lockFile = ./Cargo-tauri.lock;
22     outputHashes = {
23       "sysproxy-0.3.0" = sysproxy-hash;
24     };
25   };
27   env = {
28     OPENSSL_NO_VENDOR = 1;
29   };
31   postPatch = ''
32     substituteInPlace $cargoDepsCopy/libappindicator-sys-*/src/lib.rs \
33       --replace "libayatana-appindicator3.so.1" "${libayatana-appindicator}/lib/libayatana-appindicator3.so.1"
34     substituteInPlace ./tauri.conf.json \
35       --replace-fail '"distDir": "../dist",' '"distDir": "${webui}",' \
36       --replace-fail '"beforeBuildCommand": "pnpm run web:build"' '"beforeBuildCommand": ""'
37     sed -i -e '/externalBin/d' -e '/resources/d' tauri.conf.json
38   '';
40   nativeBuildInputs = [
41     pkg-config
42     rustPlatform.cargoSetupHook
43   ];
45   buildInputs = [
46     openssl
47     webkitgtk_4_0
48   ];
50   postInstall = ''
51     install -DT icons/128x128@2x.png $out/share/icons/hicolor/128x128@2/apps/clash-verge.png
52     install -DT icons/128x128.png $out/share/icons/hicolor/128x128/apps/clash-verge.png
53     install -DT icons/32x32.png $out/share/icons/hicolor/32x32/apps/clash-verge.png
54   '';
56   desktopItems = [
57     (makeDesktopItem {
58       name = "clash-verge-rev";
59       exec = "clash-verge %u";
60       icon = "clash-verge-rev";
61       desktopName = "Clash Verge Rev";
62       genericName = meta.description;
63       mimeTypes = [ "x-scheme-handler/clash" ];
64       type = "Application";
65       terminal = false;
66     })
67   ];