Subject: [PATCH] gnu: shadowsocks: Build against openssl.

From: Leo Prikler <[email-masked]>
Date: Mon, 7 Dec 2020 21:28:18 +0100

This patch allows shadowsocks to be used without supplying libopenssl in its
configuration.  See also https://unix.stackexchange.com/questions/623324/.

* gnu/packages/networking.scm (shadowsocks)[inputs]: Add openssl.
[#:phases]: Add patch-crypto-paths.
---
 gnu/packages/networking.scm | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 8a84c8476a..1f50c76962 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -3024,6 +3024,19 @@ asynchronous model using a modern C++ approach.")
                  (base32
                   "1idd9b4f2pnhcpk1bh030hqg5zq25gkwxd53xi3c0cj242w7sp2j"))
                 (file-name (git-file-name name version))))
+      (inputs
+       `(("openssl" ,openssl)))
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'patch-crypto-paths
+             (lambda* (#:key inputs #:allow-other-keys)
+               (substitute* "shadowsocks/shell.py"
+                 (("config\\.get\\('libopenssl', None\\)")
+                  (format #f "config.get('libopenssl', ~s)"
+                          (string-append
+                           (assoc-ref inputs "openssl")
+                           "/lib/libssl.so"))))))))))
       (build-system python-build-system)
       (synopsis "Fast tunnel proxy that helps you bypass firewalls")
       (description
-- 
2.29.2