1{ lib
2, asn1crypto
3, buildPythonPackage
4, certvalidator
5, fetchFromGitHub
6, mscerts
7, oscrypto
8, pyasn1
9, pyasn1-modules
10, pytestCheckHook
11, pythonOlder
12}:
13
14buildPythonPackage rec {
15 pname = "signify";
16 version = "0.5.2";
17 format = "setuptools";
18
19 disabled = pythonOlder "3.6";
20
21 src = fetchFromGitHub {
22 owner = "ralphje";
23 repo = pname;
24 rev = "refs/tags/v${version}";
25 hash = "sha256-+UhZF+QYuv8pq/sTu7GDPUrlPNNixFgVZL+L0ulj/ko=";
26 };
27
28 propagatedBuildInputs = [
29 asn1crypto
30 certvalidator
31 mscerts
32 oscrypto
33 pyasn1
34 pyasn1-modules
35 ];
36
37 pythonImportsCheck = [
38 "signify"
39 ];
40
41 nativeCheckInputs = [
42 pytestCheckHook
43 ];
44
45 disabledTests = [
46 # chain doesn't validate because end-entitys certificate expired
47 # https://github.com/ralphje/signify/issues/27
48 "test_revoked_certificate"
49 ];
50
51 meta = with lib; {
52 description = "library that verifies PE Authenticode-signed binaries";
53 homepage = "https://github.com/ralphje/signify";
54 license = licenses.mit;
55 maintainers = with maintainers; [ baloo ];
56 # No support for pyasn1 > 0.5
57 # https://github.com/ralphje/signify/issues/37
58 broken = true;
59 };
60}