summary refs log tree commit diff
path: root/gnu/packages/ssh.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2021-02-11 12:04:13 +0200
committerEfraim Flashner <efraim@flashner.co.il>2021-02-11 12:04:37 +0200
commitf72ff06ef8a83a78ad625fe50ee5bb618ea4f37c (patch)
treef834e013e834b13f5bb4b2de7e1757ff94835954 /gnu/packages/ssh.scm
parentc9c68344ba1504d1ffae14a3c4f4bd11f595cc47 (diff)
downloadguix-f72ff06ef8a83a78ad625fe50ee5bb618ea4f37c.tar.gz
gnu: dropbear: Unbundle libraries.
* gnu/packages/ssh.scm (dropbear)[source]: Add snippet to remove
libtommath, libtomcrypt.
[arguments]: Add configure-flag to not use bundled libraries.
[inputs]: Add libtomcrypt, libtommath.
Diffstat (limited to 'gnu/packages/ssh.scm')
-rw-r--r--gnu/packages/ssh.scm22
1 files changed, 16 insertions, 6 deletions
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index 04c8c6ceaa..c94631036b 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -505,13 +505,23 @@ responsive, especially over Wi-Fi, cellular, and long-distance links.")
              "https://matt.ucc.asn.au/dropbear/releases/"
              "dropbear-" version ".tar.bz2"))
        (sha256
-        (base32 "0fy5ma4cfc2pk25mcccc67b2mf1rnb2c06ilb7ddnxbpnc85s8s8"))))
+        (base32 "0fy5ma4cfc2pk25mcccc67b2mf1rnb2c06ilb7ddnxbpnc85s8s8"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (delete-file-recursively "libtommath")
+           (delete-file-recursively "libtomcrypt")
+           (substitute* "configure"
+             (("-ltomcrypt") "-ltomcrypt -ltommath"))
+           #t))))
     (build-system gnu-build-system)
-    (arguments `(#:tests? #f))  ; there is no "make check" or anything similar
-    ;; TODO: Investigate unbundling libtommath and libtomcrypt or at least
-    ;; cherry-picking important bug fixes from them. See <bugs.gnu.org/24674>
-    ;; for more information.
-    (inputs `(("zlib" ,zlib)))
+    (arguments
+     `(#:configure-flags '("--disable-bundled-libtom")
+       #:tests? #f))    ; there is no "make check" or anything similar
+    (inputs
+     `(("libtomcrypt" ,libtomcrypt)
+       ("libtommath" ,libtommath)
+       ("zlib" ,zlib)))
     (synopsis "Small SSH server and client")
     (description "Dropbear is a relatively small SSH server and
 client.  It runs on a variety of POSIX-based platforms.  Dropbear is