mirror of
https://github.com/Melorise/cp-nix.git
synced 2026-11-07 14:39:34 +00:00
61 lines
1.2 KiB
Nix
61 lines
1.2 KiB
Nix
{
|
|
lib,
|
|
rustPlatform,
|
|
fetchPnpmDeps,
|
|
nodejs_22,
|
|
pnpm_10,
|
|
pnpmConfigHook,
|
|
sysproxySrc,
|
|
}:
|
|
|
|
rustPlatform.buildRustPackage (finalAttrs: {
|
|
pname = "clash-party-sysproxy";
|
|
version = "0.5.1";
|
|
src = sysproxySrc;
|
|
|
|
cargoLock.lockFile = ./sysproxy-Cargo.lock;
|
|
|
|
pnpmDeps = fetchPnpmDeps {
|
|
pname = finalAttrs.pname;
|
|
version = finalAttrs.version;
|
|
src = sysproxySrc;
|
|
pnpm = pnpm_10;
|
|
fetcherVersion = 4;
|
|
prePnpmInstall = ''
|
|
pnpm config set fetch-retries 5
|
|
pnpm config set fetch-timeout 120000
|
|
pnpm config set network-concurrency 4
|
|
'';
|
|
hash = "sha256-n/unBCkpSSShYliEeeWOAjM7r7ZUdfROBYyqzw8JLB0=";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
nodejs_22
|
|
pnpmConfigHook
|
|
pnpm_10
|
|
];
|
|
|
|
postPatch = ''
|
|
rm -f .cargo/config.toml
|
|
cp ${./sysproxy-Cargo.lock} Cargo.lock
|
|
chmod u+w Cargo.lock
|
|
'';
|
|
|
|
buildPhase = ''
|
|
runHook preBuild
|
|
pnpm exec napi build --platform --release
|
|
runHook postBuild
|
|
'';
|
|
|
|
# N-API symbols are supplied by Node/Electron when the module is loaded, so
|
|
# Cargo's standalone test-link step cannot resolve them.
|
|
doCheck = false;
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
mkdir -p $out
|
|
cp sysproxy.*.node $out/
|
|
runHook postInstall
|
|
'';
|
|
})
|