diff options
Diffstat (limited to 'pkgs/development/python-modules/scs/default.nix')
-rw-r--r-- | pkgs/development/python-modules/scs/default.nix | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/scs/default.nix b/pkgs/development/python-modules/scs/default.nix new file mode 100644 index 000000000000..4e500d685352 --- /dev/null +++ b/pkgs/development/python-modules/scs/default.nix @@ -0,0 +1,56 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, blas +, liblapack +, numpy +, scipy +, scs + # check inputs +, nose +}: + +buildPythonPackage rec { + inherit (scs) pname version; + + src = fetchFromGitHub { + owner = "bodono"; + repo = "scs-python"; + rev = "f02abdc0e2e0a5851464e30f6766ccdbb19d73f0"; # need to choose commit manually, untagged + sha256 = "174b5s7cwgrn1m55jlrszdl403zhpzc4yl9acs6kjv9slmg1mmjr"; + }; + + preConfigure = '' + rm -r scs + ln -s ${scs.src} scs + ''; + + buildInputs = [ + liblapack + blas + ]; + + propagatedBuildInputs = [ + numpy + scipy + ]; + + checkInputs = [ nose ]; + checkPhase = '' + nosetests + ''; + pythonImportsCheck = [ "scs" ]; + + meta = with lib; { + description = "Python interface for SCS: Splitting Conic Solver"; + longDescription = '' + Solves convex cone programs via operator splitting. + Can solve: linear programs (LPs), second-order cone programs (SOCPs), semidefinite programs (SDPs), + exponential cone programs (ECPs), and power cone programs (PCPs), or problems with any combination of those cones. + ''; + homepage = "https://github.com/cvxgrp/scs"; # upstream C package + downloadPage = "https://github.com/bodono/scs-python"; + license = licenses.gpl3; + maintainers = with maintainers; [ drewrisinger ]; + }; +} |