{stdenv, fetchurl, cmake, flex, bison, openssl, libpcap, zlib, file, curl , libmaxminddb, gperftools, python, swig, fetchpatch }: let preConfigure = (import ./script.nix); in stdenv.mkDerivation rec { pname = "zeek"; version = "3.1.1"; src = fetchurl { url = "https://old.zeek.org/downloads/zeek-${version}.tar.gz"; sha256 = "0siybzdp8w62jqk5vdi5fxwvj6cn4r6c2d4z2axd4rj5vhv5zvx2"; }; nativeBuildInputs = [ cmake flex bison file ]; buildInputs = [ openssl libpcap zlib curl libmaxminddb gperftools python swig ]; #see issue https://github.com/zeek/zeek/issues/804 to modify hardlinking duplicate files. inherit preConfigure; enableParallelBuilding = true; patches = stdenv.lib.optionals stdenv.cc.isClang [ # Fix pybind c++17 build with Clang. See: https://github.com/pybind/pybind11/issues/1604 (fetchpatch { url = "https://github.com/pybind/pybind11/commit/759221f5c56939f59d8f342a41f8e2d2cacbc8cf.patch"; sha256 = "0l8z7d7chq1awd8dnfarj4c40wx36hkhcan0702p5l89x73wqk54"; extraPrefix = "aux/broker/bindings/python/3rdparty/pybind11/"; stripLen = 1; }) ]; cmakeFlags = [ "-DPY_MOD_INSTALL_DIR=${placeholder "out"}/${python.sitePackages}" "-DENABLE_PERFTOOLS=true" "-DINSTALL_AUX_TOOLS=true" ]; meta = with stdenv.lib; { description = "Powerful network analysis framework much different from a typical IDS"; homepage = "https://www.zeek.org"; license = licenses.bsd3; maintainers = with maintainers; [ pSub marsam tobim ]; platforms = platforms.unix; }; }