lol
1{
2 lib,
3 rustPlatform,
4 fetchCrate,
5 pkg-config,
6 openssl,
7 versionCheckHook,
8}:
9
10rustPlatform.buildRustPackage (finalAttrs: {
11 pname = "mini-redis";
12 version = "0.4.1";
13
14 src = fetchCrate {
15 inherit (finalAttrs) pname version;
16 sha256 = "sha256-vYphaQNMAHajod5oT/T3VJ12e6Qk5QOa5LQz6KsXvm8=";
17 };
18
19 cargoHash = "sha256-oGyJxNzJX7PwMkDoT9Tb3xF0vWgQwuyIjKPgEkbPKyI=";
20
21 nativeBuildInputs = [
22 pkg-config
23 ];
24
25 buildInputs = [
26 openssl
27 ];
28
29 nativeInstallCheckInputs = [
30 versionCheckHook
31 ];
32 doInstallCheck = true;
33 versionCheckProgram = "${placeholder "out"}/bin/${finalAttrs.meta.mainProgram}";
34 doCheck = false;
35
36 meta = {
37 description = "Incomplete, idiomatic implementation of a Redis client and server built with Tokio, for learning purposes";
38 homepage = "https://github.com/tokio-rs/mini-redis";
39 license = lib.licenses.mit;
40 maintainers = with lib.maintainers; [ nomaterials ];
41 mainProgram = "mini-redis-cli";
42 };
43})