depot/third_party/nixpkgs/pkgs/os-specific/linux/klibc/shrunk.nix
Default email 8ac5e011d6 Project import generated by Copybara.
GitOrigin-RevId: 2c3273caa153ee8eb5786bc8141b85b859e7efd7
2020-04-24 19:36:52 -04:00

28 lines
749 B
Nix

{stdenv, klibc}:
stdenv.mkDerivation {
# !!! For now, the name has to be exactly as long as the original
# name due to the sed hackery below. Once patchelf 0.4 is in the
# tree, we can do this properly.
#name = "${klibc.name}-shrunk";
name = klibc.name;
buildCommand = ''
mkdir -p $out/lib
cp -prd ${klibc.out}/lib/klibc/bin $out/
cp -p ${klibc.out}/lib/*.so $out/lib/
chmod +w $out/*
old=$(echo ${klibc.out}/lib/klibc-*.so)
new=$(echo $out/lib/klibc-*.so)
for i in $out/bin/*; do
echo $i
sed "s^$old^$new^" -i $i
# !!! use patchelf
#patchelf --set-interpreter $new $i
done
''; # */
allowedReferences = ["out"];
meta = {
platforms = stdenv.lib.platforms.linux;
};
}