diff --git a/overlays/default.nix b/overlays/default.nix index 88232b5d..a17e401a 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -2,8 +2,8 @@ { flake.overlays = { packagesOverlay = import ../pkgs/overlay.nix; - # TEMPORARY: drop with the file once NixOS/nixpkgs#576853 reaches nixpkgs-unstable. - phpPr576853Overlay = import ./nixpkgs-pr-576853-php.nix; + # TEMPORARY: drop with the file once NixOS/nixpkgs#578265 reaches nixos-unstable. + posthogPr578265Overlay = import ./nixpkgs-pr-578265-posthog.nix; frappixFrappeOverlay = inputs.frappix.frappeOverlay.x86_64-linux; frappixLibsOverlay = inputs.frappix.libsOverlay.x86_64-linux; diff --git a/overlays/nixpkgs-pr-578265-posthog.nix b/overlays/nixpkgs-pr-578265-posthog.nix new file mode 100644 index 00000000..88bbb57c --- /dev/null +++ b/overlays/nixpkgs-pr-578265-posthog.nix @@ -0,0 +1,33 @@ +# TEMPORARY workaround for NixOS/nixpkgs#578265 (python3Packages.posthog: unbreak). +# nixpkgs#575004 bumped mcp 1.29 -> 2.2 and marked posthog broken; the only +# failure is one test in posthog's optional MCP integration (field rename in +# mcp 2). posthog is a runtime dependency of frappe, so frappix machines fail +# to evaluate without this. +# +# Remove once `nix flake update` pulls the PR in: delete this file and every +# reference to it (grep 578265). The overlay becomes a no-op and warns at eval +# time as soon as the locked nixpkgs no longer marks posthog broken. +_final: prev: +let + inherit (prev) lib; +in +{ + pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [ + (_pyFinal: pyPrev: { + posthog = + if !pyPrev.posthog.meta.broken then + lib.warn "nixpkgs no longer marks posthog broken: NixOS/nixpkgs#578265 has landed, remove overlays/nixpkgs-pr-578265-posthog.nix" pyPrev.posthog + else + pyPrev.posthog.overridePythonAttrs (old: { + disabledTests = old.disabledTests ++ [ + # AttributeError: 'CallToolResult' object has no attribute 'structuredContent' + # (mcp>=2 renamed the field to `structured_content`) + "test_prepare_tool_result_delivers_into_call_tool_result_models" + ]; + meta = old.meta // { + broken = false; + }; + }); + }) + ]; +}