1{
2 buildPythonPackage,
3 lib,
4 fetchFromGitHub,
5 perl,
6 cryptography,
7 rustPlatform,
8 pretend,
9 pytestCheckHook,
10}:
11
12buildPythonPackage rec {
13 pname = "rfc3161-client";
14 version = "1.0.1";
15 pyproject = true;
16
17 src = fetchFromGitHub {
18 owner = "trailofbits";
19 repo = "rfc3161-client";
20 tag = "v${version}";
21 hash = "sha256-C5wz9sj5TmZudqtAlL3c8ffJ7XjJ+FuimRA0vWpm/A8=";
22 };
23
24 cargoDeps = rustPlatform.fetchCargoVendor {
25 inherit src pname;
26 hash = "sha256-EUQbdfR4xS6XBmIzBL4BF3NzDI2P6F8I4Khl2KOSSZ0=";
27 };
28
29 nativeBuildInputs = [
30 rustPlatform.cargoSetupHook
31 rustPlatform.maturinBuildHook
32 perl
33 ];
34
35 dependencies = [
36 cryptography
37 pretend
38 ];
39
40 nativeCheckInputs = [
41 pytestCheckHook
42 ];
43
44 meta = {
45 homepage = "https://github.com/trailofbits/rfc3161-client";
46 maintainers = with lib.maintainers; [ bot-wxt1221 ];
47 license = lib.licenses.asl20;
48 platforms = lib.platforms.all;
49 changelog = "https://github.com/trailofbits/rfc3161-client/releases/tag/v${version}";
50 description = "Opinionated Python RFC3161 Client";
51 };
52}