1{ lib
2, stdenv
3, fetchFromGitHub
4, buildPythonPackage
5, unittestCheckHook
6, cython
7, setuptools
8, wheel
9, numpy
10}:
11buildPythonPackage {
12 pname = "daqp";
13 version = "0.5.1";
14 format = "pyproject";
15
16 src = fetchFromGitHub {
17 owner = "darnstrom";
18 repo = "daqp";
19 rev = "5a15a3d16731d3d50f867218c1b281567db556fd";
20 hash = "sha256-in7Ci/wM7i0csJ4XVfo1lboWOyfuuU+8E+TzGmMV3x0=";
21 };
22
23 sourceRoot = "source/interfaces/daqp-python";
24
25 postPatch = ''
26 sed -i 's|../../../daqp|../..|' setup.py
27 sed -i 's|if src_path and os.path.exists(src_path):|if False:|' setup.py
28 '';
29
30 nativeCheckInputs = [ unittestCheckHook ];
31
32 unittestFlagsArray = [ "-s" "test" "-p" "'*.py'" "-v" ];
33
34 nativeBuildInputs = [
35 cython
36 setuptools
37 wheel
38 ];
39
40 propagatedBuildInputs = [
41 numpy
42 ];
43
44 pythonImportsCheck = [ "daqp" ];
45
46 meta = with lib; {
47 description = "A dual active-set algorithm for convex quadratic programming";
48 homepage = "https://github.com/darnstrom/daqp";
49 license = licenses.mit;
50 maintainers = with maintainers; [ renesat ];
51 };
52}