{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; }; }