diff options
-rw-r--r-- | overlays/default.nix | 8 | ||||
-rw-r--r-- | overlays/python3-mautrix-0-19.nix | 82 |
2 files changed, 89 insertions, 1 deletions
diff --git a/overlays/default.nix b/overlays/default.nix index ddb4f23..0dbd403 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -1 +1,7 @@ -self: super: { } +self: super: { + pythonPackagesExtensions = super.pythonPackagesExtensions ++ [ + (p-final: p-prev: { + mautrix_0_19 = super.python3Packages.callPackage ./python3-mautrix-0-19.nix { }; + }) + ]; +} diff --git a/overlays/python3-mautrix-0-19.nix b/overlays/python3-mautrix-0-19.nix new file mode 100644 index 0000000..b97730f --- /dev/null +++ b/overlays/python3-mautrix-0-19.nix @@ -0,0 +1,82 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder + # deps +, aiohttp +, attrs +, yarl + # optional deps +, python-magic +, python-olm +, unpaddedbase64 +, pycryptodome + # check deps +, pytestCheckHook +, pytest-asyncio +, aiosqlite +, sqlalchemy +, asyncpg +}: + +buildPythonPackage rec { + pname = "mautrix"; + version = "0.19.16"; + format = "setuptools"; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "mautrix"; + repo = "python"; + rev = "refs/tags/v${version}"; + hash = "sha256-aZlc4+J5Q+N9qEzGUMhsYguPdUy+E5I06wrjVyqvVDk="; + }; + + propagatedBuildInputs = [ + aiohttp + attrs + yarl + ]; + + passthru.optional-dependencies = { + detect_mimetype = [ + python-magic + ]; + encryption = [ + python-olm + unpaddedbase64 + pycryptodome + ]; + }; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + checkInputs = [ + pytest-asyncio + aiosqlite + sqlalchemy + asyncpg + ] ++ passthru.optional-dependencies.encryption; + + SQLALCHEMY_SILENCE_UBER_WARNING = 1; + + disabledTestPaths = [ + # sqlalchemy 2 unsupported + "mautrix/client/state_store/tests/store_test.py" + ]; + + pythonImportsCheck = [ + "mautrix" + ]; + + meta = with lib; { + description = "Asyncio Matrix framework"; + homepage = "https://github.com/tulir/mautrix-python"; + changelog = "https://github.com/mautrix/python/releases/tag/v${version}"; + license = licenses.mpl20; + maintainers = with maintainers; [ nyanloutre ma27 sumnerevans nickcao ]; + }; +} |