Merge pull request #183261 from NickCao/mautrix-telegram
This commit is contained in:
commit
5079b0b84a
4 changed files with 76 additions and 53 deletions
43
pkgs/development/python-modules/cryptg/default.nix
Normal file
43
pkgs/development/python-modules/cryptg/default.nix
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, rustPlatform
|
||||||
|
, setuptools-rust
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "cryptg";
|
||||||
|
version = "0.3.1";
|
||||||
|
format = "setuptools";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "cher-nov";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-IhzwQrWu8k308ZZhWz4Z3FHAkSLTXiCydyiy0MPN8NI=";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||||
|
inherit src;
|
||||||
|
hash = "sha256-M2ySVqfgpgHktLh4t5Sh1UTBCzajlQiDku4O9azHJwk=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = with rustPlatform;[
|
||||||
|
setuptools-rust
|
||||||
|
cargoSetupHook
|
||||||
|
rust.rustc
|
||||||
|
rust.cargo
|
||||||
|
];
|
||||||
|
|
||||||
|
# has no tests
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "cryptg" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Official Telethon extension to provide much faster cryptography for Telegram API requests";
|
||||||
|
homepage = "https://github.com/cher-nov/cryptg";
|
||||||
|
license = licenses.cc0;
|
||||||
|
maintainers = with maintainers; [ nickcao ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -4,11 +4,11 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "mautrix";
|
pname = "mautrix";
|
||||||
version = "0.17.3";
|
version = "0.17.8";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "sha256-j49NrZJMDw8m5ZGP4DXxk7uzF+0BxDjs4coEkMDUP+0=";
|
sha256 = "sha256-DFajAD5mnXLQmJGRv4j2mWhtIj77nZNSQhbesX4qMys=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -1,95 +1,73 @@
|
||||||
{ lib, python3, mautrix-telegram, fetchFromGitHub
|
{ lib
|
||||||
|
, python3
|
||||||
|
, fetchFromGitHub
|
||||||
, withE2BE ? true
|
, withE2BE ? true
|
||||||
|
, withHQthumbnails ? false
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
python = python3.override {
|
python = python3.override {
|
||||||
packageOverrides = self: super: {
|
packageOverrides = self: super: {
|
||||||
asyncpg = super.asyncpg.overridePythonAttrs (oldAttrs: rec {
|
|
||||||
version = "0.25.0";
|
|
||||||
src = oldAttrs.src.override {
|
|
||||||
inherit version;
|
|
||||||
hash = "sha256-Y/jmppczsoVJfChVRko03mV/LMzSWurutQcYcuk4JUA=";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
mautrix = super.mautrix.overridePythonAttrs (oldAttrs: rec {
|
|
||||||
version = "0.16.3";
|
|
||||||
src = oldAttrs.src.override {
|
|
||||||
inherit (oldAttrs) pname;
|
|
||||||
inherit version;
|
|
||||||
sha256 = "sha256-OpHLh5pCzGooQ5yxAa0+85m/szAafV+l+OfipQcfLtU=";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
tulir-telethon = self.telethon.overridePythonAttrs (oldAttrs: rec {
|
tulir-telethon = self.telethon.overridePythonAttrs (oldAttrs: rec {
|
||||||
version = "1.25.0a7";
|
version = "1.25.0a20";
|
||||||
pname = "tulir-telethon";
|
pname = "tulir-telethon";
|
||||||
src = oldAttrs.src.override {
|
src = oldAttrs.src.override {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "sha256-+wHRrBluM0ejdHjIvSk28wOIfCfIyibBcmwG/ksbiac=";
|
sha256 = "sha256-X9oo+YCNMqQrJvQa/PIi9dFgaeQxbrlnwUJnwjRb6Jc=";
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# officially supported database drivers
|
|
||||||
dbDrivers = with python.pkgs; [
|
|
||||||
psycopg2
|
|
||||||
aiosqlite
|
|
||||||
# sqlite driver is already shipped with python by default
|
|
||||||
];
|
|
||||||
|
|
||||||
in python.pkgs.buildPythonPackage rec {
|
in python.pkgs.buildPythonPackage rec {
|
||||||
pname = "mautrix-telegram";
|
pname = "mautrix-telegram";
|
||||||
version = "0.11.3";
|
version = "0.12.0";
|
||||||
disabled = python.pythonOlder "3.8";
|
disabled = python.pythonOlder "3.8";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mautrix";
|
owner = "mautrix";
|
||||||
repo = "telegram";
|
repo = "telegram";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-PfER/wqJ607w0xVrFZadzmxYyj72O10c2lIvCW7LT8Y=";
|
sha256 = "sha256-SUwiRrTY8NgOGQ643prsm3ZklOlwX/59m/u1aewFuik=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./0001-Re-add-entrypoint.patch ];
|
patches = [ ./0001-Re-add-entrypoint.patch ];
|
||||||
|
|
||||||
propagatedBuildInputs = with python.pkgs; ([
|
propagatedBuildInputs = with python.pkgs; ([
|
||||||
Mako
|
|
||||||
aiohttp
|
|
||||||
mautrix
|
|
||||||
sqlalchemy
|
|
||||||
CommonMark
|
|
||||||
ruamel-yaml
|
ruamel-yaml
|
||||||
python-magic
|
python-magic
|
||||||
|
CommonMark
|
||||||
|
aiohttp
|
||||||
|
yarl
|
||||||
|
mautrix
|
||||||
tulir-telethon
|
tulir-telethon
|
||||||
telethon-session-sqlalchemy
|
|
||||||
pillow
|
|
||||||
lxml
|
|
||||||
setuptools
|
|
||||||
prometheus-client
|
|
||||||
] ++ lib.optionals withE2BE [
|
|
||||||
asyncpg
|
asyncpg
|
||||||
|
Mako
|
||||||
|
# optional
|
||||||
|
cryptg
|
||||||
|
cchardet
|
||||||
|
aiodns
|
||||||
|
brotli
|
||||||
|
pillow
|
||||||
|
qrcode
|
||||||
|
phonenumbers
|
||||||
|
prometheus-client
|
||||||
|
aiosqlite
|
||||||
|
] ++ lib.optionals withHQthumbnails [
|
||||||
|
moviepy
|
||||||
|
] ++ lib.optionals withE2BE [
|
||||||
python-olm
|
python-olm
|
||||||
pycryptodome
|
pycryptodome
|
||||||
unpaddedbase64
|
unpaddedbase64
|
||||||
]) ++ dbDrivers;
|
]);
|
||||||
|
|
||||||
# Tests are broken and throw the following for every test:
|
# has no tests
|
||||||
# TypeError: 'Mock' object is not subscriptable
|
|
||||||
#
|
|
||||||
# The tests were touched the last time in 2019 and upstream CI doesn't even build
|
|
||||||
# those, so it's safe to assume that this part of the software is abandoned.
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
checkInputs = with python.pkgs; [
|
|
||||||
pytest
|
|
||||||
pytest-mock
|
|
||||||
pytest-asyncio
|
|
||||||
];
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/mautrix/telegram";
|
homepage = "https://github.com/mautrix/telegram";
|
||||||
description = "A Matrix-Telegram hybrid puppeting/relaybot bridge";
|
description = "A Matrix-Telegram hybrid puppeting/relaybot bridge";
|
||||||
license = licenses.agpl3Plus;
|
license = licenses.agpl3Plus;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ nyanloutre ma27 ];
|
maintainers = with maintainers; [ nyanloutre ma27 nickcao ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2115,6 +2115,8 @@ in {
|
||||||
|
|
||||||
cryptacular = callPackage ../development/python-modules/cryptacular { };
|
cryptacular = callPackage ../development/python-modules/cryptacular { };
|
||||||
|
|
||||||
|
cryptg = callPackage ../development/python-modules/cryptg { };
|
||||||
|
|
||||||
cryptography = callPackage ../development/python-modules/cryptography {
|
cryptography = callPackage ../development/python-modules/cryptography {
|
||||||
inherit (pkgs.darwin) libiconv;
|
inherit (pkgs.darwin) libiconv;
|
||||||
inherit (pkgs.darwin.apple_sdk.frameworks) Security;
|
inherit (pkgs.darwin.apple_sdk.frameworks) Security;
|
||||||
|
|
Loading…
Reference in a new issue