diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/mautrix-telegram')
-rw-r--r-- | nixpkgs/pkgs/servers/mautrix-telegram/default.nix | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/mautrix-telegram/default.nix b/nixpkgs/pkgs/servers/mautrix-telegram/default.nix new file mode 100644 index 000000000000..da4f77e3394c --- /dev/null +++ b/nixpkgs/pkgs/servers/mautrix-telegram/default.nix @@ -0,0 +1,61 @@ +{ lib, python3, mautrix-telegram }: + +with python3.pkgs; + +buildPythonPackage rec { + pname = "mautrix-telegram"; + version = "0.8.1"; + disabled = pythonOlder "3.6"; + + src = fetchPypi { + inherit pname version; + sha256 = "1gz6d28dq3ykvr3wp85wkc05lbppdzf5j9i62pgx0blmx3jh0yrk"; + }; + + postPatch = '' + sed -i -e '/alembic>/d' requirements.txt + ''; + + propagatedBuildInputs = [ + Mako + aiohttp + mautrix + sqlalchemy + CommonMark + ruamel_yaml + future-fstrings + python_magic + telethon + telethon-session-sqlalchemy + pillow + lxml + setuptools + ]; + + # `alembic` (a database migration tool) is only needed for the initial setup, + # and not needed during the actual runtime. However `alembic` requires `mautrix-telegram` + # in its environment to create a database schema from all models. + # + # Hence we need to patch away `alembic` from `mautrix-telegram` and create an `alembic` + # which has `mautrix-telegram` in its environment. + passthru.alembic = alembic.overrideAttrs (old: { + propagatedBuildInputs = old.propagatedBuildInputs ++ [ + mautrix-telegram + ]; + }); + + checkInputs = [ + pytest + pytestrunner + pytest-mock + pytest-asyncio + ]; + + meta = with lib; { + homepage = "https://github.com/tulir/mautrix-telegram"; + description = "A Matrix-Telegram hybrid puppeting/relaybot bridge"; + license = licenses.agpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ nyanloutre ma27 ]; + }; +} |