{ final, prev, ... }:
let
  inpPython = final.python310.override {};
in {
  cake-prometheus-exporter = prev.stdenv.mkDerivation rec {
    pname = "cake-prometheus-exporter";
    version = "0.0.0";

    src = ./cake-prometheus-exporter.py;

    phases = [ "buildPhase" "checkPhase" "installPhase" ];

    python = inpPython.withPackages (ps: with ps; []);

    buildPhase = ''
      substituteAll $src cake-prometheus-exporter
    '';

    doCheck = true;
    checkPhase = ''
      ${python}/bin/python -m py_compile cake-prometheus-exporter
    '';

    installPhase = ''
      install -m 0755 -D -t $out/bin \
        cake-prometheus-exporter
    '';
  };
}