From 2b38c0de523680fc310bc6bb881be00629111a3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 7 Feb 2024 14:37:15 -0800 Subject: [PATCH] python311Packages.qpsolvers: specify optional dependencies --- .../python-modules/qpsolvers/default.nix | 43 ++++++++++++++----- 1 file changed, 33 insertions(+), 10 deletions(-) diff --git a/pkgs/development/python-modules/qpsolvers/default.nix b/pkgs/development/python-modules/qpsolvers/default.nix index 085c40a4ad18..7a1844616a36 100644 --- a/pkgs/development/python-modules/qpsolvers/default.nix +++ b/pkgs/development/python-modules/qpsolvers/default.nix @@ -4,13 +4,18 @@ , buildPythonPackage , unittestCheckHook , flit-core +, numpy +, scipy + +# optional dependencies +, clarabel +, cvxopt , daqp , ecos -, numpy +, gurobipy , osqp -, scipy -, scs , quadprog +, scs }: buildPythonPackage rec { pname = "qpsolvers"; @@ -24,22 +29,40 @@ buildPythonPackage rec { hash = "sha256-/HLc9dFf9F/6W7ux2Fj2yJuV/xCVeGyO6MblddwIGdM="; }; + nativeBuildInputs = [ + flit-core + ]; + pythonImportsCheck = [ "qpsolvers" ]; propagatedBuildInputs = [ - daqp - ecos numpy - osqp scipy - scs ]; + passthru.optional-dependencies = { + # FIXME commented out solvers have not been packaged yet + clarabel = [ clarabel ]; + cvxopt = [ cvxopt ]; + daqp = [ daqp ]; + ecos = [ ecos ]; + gurobi = [ gurobipy ]; + # highs = [ highspy ]; + # mosek = [ cvxopt mosek ]; + osqp = [ osqp ]; + # piqp = [ piqp ]; + # proxqp = [ proxsuite ]; + # qpalm = [ qpalm ]; + quadprog = [ quadprog ]; + scs = [ scs ]; + open_source_solvers = with passthru.optional-dependencies; lib.flatten [ + clarabel cvxopt daqp ecos /* highs */ osqp /* piqp proxqp qpalm */ quadprog scs + ]; + }; + nativeCheckInputs = [ - flit-core - quadprog unittestCheckHook - ]; + ] ++ passthru.optional-dependencies.open_source_solvers; meta = with lib; { changelog = "https://github.com/qpsolvers/qpsolvers/blob/${src.rev}/CHANGELOG.md";