at master 48 lines 1.2 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 cmake, 6}: 7 8stdenv.mkDerivation rec { 9 pname = "hotpatch"; 10 version = "0.2"; 11 12 src = fetchFromGitHub { 13 owner = "vikasnkumar"; 14 repo = "hotpatch"; 15 rev = "4b65e3f275739ea5aa798d4ad083c4cb10e29149"; 16 sha256 = "169vdh55wsbn6fl58lpzqx64v6ifzh7krykav33x1d9hsk98qjqh"; 17 }; 18 19 doCheck = true; 20 21 nativeBuildInputs = [ cmake ]; 22 23 preConfigure = '' 24 substituteInPlace test/loader.c \ 25 --replace \"/lib64/ld-linux-x86-64.so.2 \""$(cat $NIX_CC/nix-support/dynamic-linker)" \ 26 --replace \"/lib/ld-linux-x86-64.so.2 \""$(cat $NIX_CC/nix-support/dynamic-linker)" \ 27 --replace \"/lib/ld-linux.so.2 \""$(cat $NIX_CC/nix-support/dynamic-linker)" \ 28 --replace \"/lib32/ld-linux.so.2 \""$(cat $NIX_CC/nix-support/dynamic-linker)" 29 ''; 30 31 checkPhase = '' 32 LD_LIBRARY_PATH=$(pwd)/src make test 33 ''; 34 35 patches = [ ./no-loader-test.patch ]; 36 37 meta = with lib; { 38 description = "Hot patching executables on Linux using .so file injection"; 39 mainProgram = "hotpatcher"; 40 homepage = src.meta.homepage; 41 license = licenses.bsd3; 42 maintainers = [ ]; 43 platforms = [ 44 "i686-linux" 45 "x86_64-linux" 46 ]; 47 }; 48}