final: prev: { # PDS 0.4.5009 aborts in better-sqlite3 under Node 24. Node 22 satisfies # PDS's Node 22+ requirement and keeps its native SQLite binding stable. bluesky-pds = prev.bluesky-pds.overrideAttrs (old: { nativeBuildInputs = (builtins.filter (pkg: (pkg.pname or "") != "nodejs") old.nativeBuildInputs) ++ [ prev.nodejs_22 ]; buildPhase = '' runHook preBuild pushd ./node_modules/.pnpm/better-sqlite3@*/node_modules/better-sqlite3 npm run build-release --offline --nodedir="${prev.srcOnly prev.nodejs_22}" find build -type f -exec remove-references-to -t "${prev.srcOnly prev.nodejs_22}" {} \; popd makeWrapper "${prev.nodejs_22}/bin/node" "$out/bin/pds" \ --add-flags --enable-source-maps \ --add-flags "$out/lib/pds/index.ts" \ --set-default NODE_ENV production runHook postBuild ''; }); }