Commit 1c9e9f97 authored by Sergei Trofimovich's avatar Sergei Trofimovich
Browse files

postfix: mangle store paths in /etc/postfix/makedefs.out

Before the change closure size is:

    $ nix path-info -rsSh $(nix-build --no-link -A postfix) | nl | unnix | tail -n 1
        63  /<<NIX>>/postfix-3.8.2  21.9M  177.9M

After the change:

    $ nix path-info -rsSh $(nix-build --no-link -A postfix) | nl | unnix | tail -n 1
        55  /<<NIX>>/postfix-3.8.2  21.9M  166.0M
parent 312aa96f
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -99,6 +99,11 @@ in stdenv.mkDerivation rec {
      --prefix PATH ":" ${lib.makeBinPath [ coreutils findutils gnugrep ]}
    wrapProgram $out/libexec/postfix/postfix-script \
      --prefix PATH ":" ${lib.makeBinPath [ coreutils findutils gnugrep gawk gnused ]}

    # Avoid dev-only outputs from being retained in final closure.
    # `makedefs.out` is a documenttation-only file. It should be safe
    # to store invalid store paths there.
    sed -e "s|$NIX_STORE/[a-z0-9]\{32\}-|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g" -i $out/etc/postfix/makedefs.out
  '';

  passthru = {