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.5";
15 pyproject = true;
16
17 src = fetchFromGitHub {
18 owner = "trailofbits";
19 repo = "rfc3161-client";
20 tag = "v${version}";
21 hash = "sha256-EF4d9MnBhWt99vy2MOK+u0aUQ3ZEH/8mYezlWQtGvhU=";
22 };
23
24 cargoDeps = rustPlatform.fetchCargoVendor {
25 inherit src pname;
26 hash = "sha256-jQsogV+qR0jAkHz/Slg9oBO/f96osU8YcjuaX4ZJQTk=";
27 };
28
29 pythonRelaxDeps = [
30 "cryptography"
31 ];
32
33 nativeBuildInputs = [
34 rustPlatform.cargoSetupHook
35 rustPlatform.maturinBuildHook
36 perl
37 ];
38
39 dependencies = [
40 cryptography
41 pretend
42 ];
43
44 nativeCheckInputs = [
45 pytestCheckHook
46 ];
47
48 meta = {
49 homepage = "https://github.com/trailofbits/rfc3161-client";
50 maintainers = with lib.maintainers; [ bot-wxt1221 ];
51 license = lib.licenses.asl20;
52 platforms = lib.platforms.all;
53 changelog = "https://github.com/trailofbits/rfc3161-client/releases/tag/v${version}";
54 description = "Opinionated Python RFC3161 Client";
55 };
56}