diff --git a/pkgs/applications/networking/instant-messengers/telegram/tg/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tg/default.nix new file mode 100644 index 000000000000..0918bfee91e2 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/telegram/tg/default.nix @@ -0,0 +1,25 @@ +{ lib, buildPythonApplication, fetchFromGitHub, pythonOlder, python-telegram }: + +buildPythonApplication rec { + pname = "tg"; + version = "0.19.0"; + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "paul-nameless"; + repo = pname; + rev = "v${version}"; + hash = "sha256-apHd26XnOz5nak+Kz8PJPsonQfTWDyPz7Mi/tWf7zwM="; + }; + + propagatedBuildInputs = [ python-telegram ]; + + doCheck = false; # No tests + + meta = with lib; { + description = "Terminal client for telegram"; + homepage = "https://github.com/paul-nameless/tg"; + license = licenses.unlicense; + maintainers = with maintainers; [ sikmir ]; + }; +} diff --git a/pkgs/development/python-modules/python-telegram/default.nix b/pkgs/development/python-modules/python-telegram/default.nix new file mode 100644 index 000000000000..0809a739be4f --- /dev/null +++ b/pkgs/development/python-modules/python-telegram/default.nix @@ -0,0 +1,52 @@ +{ lib +, stdenv +, fetchpatch +, buildPythonPackage +, fetchPypi +, pythonOlder +, setuptools +, tdlib +}: + +buildPythonPackage rec { + pname = "python-telegram"; + version = "0.15.0"; + disabled = pythonOlder "3.6"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-Na2NIiVgYexKbEqjN58hfkgxwFdCTL7Z7D3WEhL4wXA="; + }; + + patches = [ + # Search for the system library first, and fallback to the embedded one if the system was not found + (fetchpatch { + url = "https://github.com/alexander-akhmetov/python-telegram/commit/b0af0985910ebb8940cff1b92961387aad683287.patch"; + sha256 = "sha256-ZqsntaiC2y9l034gXDMeD2BLO/RcsbBII8FomZ65/24="; + }) + ]; + + postPatch = '' + # Remove bundled libtdjson + rm -fr telegram/lib + + substituteInPlace telegram/tdjson.py \ + --replace "ctypes.util.find_library(\"libtdjson\")" \ + "\"${tdlib}/lib/libtdjson${stdenv.hostPlatform.extensions.sharedLibrary}\"" + ''; + + propagatedBuildInputs = [ + setuptools + ]; + + pythonImportsCheck = [ + "telegram.client" + ]; + + meta = with lib; { + description = "Python client for the Telegram's tdlib"; + homepage = "https://github.com/alexander-akhmetov/python-telegram"; + license = licenses.mit; + maintainers = with maintainers; [ sikmir ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ac5181607169..3dcf805fd276 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -30795,6 +30795,8 @@ with pkgs; telegram-cli = callPackage ../applications/networking/instant-messengers/telegram/telegram-cli { }; + tg = python3Packages.callPackage ../applications/networking/instant-messengers/telegram/tg { }; + telepathy-gabble = callPackage ../applications/networking/instant-messengers/telepathy/gabble { }; telepathy-haze = callPackage ../applications/networking/instant-messengers/telepathy/haze {}; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 53898c7420d6..39fb89dcefb9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8860,6 +8860,8 @@ in { python-stdnum = callPackage ../development/python-modules/python-stdnum { }; + python-telegram = callPackage ../development/python-modules/python-telegram { }; + python-telegram-bot = callPackage ../development/python-modules/python-telegram-bot { }; python-toolbox = callPackage ../development/python-modules/python-toolbox { };