From 5f4b7ad06ba6cc22591e7b35d540e847d82ac2c5 Mon Sep 17 00:00:00 2001 From: Sameer Hoosen Date: Mon, 7 Sep 2020 13:16:41 +0200 Subject: [PATCH 1/2] python38Packages.telethon: Patch find_library for libssl Telethon can use libssl to speed up encryption. The `find_library` call fails on NixOS because the environmental variables that get checked are obviously missing so we patch it with a direct path to libssl. https://github.com/LonamiWebs/Telethon/blob/8330635a725717390e1981848737b8988a419fe1/telethon/crypto/libssl.py#L19 --- pkgs/development/python-modules/telethon/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/python-modules/telethon/default.nix b/pkgs/development/python-modules/telethon/default.nix index f8c0661f0cd..c7cd37676d1 100644 --- a/pkgs/development/python-modules/telethon/default.nix +++ b/pkgs/development/python-modules/telethon/default.nix @@ -10,6 +10,11 @@ buildPythonPackage rec { sha256 = "1fg12gcg6ca7rjh7m3g48m30cx4aaw5g09855nlyz2sa1kw3gfyq"; }; + patchPhase = '' + substituteInPlace telethon/crypto/libssl.py --replace \ + "ctypes.util.find_library('ssl')" "'${openssl.out}/lib/libssl.so'" + ''; + propagatedBuildInputs = [ async_generator rsa From ffb0d3725841e6c37ae4dd74f15c3223eae799ef Mon Sep 17 00:00:00 2001 From: udf Date: Mon, 7 Sep 2020 22:47:30 +0200 Subject: [PATCH 2/2] python38Packages.telethon: add missing openssl input --- pkgs/development/python-modules/telethon/default.nix | 2 +- pkgs/top-level/python-packages.nix | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/telethon/default.nix b/pkgs/development/python-modules/telethon/default.nix index c7cd37676d1..2e51cf982b3 100644 --- a/pkgs/development/python-modules/telethon/default.nix +++ b/pkgs/development/python-modules/telethon/default.nix @@ -1,4 +1,4 @@ -{ lib, buildPythonPackage, fetchPypi, async_generator, rsa, pyaes, pythonOlder }: +{ lib, buildPythonPackage, fetchPypi, openssl, async_generator, rsa, pyaes, pythonOlder }: buildPythonPackage rec { pname = "telethon"; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e17ccce7f27..60a9e17f000 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6797,7 +6797,9 @@ in { telegram = callPackage ../development/python-modules/telegram { }; - telethon = callPackage ../development/python-modules/telethon { }; + telethon = callPackage ../development/python-modules/telethon { + inherit (pkgs) openssl; + }; telethon-session-sqlalchemy = callPackage ../development/python-modules/telethon-session-sqlalchemy { };