1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 replaceVars,
6 cmake,
7 numpy,
8 pybind11,
9 setuptools,
10 scipy,
11 pytestCheckHook,
12 qdldl,
13}:
14
15buildPythonPackage rec {
16 pname = "qdldl";
17 version = "0.1.7.post5";
18 pyproject = true;
19
20 src = fetchFromGitHub {
21 owner = "osqp";
22 repo = "qdldl-python";
23 tag = "v${version}";
24 hash = "sha256-XHdvYWORHDYy/EIqmlmFQZwv+vK3I+rPIrvcEW1JyIw=";
25 };
26
27 # use up-to-date qdldl for CMake v4
28 patches = [
29 (replaceVars ./use-qdldl.patch {
30 inherit qdldl;
31 })
32 ];
33
34 dontUseCmakeConfigure = true;
35
36 build-system = [
37 cmake
38 numpy
39 pybind11
40 setuptools
41 ];
42
43 dependencies = [
44 numpy
45 scipy
46 ];
47
48 propagatedBuildInputs = [
49 qdldl
50 ];
51
52 pythonImportsCheck = [ "qdldl" ];
53 nativeCheckInputs = [ pytestCheckHook ];
54
55 meta = {
56 description = "Python interface to the QDLDL";
57 homepage = "https://github.com/osqp/qdldl-python";
58 changelog = "https://github.com/osqp/qdldl-python/releases/tag/${src.tag}";
59 license = lib.licenses.asl20;
60 maintainers = [ ];
61 };
62}