summary refs log tree commit diff
path: root/gnu/packages/patches
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/patches
parentfe8199a80c1bfded8f1563fd61f1e95ae3ac60fb (diff)
downloadguix-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/patches')
-rw-r--r--gnu/packages/patches/openssl-c-rehash.patch17
1 files changed, 17 insertions, 0 deletions
diff --git a/gnu/packages/patches/openssl-c-rehash.patch b/gnu/packages/patches/openssl-c-rehash.patch
new file mode 100644
index 0000000000..f873a9af23
--- /dev/null
+++ b/gnu/packages/patches/openssl-c-rehash.patch
@@ -0,0 +1,17 @@
+This patch removes the explicit reference to the 'perl' binary,
+such that OpenSSL does not retain a reference to Perl.
+
+The 'c_rehash' program is seldom used, but it is used nonetheless
+to create symbolic links to certificates, for instance in the 'nss-certs'
+package.
+
+--- openssl-1.0.2d/tools/c_rehash	2015-09-09 18:36:07.313316482 +0200
++++ openssl-1.0.2d/tools/c_rehash	2015-09-09 18:36:28.965458458 +0200
+@@ -1,4 +1,6 @@
+-#!/usr/bin/perl
++eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
++  & eval 'exec perl -wS "$0" $argv:q'
++    if 0;
+ 
+ # Perl c_rehash script, scan all files in a directory
+ # and add symbolic links to their hash values.