crun: 1.8.3 -> 1.8.4
[NixPkgs.git] / pkgs / tools / networking / wrk2 / default.nix
blob62d4cd5dd67827e3fbf63b1e07f08268ac36eae3
1 { lib, stdenv, fetchFromGitHub, luajit, openssl, zlib }:
3 stdenv.mkDerivation rec {
4   pname = "wrk2";
5   version = "4.0.0-${builtins.substring 0 7 src.rev}";
7   src = fetchFromGitHub {
8     owner  = "giltene";
9     repo   = "wrk2";
10     rev    = "e0109df5b9de09251adb5f5848f223fbee2aa9f5";
11     sha256 = "1aqdwmgdd74wq73f1zp28yqj91gd6p6nf9nbdfibl7mlklbzvak8";
12   };
14   buildInputs = [ luajit openssl zlib ];
16   patchPhase = ''
17     rm -rf deps/luajit && mkdir deps/luajit
19     substituteInPlace ./Makefile \
20       --replace '-lluajit' '-lluajit-5.1' \
21       --replace '_BSD_SOURCE' '_DEFAULT_SOURCE' \
22       --replace 'cd $(LDIR) && ./luajit' '${luajit}/bin/luajit' \
23       --replace 'config.h Makefile $(LDIR)/libluajit.a' 'config.h Makefile'
25     substituteInPlace ./src/script.c \
26       --replace 'struct luaL_reg ' 'struct luaL_Reg '
27   '';
29   dontConfigure = true;
30   installPhase = ''
31     mkdir -p $out/bin
32     mv ./wrk $out/bin/wrk2
33   '';
35   meta = {
36     description = "Constant throughput, correct latency recording variant of wrk";
37     homepage    = "https://github.com/giltene/wrk2";
38     license     = lib.licenses.bsd3;
39     platforms   = lib.platforms.linux;
40     maintainers = with lib.maintainers; [ thoughtpolice ];
41     # never built on aarch64-linux since first introduction in nixpkgs
42     broken = stdenv.isLinux && stdenv.isAarch64;
43   };