1{ lib
2, buildPythonPackage
3, pythonOlder
4, fetchFromGitHub
5, cython
6, numpy
7, pytestCheckHook
8, scipy
9}:
10
11buildPythonPackage rec {
12 pname = "quadprog";
13 version = "0.1.11";
14 format = "setuptools";
15
16 disabled = pythonOlder "3.7";
17
18 src = fetchFromGitHub {
19 owner = pname;
20 repo = pname;
21 rev = "v${version}";
22 hash = "sha256-/suv1KbG3HbiYqEiuCtB/ia3xbxAO5AMuWx1Svy0rMw=";
23 };
24
25 nativeBuildInputs = [
26 cython
27 ];
28
29 propagatedBuildInputs = [
30 numpy
31 ];
32
33 preBuild = ''
34 cython quadprog/quadprog.pyx
35 '';
36
37 nativeCheckInputs = [
38 pytestCheckHook
39 scipy
40 ];
41
42 pytestFlagsArray = [
43 # test fails on aarch64-darwin
44 "--deselect=tests/test_1.py::test_5"
45 ];
46
47 meta = with lib; {
48 homepage = "https://github.com/quadprog/quadprog";
49 changelog = "https://github.com/quadprog/quadprog/releases/tag/v${version}";
50 description = "Quadratic Programming Solver";
51 license = licenses.gpl2Plus;
52 maintainers = with maintainers; [ wegank ];
53 };
54}