From 29d57819f996c4089bb61bfb243db27990a78005 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Sat, 1 Nov 2025 16:27:16 +0800 Subject: [PATCH] rosenthal: Add mautrix-telegram. * modules/rosenthal/packages/messaging.scm (mautrix-telegram): New variable. --- modules/rosenthal/packages/messaging.scm | 84 ++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 modules/rosenthal/packages/messaging.scm diff --git a/modules/rosenthal/packages/messaging.scm b/modules/rosenthal/packages/messaging.scm new file mode 100644 index 0000000..d09e633 --- /dev/null +++ b/modules/rosenthal/packages/messaging.scm @@ -0,0 +1,84 @@ +;;; SPDX-FileCopyrightText: 2025 Hilton Chain +;;; +;;; SPDX-License-Identifier: GPL-3.0-or-later + +(define-module (rosenthal packages messaging) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages crypto) + #:use-module (gnu packages databases) + #:use-module (gnu packages monitoring) + #:use-module (gnu packages python-build) + #:use-module (gnu packages python-compression) + #:use-module (gnu packages python-crypto) + #:use-module (gnu packages python-web) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages serialization) + #:use-module (guix build-system pyproject) + #:use-module (guix gexp) + #:use-module (guix git-download) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (rosenthal packages python-xyz)) + +(define-public mautrix-telegram + (package + (name "mautrix-telegram") + (version "0.15.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mautrix/telegram") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ivhp827ypngq3p8m5bmiv1nk2x2c4y0z1c37rczjmq941dnlw63")))) + (build-system pyproject-build-system) + (arguments + (list #:tests? #f ;No test suite. + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-extras + (lambda _ + (let* ((bindir (in-vicinity #$output "bin")) + (etcdir (in-vicinity #$output "etc/mautrix-telegram")) + (bin (in-vicinity bindir "mautrix-telegram")) + (cfg (in-vicinity #$output "example-config.yaml"))) + (for-each mkdir-p (list bindir etcdir)) + (install-file cfg etcdir) + (delete-file cfg) + (call-with-output-file bin + (lambda (port) + (format port "~ +#!/bin/sh +python3 -m mautrix_telegram \"$@\"~%"))) + (chmod bin #o555))))))) + (native-inputs + (list python-setuptools)) + (propagated-inputs + (list python-asyncpg + python-commonmark + python-aiosqlite + python-magic + python-mako + python-mautrix + python-ruamel.yaml + python-tulir-telethon)) + (inputs + (list python-aiodns + python-aiosqlite + python-brotli + python-olm + python-phonenumbers + python-pillow + python-prometheus-client + python-pycryptodome + python-qrcode + python-socks + python-unpaddedbase64)) + (synopsis "Matrix-Telegram hybrid puppeting/relaybot bridge") + (description + "This package provides a Matrix-Telegram hybrid puppeting/relaybot +bridge.") + (home-page "https://github.com/mautrix/telegram") + (license license:agpl3+)))