From a732c14010c35fca93f41fd8c0d6598548af5f84 Mon Sep 17 00:00:00 2001 From: imxyy_soope_ Date: Fri, 17 Jul 2026 12:11:57 +0800 Subject: [PATCH] mautrix-telegram: fix --- hosts/imxyy-nix-server/matrix.nix | 14 ++++++-- overlays/default.nix | 7 ++++ ...rix-telegram-use-importlib-resources.patch | 36 +++++++++++++++++++ 3 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 overlays/mautrix-telegram-use-importlib-resources.patch diff --git a/hosts/imxyy-nix-server/matrix.nix b/hosts/imxyy-nix-server/matrix.nix index c6479fb..9468398 100644 --- a/hosts/imxyy-nix-server/matrix.nix +++ b/hosts/imxyy-nix-server/matrix.nix @@ -1,12 +1,20 @@ { + lib, + pkgs, config, secrets, ... }: { - nixpkgs.config.permittedInsecurePackages = [ - "olm-3.2.16" - ]; + nixpkgs.config.permittedInsecurePackages = ( + lib.warn + '' + mautrix-telegram still using olm-3.2.16 + '' + [ + "olm-3.2.16" + ] + ); sops.secrets.tuwunel-reg-token = { sopsFile = secrets.tuwunel-reg-token; restartUnits = [ "tuwunel.service" ]; diff --git a/overlays/default.nix b/overlays/default.nix index e33cc07..c04f643 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -18,6 +18,13 @@ "LANDLOCK_ACCESS_FS_READ_FILE | LANDLOCK_ACCESS_FS_READ_DIR" \ "LANDLOCK_ACCESS_FS_READ_FILE | LANDLOCK_ACCESS_FS_READ_DIR | LANDLOCK_ACCESS_FS_EXECUTE" ''; + + mautrix-telegram.__input.python3.__input.packageOverrides.__assign = _pyfinal: pyprev: { + telethon = pyprev.telethon.overridePythonAttrs { + disabled = false; + }; + }; + mautrix-telegram.__output.patches.__append = [ ./mautrix-telegram-use-importlib-resources.patch ]; }; }; } diff --git a/overlays/mautrix-telegram-use-importlib-resources.patch b/overlays/mautrix-telegram-use-importlib-resources.patch new file mode 100644 index 0000000..bcacda1 --- /dev/null +++ b/overlays/mautrix-telegram-use-importlib-resources.patch @@ -0,0 +1,36 @@ +diff --git a/mautrix_telegram/web/public/__init__.py b/mautrix_telegram/web/public/__init__.py +index cde3735..d911779 100644 +--- a/mautrix_telegram/web/public/__init__.py ++++ b/mautrix_telegram/web/public/__init__.py +@@ -23,7 +23,7 @@ import time + + from aiohttp import web + from mako.template import Template +-import pkg_resources ++from importlib.resources import files + + from mautrix.types import UserID + from mautrix.util.signed_token import sign_token, verify_token +@@ -45,11 +45,11 @@ class PublicBridgeWebsite(AuthAPI): + self.secret_key = "".join(random.choices(string.ascii_lowercase + string.digits, k=64)) + + self.login = Template( +- pkg_resources.resource_string("mautrix_telegram", "web/public/login.html.mako") ++ files("mautrix_telegram").joinpath("web/public/login.html.mako").read_bytes() + ) + + self.mx_login = Template( +- pkg_resources.resource_string("mautrix_telegram", "web/public/matrix-login.html.mako") ++ files("mautrix_telegram").joinpath("web/public/matrix-login.html.mako").read_bytes() + ) + + self.app = web.Application(loop=loop) +@@ -58,7 +58,7 @@ class PublicBridgeWebsite(AuthAPI): + self.app.router.add_route("GET", "/matrix-login", self.get_matrix_login) + self.app.router.add_route("POST", "/matrix-login", self.post_matrix_login) + self.app.router.add_static( +- "/", pkg_resources.resource_filename("mautrix_telegram", "web/public/") ++ "/", str(files("mautrix_telegram").joinpath("web/public/")) + ) + + def make_token(self, mxid: str, endpoint: str = "/login", expires_in: int = 900) -> str: