gnu: shadowsocks: Build against openssl.
authorLeo Prikler <leo.prikler@student.tugraz.at>
Mon, 7 Dec 2020 20:28:18 +0000 (21:28 +0100)
committerMarius Bakke <marius@gnu.org>
Mon, 7 Dec 2020 23:45:56 +0000 (00:45 +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.

Signed-off-by: Marius Bakke <marius@gnu.org>
gnu/packages/networking.scm

index 8a84c84..1226b86 100644 (file)
@@ -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