aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/tls.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-09-09 19:01:48 +0200
committerLudovic Courtès <ludo@gnu.org>2015-09-09 19:01:48 +0200
commit784d6e9115990b9f44a19d1fbf6d1f84c3e1bfaa (patch)
treeb007e8a905d10307bde91b088203b9aa7e92359d /gnu/packages/tls.scm
parentfe8199a80c1bfded8f1563fd61f1e95ae3ac60fb (diff)
downloadguix-784d6e9115990b9f44a19d1fbf6d1f84c3e1bfaa.tar
guix-784d6e9115990b9f44a19d1fbf6d1f84c3e1bfaa.tar.gz
gnu: openssl: Remove run-time dependency on Perl.
This shrinks the closure of OpenSSL from 154 MiB to 73 MiB. * gnu/packages/patches/openssl-c-rehash.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/tls.scm (openssl)[source]: Use it. [arguments]: Add 'remove-miscellany' phase. * gnu/packages/certs.scm (nss-certs)[native-inputs]: Add PERL.
Diffstat (limited to 'gnu/packages/tls.scm')
-rw-r--r--gnu/packages/tls.scm15
1 files changed, 13 insertions, 2 deletions
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index e7baa52ec5..8b607dff33 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -195,7 +195,9 @@ required structures.")
(sha256
(base32
"1j58r7rdj9fz2lanir8ajbx4bspb5jnm5ikl6dq8lql5fx43c737"))
- (patches (list (search-patch "openssl-runpath.patch")))))
+ (patches (map search-patch
+ '("openssl-runpath.patch"
+ "openssl-c-rehash.patch")))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)))
(arguments
@@ -255,7 +257,16 @@ required structures.")
(("/bin/sh")
(string-append bash "/bin/bash"))
(("/bin/rm")
- "rm"))))))))
+ "rm")))))
+ (add-after
+ 'install 'remove-miscellany
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; The 'misc' directory contains random undocumented shell and Perl
+ ;; scripts. Remove them to avoid retaining a reference on Perl.
+ (let ((out (assoc-ref outputs "out")))
+ (delete-file-recursively (string-append out "/share/openssl-"
+ ,version "/misc"))
+ #t))))))
(native-search-paths
;; FIXME: These two variables must designate a single file or directory
;; and are not actually "search paths." In practice it works OK in user