Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib 2, stdenv 3, buildPythonPackage 4, fetchFromGitHub 5, blas 6, lapack 7, numpy 8, scipy 9 # check inputs 10, pytestCheckHook 11}: 12 13buildPythonPackage rec { 14 pname = "scs"; 15 version = "3.2.3"; 16 17 src = fetchFromGitHub { 18 owner = "bodono"; 19 repo = "scs-python"; 20 rev = version; 21 hash = "sha256-/5yGvZy3luGQkbYcsb/6TZLYou91lpA3UKONviMVpuM="; 22 fetchSubmodules = true; 23 }; 24 25 buildInputs = [ 26 lapack 27 blas 28 ]; 29 30 propagatedBuildInputs = [ 31 numpy 32 scipy 33 ]; 34 35 nativeCheckInputs = [ pytestCheckHook ]; 36 pythonImportsCheck = [ "scs" ]; 37 disabledTests = lib.lists.optional (stdenv.system == "x86_64-linux") [ 38 # `test/test_scs_rand.py` hang on "x86_64-linux" (https://github.com/NixOS/nixpkgs/pull/244532#pullrequestreview-1598095858) 39 "test_feasible" 40 "test_infeasibl" 41 "test_unbounded" 42 ]; 43 44 meta = with lib; { 45 description = "Python interface for SCS: Splitting Conic Solver"; 46 longDescription = '' 47 Solves convex cone programs via operator splitting. 48 Can solve: linear programs (LPs), second-order cone programs (SOCPs), semidefinite programs (SDPs), 49 exponential cone programs (ECPs), and power cone programs (PCPs), or problems with any combination of those cones. 50 ''; 51 homepage = "https://github.com/cvxgrp/scs"; # upstream C package 52 downloadPage = "https://github.com/bodono/scs-python"; 53 license = licenses.mit; 54 maintainers = with maintainers; [ drewrisinger ]; 55 }; 56}