1{ lib
2, stdenv
3, buildPythonPackage
4, fetchPypi
5, isPy3k
6, cryptography
7, futures ? null
8, pyopenssl
9, service-identity
10, pytestCheckHook
11, idna
12}:
13
14buildPythonPackage rec {
15 pname = "trustme";
16 version = "0.9.0";
17
18 src = fetchPypi {
19 inherit pname version;
20 sha256 = "sha256-XgeyPXDO7WTzuzauS5q8UjVMFsmNRasDe+4rX7/+WGw=";
21 };
22
23 checkInputs = [
24 pyopenssl
25 service-identity
26 pytestCheckHook
27 ];
28
29 propagatedBuildInputs = [
30 cryptography
31 idna
32 ] ++ lib.optionals (!isPy3k) [
33 futures
34 ];
35
36 # aarch64-darwin forbids W+X memory, but this tests depends on it:
37 # * https://github.com/pyca/pyopenssl/issues/873
38 disabledTests = lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
39 "test_pyopenssl_end_to_end"
40 ];
41
42 # Some of the tests use localhost networking.
43 __darwinAllowLocalNetworking = true;
44
45 pythonImportsCheck = [ "trustme" ];
46
47 meta = with lib; {
48 description = "High quality TLS certs while you wait, for the discerning tester";
49 homepage = "https://github.com/python-trio/trustme";
50 license = with licenses; [ mit asl20 ];
51 maintainers = with maintainers; [ catern ];
52 };
53}