fix(nix): pin python311 for atm-app native module build

nixpkgs 24.11 made `pkgs.python3` an alias for Python 3.12, which
removed `distutils` from stdlib. node-gyp@9.4.1 (transitively pulled
in by better-sqlite3) still imports `distutils.version`, so the app
derivation failed with `ModuleNotFoundError: No module named
'distutils'` on the better-sqlite3 rebuild step.

Pin to python311 — still in 24.11 nixpkgs. Drop once pnpm-lock bumps
better-sqlite3 to a release whose node-gyp@10+ doesn't need distutils.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Padreug 2026-05-26 08:56:34 +02:00
commit fdde0ea3ad

View file

@ -45,7 +45,10 @@ pkgs.stdenv.mkDerivation (finalAttrs: {
nodejs nodejs
pnpm pnpm
pkgs-unstable.pnpmConfigHook pkgs-unstable.pnpmConfigHook
pkgs.python3 # node-gyp (better-sqlite3) # node-gyp@9.4.1 (pulled in by better-sqlite3) imports distutils, which
# Python 3.12 removed. pkgs.python3 became 3.12 in nixpkgs 24.11. Pin
# 3.11 here until pnpm-lock bumps better-sqlite3 to a node-gyp@10+ build.
pkgs.python311
pkgs.pkg-config pkgs.pkg-config
pkgs.autoPatchelfHook # patch .node ELF binaries pkgs.autoPatchelfHook # patch .node ELF binaries
]; ];