1{
2 lib,
3 stdenv,
4 aflplusplus,
5}:
6
7stdenv.mkDerivation {
8 version = lib.getVersion aflplusplus;
9 pname = "libtokencap";
10
11 src = aflplusplus.src;
12 postUnpack = "chmod -R +w ${aflplusplus.src.name}";
13 sourceRoot = "${aflplusplus.src.name}/utils/libtokencap";
14
15 makeFlags = [ "PREFIX=${placeholder "out"}" ];
16
17 preInstall = ''
18 mkdir -p $out/lib/afl
19 mkdir -p $out/share/doc/afl
20 '';
21 postInstall = ''
22 mkdir $out/bin
23 cat > $out/bin/get-libtokencap-so <<END
24 #!${stdenv.shell}
25 echo $out/lib/afl/libtokencap.so
26 END
27 chmod +x $out/bin/get-libtokencap-so
28 '';
29
30 meta = {
31 homepage = "https://github.com/AFLplusplus/AFLplusplus";
32 description = "strcmp & memcmp token capture library";
33 license = lib.licenses.asl20;
34 maintainers = with lib.maintainers; [
35 ris
36 msanft
37 ];
38 };
39}