@@ -77,7 +77,7 @@ let
7777 if materialized != null && !__pathExists materialized
7878 then ''
7979 echo "Materialized nix used for ${name} is missing. To fix run :" >> $ERR
80− echo " cp -r ${calculateNoHash} ${toString materialized}" >> $ERR
80+ echo " cp -Lr ${calculateNoHash} ${toString materialized}" >> $ERR
8181 echo " chmod -R +w ${toString materialized}" >> $ERR
8282 cat $ERR
8383 false
@@ -91,7 +91,7 @@ let
9191 diff -ru ${materialized} ${calculateNoHash} || true
9292 echo "Materialized nix used for ${name} incorrect. To fix run :" >> $ERR
9393 echo " rm -rf ${toString materialized}" >> $ERR
94− echo " cp -r ${calculateNoHash} ${toString materialized}" >> $ERR
94+ echo " cp -Lr ${calculateNoHash} ${toString materialized}" >> $ERR
9595 echo " chmod -R +w ${toString materialized}" >> $ERR
9696 fi
9797 '')
@@ -100,7 +100,7 @@ let
100100 cat $ERR
101101 false
102102 else
103− cp -r ${unchecked} $out
103+ cp -Lr ${unchecked} $out
104104 # Make sure output files can be removed from the sandbox
105105 chmod -R +w $out
106106 fi
@@ -114,10 +114,10 @@ let
114114 };
115115 calculateNoHash = derivation;
116116 calculateUseHash =
117− # Use `cp -r` here to get rid of symlinks so we know the result
117+ # Use `cp -Lr` here to get rid of symlinks so we know the result
118118 # can be safely materialized (no symlinks to the store).
119119 runCommand name hashArgs ''
120− cp -r ${derivation} $out
120+ cp -Lr ${derivation} $out
121121 # Make sure output files can be removed from the sandbox
122122 chmod -R +w $out
123123 '';
@@ -125,7 +125,7 @@ let
125125 assert materialized != null;
126126 assert __pathExists materialized;
127127 runCommand name (pkgs.lib.optionalAttrs (sha256 == null) hashArgs) ''
128− cp -r ${materialized} $out
128+ cp -Lr ${materialized} $out
129129 # Make sure output files can be removed from the sandbox
130130 chmod -R +w $out
131131 '';