anchor.diff:  { lib, python3, mautrix-telegram, fetchFromGitHub }:
   
  -with python3.pkgs;
  +let
  +  python = python3.override {
  +    packageOverrides = self: super: {
  +      sqlalchemy = super.sqlalchemy.overridePythonAttrs (oldAttrs: rec {
  +        version = "1.3.24";
  +        src = oldAttrs.src.override {
  +          inherit version;
  +          sha256 = "ebbb777cbf9312359b897bf81ba00dae0f5cb69fba2a18265dcc18a6f5ef7519";
  +        };
  +      });
  +    };
  +  };
   
  -let
     # officially supported database drivers
  -  dbDrivers = [
  +  dbDrivers = with python.pkgs; [
       psycopg2
       # sqlite driver is already shipped with python by default
     ];
   
  -in buildPythonPackage rec {
  +in python.pkgs.buildPythonPackage rec {
     pname = "mautrix-telegram";
     version = "0.9.0";
  -  disabled = pythonOlder "3.7";
  +  disabled = python.pythonOlder "3.7";
   
     src = fetchFromGitHub {
       owner = "tulir";
  
positive.code:   # The tests were touched the last time in 2019 and upstream CI doesn't even build
    # those, so it's safe to assume that this part of the software is abandoned.
    doCheck = false;
    checkInputs = [
      pytest
      pytest-mock
      pytest-asyncio
  
negative.code:   #
    # Hence we need to patch away `alembic` from `mautrix-telegram` and create an `alembic`
    # which has `mautrix-telegram` in its environment.
    passthru.alembic = python.pkgs.alembic.overrideAttrs (old: {
      propagatedBuildInputs = old.propagatedBuildInputs ++ dbDrivers ++ [
        mautrix-telegram
      ];
  