From 1800e4ec0be11c3b9b55028703ecd04d69e5e7e2 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Fri, 23 Mar 2018 03:15:30 -0500 Subject: [PATCH] wrk2: init at 4.0.0-e0109df5 Signed-off-by: Austin Seipp --- pkgs/tools/networking/wrk2/default.nix | 42 ++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 44 insertions(+) create mode 100644 pkgs/tools/networking/wrk2/default.nix diff --git a/pkgs/tools/networking/wrk2/default.nix b/pkgs/tools/networking/wrk2/default.nix new file mode 100644 index 000000000000..5caad0874f7c --- /dev/null +++ b/pkgs/tools/networking/wrk2/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchFromGitHub, luajit, openssl, zlib }: + +stdenv.mkDerivation rec { + name = "wrk2-${version}"; + version = "4.0.0-${builtins.substring 0 7 src.rev}"; + + src = fetchFromGitHub { + owner = "giltene"; + repo = "wrk2"; + rev = "e0109df5b9de09251adb5f5848f223fbee2aa9f5"; + sha256 = "1aqdwmgdd74wq73f1zp28yqj91gd6p6nf9nbdfibl7mlklbzvak8"; + }; + + buildInputs = [ luajit openssl zlib ]; + + patchPhase = '' + rm -rf deps/luajit && mkdir deps/luajit + + substituteInPlace ./Makefile \ + --replace '-lluajit' '-lluajit-5.1' \ + --replace '_BSD_SOURCE' '_DEFAULT_SOURCE' \ + --replace 'cd $(LDIR) && ./luajit' '${luajit}/bin/luajit' \ + --replace 'config.h Makefile $(LDIR)/libluajit.a' 'config.h Makefile' + + substituteInPlace ./src/script.c \ + --replace 'struct luaL_reg ' 'struct luaL_Reg ' + ''; + + configurePhase = ":"; + installPhase = '' + mkdir -p $out/bin + mv ./wrk $out/bin/wrk2 + ''; + + meta = { + description = "Constant throughput, correct latency recording variant of wrk"; + homepage = https://github.com/giltene/wrk2; + license = stdenv.lib.licenses.bsd3; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ thoughtpolice ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6232fe35e2e6..818ac794b935 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5564,6 +5564,8 @@ with pkgs; wrk = callPackage ../tools/networking/wrk { }; + wrk2 = callPackage ../tools/networking/wrk2 { }; + wuzz = callPackage ../tools/networking/wuzz { }; wv = callPackage ../tools/misc/wv { };