Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ darwin
2, fetchCrate
3, lib
4, openssl
5, pkg-config
6, rustPlatform
7, stdenv
8}:
9
10rustPlatform.buildRustPackage rec {
11 pname = "ttfb";
12 version = "1.6.0";
13
14 src = fetchCrate {
15 inherit pname version;
16 hash = "sha256-o7kzQ8jtAqDwTUPtjeNqgotxREeWl7jQG+EDrYWJL/Q=";
17 };
18
19 cargoHash = "sha256-ayyYrrFDVOYVjVo5TLaRn2mvmywe5BjQ7kRVV2r0iK8=";
20
21 # The bin feature activates all dependencies of the binary. Otherwise,
22 # only the library is build.
23 buildFeatures = [ "bin" ];
24
25 nativeBuildInputs = [ pkg-config ];
26
27 buildInputs = [
28 openssl
29 ] ++ lib.optionals stdenv.isDarwin [
30 darwin.apple_sdk.frameworks.Security
31 ];
32
33 meta = {
34 description = "CLI-Tool to measure the TTFB (time to first byte) of HTTP(S) requests";
35 longDescription = ''
36 This crate measures the times of DNS lookup, TCP connect, TLS handshake, and HTTP's TTFB
37 for a given IP or domain.
38 '';
39 homepage = "https://github.com/phip1611/ttfb";
40 changelog = "https://github.com/phip1611/ttfb/blob/v${version}/CHANGELOG.md";
41 license = with lib.licenses; [ mit ];
42 maintainers = with lib.maintainers; [ phip1611 ];
43 };
44}
45