{ stdenv, lib, python3Packages, fetchzip }:

python3Packages.buildPythonPackage rec {
  pname = "uffd";
  version = "2.0.1";
  PACKAGE_VERSION = version;

  src = fetchzip {
    url = "https://git.cccv.de/uffd/uffd/-/archive/v${version}/uffd-v${version}.tar.gz";
    hash = "sha256-KP4J1bw5u7MklaPu2SBFRNyGgkKOBOpft5MMH+em5M4=";
  };

  patches = [ ./forgejo-magic.patch ./fix-setuppy.patch ./fix-userinfo.patch ];

  propagatedBuildInputs = with python3Packages; [
    flask
    flask_sqlalchemy
    flask_migrate
    qrcode
    fido2
    oauthlib
    flask-babel
    argon2_cffi
    itsdangerous
    alembic
    Mako
  ];

  postPatch = ''
    sed -i -e 's/==[0-9.]\+//g' setup.py
  '';

  doCheck = false;
  doInstallCheck = false;
}