use upstream bluesky PDS package
This commit is contained in:
+1
-76
@@ -1,76 +1 @@
|
||||
# Nixpkgs overlay for commonscomputing
|
||||
#
|
||||
# Overlays modify the global pkgs set. Anything that references
|
||||
# `pkgs.<name>` (including NixOS service modules using `mkPackageOption`)
|
||||
# automatically picks up our overrides without further config changes.
|
||||
#
|
||||
# Each override below should include a brief note about why we're overriding
|
||||
# and when the override can be removed (e.g. when nixpkgs catches up).
|
||||
|
||||
final: prev: {
|
||||
# Override bluesky-pds to v0.4.219 (latest tag in bluesky-social/pds repo).
|
||||
#
|
||||
# As of 2026-04-26 nixpkgs-unstable ships 0.4.204. The deployed version on
|
||||
# z-space (from our pinned flake.lock) is even older at 0.4.182.
|
||||
#
|
||||
# Notable changes between 0.4.182 and 0.4.219:
|
||||
# - Default PDS_BLOB_UPLOAD_LIMIT doubled to 100 MB (commit cc0e9ac)
|
||||
# - Rate limits enabled by default (PR #308)
|
||||
# - Node bumped to v20.20 (commit 0ef7817)
|
||||
# - pdsadmin account commands replaced with goat (PR #313)
|
||||
#
|
||||
# Remove this override once nixpkgs ships bluesky-pds >= 0.4.219.
|
||||
bluesky-pds = prev.bluesky-pds.overrideAttrs (old: rec {
|
||||
version = "0.4.219";
|
||||
|
||||
src = prev.fetchFromGitHub {
|
||||
owner = "bluesky-social";
|
||||
repo = "pds";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-zXNg1rtXN9qdTBvRlSiPlRu6k1Pv3T8nhROsEarev5U=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/service";
|
||||
patches = [];
|
||||
nativeBuildInputs =
|
||||
(builtins.filter (pkg: !(builtins.elem (pkg.pname or "") [ "nodejs" "pnpm" ])) old.nativeBuildInputs)
|
||||
++ [ prev.nodejs_22 prev.pnpm_9 ];
|
||||
|
||||
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.js" \
|
||||
--set-default NODE_ENV production
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/{bin,lib/pds}
|
||||
mv node_modules $out/lib/pds
|
||||
mv index.js $out/lib/pds
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
# pnpmDeps must be re-fetched whenever src changes because pnpm-lock.yaml
|
||||
# may have changed. The hash below was computed by running a build with
|
||||
# an empty hash and reading the correct one from the build failure.
|
||||
pnpmDeps = prev.fetchPnpmDeps {
|
||||
pname = "pds";
|
||||
inherit version src sourceRoot;
|
||||
pnpm = prev.pnpm_9;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-rZpimxX4oDXIaUdAkkNPEff6qYJ9C8KptsPWJKwPiFo=";
|
||||
};
|
||||
});
|
||||
}
|
||||
final: prev: { }
|
||||
|
||||
Reference in New Issue
Block a user