aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsefidel <contact@sefidel.net>2023-11-12 20:01:02 +0900
committersefidel <contact@sefidel.net>2023-11-12 20:06:54 +0900
commit8b8ff419adb3e38af1e20e7c8a1ad79951328fb6 (patch)
treef37ee20bcfb58e753e647cd9cd26e52c785170e1
parent4e9dc134d4323856f29cdcda4979ce3682753d72 (diff)
downloadinfra-8b8ff419adb3e38af1e20e7c8a1ad79951328fb6.zip
feat(overlays): add python3Packages.mautrix_0_19
-rw-r--r--overlays/default.nix8
-rw-r--r--overlays/python3-mautrix-0-19.nix82
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 ];
+ };
+}