lol
1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pythonOlder
5
6# build
7, poetry-core
8
9# propagates
10, cryptography
11
12# tests
13, pytestCheckHook
14}:
15
16let
17 pname = "chacha20poly1305-reuseable";
18 version = "0.0.4";
19in
20
21buildPythonPackage {
22 inherit pname version;
23 format = "pyproject";
24
25 disabled = pythonOlder "3.7";
26
27 src = fetchFromGitHub {
28 owner = "bdraco";
29 repo = pname;
30 rev = "v${version}";
31 hash = "sha256-iOGDTQyiznjYblT/NfHxewIwEZsPnp7bdNVD1p9/H1M=";
32 };
33
34 nativeBuildInputs = [
35 poetry-core
36 ];
37
38 propagatedBuildInputs = [
39 cryptography
40 ];
41
42 pythonImportsCheck = [
43 "chacha20poly1305_reuseable"
44 ];
45
46 preCheck = ''
47 substituteInPlace pyproject.toml \
48 --replace "--cov=chacha20poly1305_reuseable --cov-report=term-missing:skip-covered" ""
49 '';
50
51 checkInputs = [
52 pytestCheckHook
53 ];
54
55 meta = with lib; {
56 description = "ChaCha20Poly1305 that is reuseable for asyncio";
57 homepage = "https://github.com/bdraco/chacha20poly1305-reuseable";
58 changelog = "https://github.com/bdraco/chacha20poly1305-reuseable/blob/main/CHANGELOG.md";
59 license = licenses.asl20;
60 maintainers = with maintainers; [ hexa ];
61 };
62}