summary refs log tree commit diff
path: root/pkgs/os-specific/linux/klibc/shrunk.nix
blob: 828e46916236c3790606d299cee45a32f9013fd5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{stdenv, klibc}:

stdenv.mkDerivation {
  name = "${klibc.name}";
  buildCommand = ''
    ensureDir $out/lib
    cp -prd ${klibc}/lib/klibc/bin $out/
    cp -p ${klibc}/lib/*.so $out/lib/
    chmod +w $out/*
    old=$(echo ${klibc}/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-rpath /foo/bar $i
    done
  ''; # */
  allowedReferences = ["out"];
}