Unverified Commit d0f5d41b authored by Fabian Affolter's avatar Fabian Affolter Committed by GitHub
Browse files

Merge pull request #231842 from fabaff/cvxpy-fix

python310Packages.cvxpy: 1.3.0 -> 1.3.1
parents da95e6a2 8b16fe92
Loading
Loading
Loading
Loading
+21 −21
Original line number Diff line number Diff line
{ lib
, stdenv
, pythonOlder
, buildPythonPackage
, fetchPypi
, cvxopt
, ecos
, fetchPypi
, numpy
, osqp
, pytestCheckHook
, pythonOlder
, scipy
, scs
, setuptools
, useOpenmp ? (!stdenv.isDarwin)
  # Check inputs
, pytestCheckHook
}:

buildPythonPackage rec {
  pname = "cvxpy";
  version = "1.3.0";
  version = "1.3.1";
  format = "pyproject";

  disabled = pythonOlder "3.5";
  disabled = pythonOlder "3.7";

  src = fetchPypi {
    inherit pname version;
    hash = "sha256-Zszme9xjW5spBmUQR0OSwM/A2V24rdpAENyM3Y4EYlA=";
    hash = "sha256-8Hv+k2d6dVqFVMT9piLvAeIkes6Zs6eBB6qQcODQo8s=";
  };

  postPatch = ''
    substituteInPlace setup.py \
      --replace "setuptools <= 64.0.2" "setuptools"
  '';

  propagatedBuildInputs = [
    cvxopt
    ecos
@@ -42,33 +36,39 @@ buildPythonPackage rec {
    setuptools
  ];

  # Required flags from https://github.com/cvxgrp/cvxpy/releases/tag/v1.1.11
  nativeCheckInputs = [
    pytestCheckHook
  ];

  # Required flags from https://github.com/cvxpy/cvxpy/releases/tag/v1.1.11
  preBuild = lib.optionalString useOpenmp ''
    export CFLAGS="-fopenmp"
    export LDFLAGS="-lgomp"
  '';

  nativeCheckInputs = [ pytestCheckHook ];

  pytestFlagsArray = [ "./cvxpy" ];
  pytestFlagsArray = [
    "cvxpy"
  ];

   # Disable the slowest benchmarking tests, cuts test time in half
  disabledTests = [
   # Disable the slowest benchmarking tests, cuts test time in half
    "test_tv_inpainting"
    "test_diffcp_sdp_example"
    "test_huber"
    "test_partial_problem"
  ] ++ lib.optionals stdenv.isAarch64 [
    "test_ecos_bb_mi_lp_2" # https://github.com/cvxgrp/cvxpy/issues/1241#issuecomment-780912155
    "test_ecos_bb_mi_lp_2" # https://github.com/cvxpy/cvxpy/issues/1241#issuecomment-780912155
  ];

  pythonImportsCheck = [ "cvxpy" ];
  pythonImportsCheck = [
    "cvxpy"
  ];

  meta = with lib; {
    description = "A domain-specific language for modeling convex optimization problems in Python";
    homepage = "https://www.cvxpy.org/";
    downloadPage = "https://github.com/cvxgrp/cvxpy/releases";
    changelog = "https://github.com/cvxgrp/cvxpy/releases/tag/v${version}";
    downloadPage = "https://github.com/cvxpy/cvxpy//releases";
    changelog = "https://github.com/cvxpy/cvxpy/releases/tag/v${version}";
    license = licenses.asl20;
    maintainers = with maintainers; [ drewrisinger ];
  };
+4 −14
Original line number Diff line number Diff line
{ lib
, buildPythonPackage
, fetchFromGitHub
, fetchpatch
, nose
, numpy
, pythonOlder
@@ -10,7 +9,7 @@

buildPythonPackage rec {
  pname = "ecos";
  version = "2.0.10";
  version = "2.0.11";
  format = "setuptools";

  disabled = pythonOlder "3.6";
@@ -18,20 +17,11 @@ buildPythonPackage rec {
  src = fetchFromGitHub {
    owner = "embotech";
    repo = "ecos-python";
    rev = "v${version}";
    hash = "sha256-TPxrTyVZ1KXgPoDbZZqXT5+NEIEndg9qepujqFQwK+Q=";
    rev = "refs/tags/v${version}";
    hash = "sha256-jflmXR7fuGRSyI6NoQrHFvkKqF/D4iq47StNSCdLbqQ=";
    fetchSubmodules = true;
  };

  patches = [
    # Fix for test_interface_bb.py tests
    (fetchpatch {
      name = "test_interface_bb_use_nparray.patch";
      url = "https://github.com/embotech/ecos-python/commit/4440dcb7ddbd92217bc83d8916b72b61537dffbf.patch";
      hash = "sha256-pcTPviK916jzCLllRhopbC9wDHv+aS6GmV/92sUwzHc=";
    })
  ];

  propagatedBuildInputs = [
    numpy
    scipy
@@ -51,7 +41,7 @@ buildPythonPackage rec {
  ];

  meta = with lib; {
    description = "Python package for ECOS: Embedded Cone Solver";
    description = "Python interface for ECOS";
    homepage = "https://github.com/embotech/ecos-python";
    license = licenses.gpl3Only;
    maintainers = with maintainers; [ drewrisinger ];