Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 ocaml, 6 findlib, 7 opaline, 8}: 9 10stdenv.mkDerivation rec { 11 pname = "afl-persistent"; 12 version = "1.3"; 13 name = "ocaml${ocaml.version}-${pname}-${version}"; 14 15 src = fetchFromGitHub { 16 owner = "stedolan"; 17 repo = "ocaml-${pname}"; 18 rev = "v${version}"; 19 sha256 = "06yyds2vcwlfr2nd3gvyrazlijjcrd1abnvkfpkaadgwdw3qam1i"; 20 }; 21 22 strictDeps = true; 23 24 nativeBuildInputs = [ 25 ocaml 26 findlib 27 ]; 28 29 # don't run tests in buildPhase 30 # don't overwrite test binary 31 postPatch = '' 32 sed -i 's/ && \.\/test$//' build.sh 33 sed -i '/^ocamlopt.*test.ml -o test$/ s/$/2/' build.sh 34 patchShebangs build.sh 35 ''; 36 37 buildPhase = "./build.sh"; 38 installPhase = '' 39 ${opaline}/bin/opaline -prefix $out -libdir $out/lib/ocaml/${ocaml.version}/site-lib/ ${pname}.install 40 ''; 41 42 doCheck = true; 43 checkPhase = "./_build/test && ./_build/test2"; 44 45 meta = with lib; { 46 homepage = "https://github.com/stedolan/ocaml-afl-persistent"; 47 description = "Persistent-mode afl-fuzz for ocaml"; 48 license = licenses.mit; 49 maintainers = [ maintainers.sternenseemann ]; 50 }; 51}