mirror of
https://github.com/anomalyco/opencode.git
synced 2026-02-01 22:48:16 +00:00
61 lines
1.1 KiB
Nix
61 lines
1.1 KiB
Nix
{
|
|
hash,
|
|
lib,
|
|
stdenvNoCC,
|
|
bun,
|
|
cacert,
|
|
curl,
|
|
}:
|
|
args:
|
|
stdenvNoCC.mkDerivation {
|
|
pname = "opencode-node_modules";
|
|
inherit (args) version src;
|
|
|
|
impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ [
|
|
"GIT_PROXY_COMMAND"
|
|
"SOCKS_SERVER"
|
|
];
|
|
|
|
nativeBuildInputs = [
|
|
bun
|
|
cacert
|
|
curl
|
|
];
|
|
|
|
dontConfigure = true;
|
|
|
|
buildPhase = ''
|
|
runHook preBuild
|
|
export HOME=$(mktemp -d)
|
|
export BUN_INSTALL_CACHE_DIR=$(mktemp -d)
|
|
bun install \
|
|
--cpu="*" \
|
|
--os="*" \
|
|
--frozen-lockfile \
|
|
--ignore-scripts \
|
|
--no-progress \
|
|
--linker=isolated
|
|
bun --bun ${args.canonicalizeScript}
|
|
bun --bun ${args.normalizeBinsScript}
|
|
runHook postBuild
|
|
'';
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
mkdir -p $out
|
|
while IFS= read -r dir; do
|
|
rel="''${dir#./}"
|
|
dest="$out/$rel"
|
|
mkdir -p "$(dirname "$dest")"
|
|
cp -R "$dir" "$dest"
|
|
done < <(find . -type d -name node_modules -prune | sort)
|
|
runHook postInstall
|
|
'';
|
|
|
|
dontFixup = true;
|
|
|
|
outputHashAlgo = "sha256";
|
|
outputHashMode = "recursive";
|
|
outputHash = hash;
|
|
}
|