1{ stdenv, fetchurl, fetchFromGitHub, linuxHeaders }:
2
3stdenv.mkDerivation rec {
4 name = "trinity-${version}";
5 version = "1.6";
6
7 src = fetchFromGitHub {
8 owner = "kernelslacker";
9 repo = "trinity";
10 rev = "v${version}";
11 sha256 = "1jwgsjjbngn2dsnkflyigy3ajd0szksl30dlaiy02jc6mqi3nr0p";
12 };
13
14 patches = stdenv.lib.singleton (fetchurl {
15 url = "https://github.com/kernelslacker/trinity/commit/b0e66a2d084ffc210bc1fc247efb4d177e9f7e3d.patch";
16 sha256 = "0468fdzbsj3n3k43qm8hf56pa020qn57ripcykv9jfwp215lf0an";
17 });
18
19 postPatch = ''
20 patchShebangs ./configure.sh
21 patchShebangs ./scripts/
22 substituteInPlace Makefile --replace '/usr/bin/wc' 'wc'
23 substituteInPlace configure.sh --replace '/usr/include/linux' '${linuxHeaders}/include/linux'
24 '';
25
26 configurePhase = "./configure.sh";
27
28 enableParallelBuilding = true;
29
30 installPhase = "make DESTDIR=$out install";
31
32 meta = with stdenv.lib; {
33 description = "A Linux System call fuzz tester";
34 homepage = http://codemonkey.org.uk/projects/trinity/;
35 license = licenses.gpl2;
36 maintainers = [ maintainers.dezgeg ];
37 platforms = platforms.linux;
38 };
39}