1{
2 lib,
3 rustPlatform,
4 fetchFromGitHub,
5 stdenv,
6 pkg-config,
7 openssl,
8 rust-jemalloc-sys,
9}:
10
11rustPlatform.buildRustPackage rec {
12 pname = "oha";
13 version = "1.9.0";
14
15 src = fetchFromGitHub {
16 owner = "hatoo";
17 repo = "oha";
18 tag = "v${version}";
19 hash = "sha256-ZUZee+jEhTaVGwYtNvYHckdLxb9axOsLUYkKrd07Zvg=";
20 };
21
22 cargoHash = "sha256-HUy41huDWTmpdPkcCB4Kti7oAI7M5q5gB8u/UZlLrU4=";
23
24 nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [
25 pkg-config
26 ];
27
28 buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
29 openssl
30 rust-jemalloc-sys
31 ];
32
33 # tests don't work inside the sandbox
34 doCheck = false;
35
36 meta = {
37 description = "HTTP load generator inspired by rakyll/hey with tui animation";
38 homepage = "https://github.com/hatoo/oha";
39 changelog = "https://github.com/hatoo/oha/blob/v${version}/CHANGELOG.md";
40 license = lib.licenses.mit;
41 maintainers = with lib.maintainers; [ figsoda ];
42 mainProgram = "oha";
43 };
44}