From 78e4f9d8d7f6124713a7694140e44713fe70e209 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 27 Feb 2017 18:03:34 +0100 Subject: [PATCH] libevent: split _openssl into a separate output ... to save ~3.4 MB of openssl from the default closure. --- pkgs/development/libraries/libevent/default.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libevent/default.nix b/pkgs/development/libraries/libevent/default.nix index 4abd0b033757..d2ba84bb5dd9 100644 --- a/pkgs/development/libraries/libevent/default.nix +++ b/pkgs/development/libraries/libevent/default.nix @@ -23,11 +23,21 @@ stdenv.mkDerivation { | grep -v '^dh-autoreconf' | sed 's|^|debian/patches/|')" ''; - outputs = [ "out" "dev" ]; + # libevent_openssl is moved into its own output, so that openssl isn't present + # in the default closure. + outputs = [ "out" "dev" "openssl" ]; outputBin = "dev"; + propagatedBuildOutputs = [ "out" "openssl" ]; buildInputs = [ openssl ] ++ stdenv.lib.optional stdenv.isCygwin findutils; + postInstall = '' + moveToOutput "lib/libevent_openssl*" "$openssl" + substituteInPlace "$dev/lib/pkgconfig/libevent_openssl.pc" \ + --replace "$out" "$openssl" + sed "/^libdir=/s|$out|$openssl|" -i "$openssl"/lib/libevent_openssl.la + ''; + meta = with stdenv.lib; { description = "Event notification library"; longDescription = ''