1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 libopaque,
6 setuptools,
7 pysodium,
8 python,
9}:
10
11buildPythonPackage rec {
12 pname = "opaque";
13 pyproject = true;
14
15 inherit (libopaque)
16 version
17 src
18 ;
19
20 sourceRoot = "${src.name}/python";
21
22 postPatch =
23 let
24 soext = stdenv.hostPlatform.extensions.sharedLibrary;
25 in
26 ''
27 substituteInPlace ./opaque/__init__.py --replace-fail \
28 "ctypes.util.find_library('opaque') or ctypes.util.find_library('libopaque')" "'${lib.getLib libopaque}/lib/libopaque${soext}'"
29 '';
30
31 build-system = [ setuptools ];
32
33 dependencies = [ pysodium ];
34
35 pythonImportsCheck = [ "opaque" ];
36
37 checkPhase = ''
38 runHook preCheck
39
40 ${python.interpreter} test/simple.py
41
42 runHook postCheck
43 '';
44
45 meta = {
46 inherit (libopaque.meta)
47 description
48 homepage
49 license
50 teams
51 ;
52 };
53}