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
This commit is contained in:
Sergei Trofimovich 2023-09-26 04:28:17 +01:00
parent 312aa96fe6
commit 1c9e9f97ee

View File

@ -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 = {