| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- { hash, lib, stdenvNoCC, bun, cacert, curl }:
- args:
- stdenvNoCC.mkDerivation {
- pname = "opencode-node_modules";
- version = args.version;
- src = args.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;
- }
|