1{
2 lib,
3 buildPythonPackage,
4 callPackage,
5 fetchPypi,
6 setuptools,
7 swig,
8}:
9
10buildPythonPackage rec {
11 pname = "pykcs11";
12 version = "1.5.18";
13 pyproject = true;
14
15 src = fetchPypi {
16 inherit pname version;
17 hash = "sha256-Ev2HizaYIdgMG+ihQMheig+xNY/Kq6ZspmhpITaS8ic=";
18 };
19
20 build-system = [ setuptools ];
21
22 nativeBuildInputs = [ swig ];
23
24 pypaBuildFlags = [ "--skip-dependency-check" ];
25
26 outputs = [
27 "out"
28 "testout"
29 ];
30
31 postInstall = ''
32 mkdir $testout
33 cp -R test $testout/test
34 '';
35
36 pythonImportsCheck = [ "PyKCS11" ];
37
38 doCheck = false;
39
40 # tests complain about circular import, do testing with passthru.tests instead
41 passthru.tests = {
42 pytest = callPackage ./tests.nix { };
43 };
44
45 meta = with lib; {
46 description = "PKCS#11 wrapper for Python";
47 homepage = "https://github.com/LudovicRousseau/PyKCS11";
48 changelog = "https://github.com/LudovicRousseau/PyKCS11/releases/tag/${version}";
49 license = licenses.gpl2Plus;
50 maintainers = with maintainers; [ hulr ];
51 };
52}