From e7793a6cefa823cd418798e6575bb168f2de24a1 Mon Sep 17 00:00:00 2001 From: Anish Lakhwara Date: Tue, 18 Aug 2026 19:36:05 -0700 Subject: [PATCH] run PDS on Node 22 --- overlays/default.nix | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/overlays/default.nix b/overlays/default.nix index ce16870..d70f21f 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -1 +1,25 @@ -final: prev: { } +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 + ''; + }); +}