Unverified Commit 12247ee0 authored by Weijia Wang's avatar Weijia Wang Committed by GitHub
Browse files

Merge pull request #310845 from lucasew/20240510-fix-orange

python3Packages.orange-canvas-core: fix build and runtime
parents 6ceb35e4 43332773
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -18,12 +18,12 @@

buildPythonPackage rec {
  pname = "orange-canvas-core";
  version = "0.2.0";
  version = "0.1.35";
  format = "setuptools";

  src = fetchPypi {
    inherit pname version;
    hash = "sha256-KMEFZkAZkDhuDPpAts+u825p5pFJZbyrsMW/S1AArp4=";
    hash = "sha256-xLCwjeNDx9RqxlNkIWMo0Pcrg7akGuu4Rv9oRDgOK18=";
  };

  propagatedBuildInputs = [
+2 −2
Original line number Diff line number Diff line
@@ -16,12 +16,12 @@

buildPythonPackage rec {
  pname = "orange-widget-base";
  version = "4.23.0";
  version = "4.22.0";
  format = "setuptools";

  src = fetchPypi {
    inherit pname version;
    hash = "sha256-mz+BcZEdg1p9V0ewYRrw3jKBWLMbL9RR6o4hUEUx9DA=";
    hash = "sha256-nV2aBPZzn7K+QECtCVoLLh5smG31zE2G9jFTKlxh9qM=";
  };

  propagatedBuildInputs = [
+27 −13
Original line number Diff line number Diff line
{ lib
, stdenv
, baycomp
, bottleneck
, buildPythonPackage
@@ -24,12 +25,15 @@
, orange-canvas-core
, orange-widget-base
, pandas
, pytestCheckHook
, pytest-qt
, pyqtgraph
, pyqtwebengine
, python
, python-louvain
, pythonOlder
, pyyaml
, pip
, qt5
, qtconsole
, recommonmark
@@ -112,6 +116,7 @@ let
      keyrings-alt
      pyyaml
      baycomp
      pip
    ];

    # FIXME: ImportError: cannot import name '_variable' from partially initialized module 'Orange.data' (most likely due to a circular import) (/build/source/Orange/data/__init__.py)
@@ -146,9 +151,9 @@ let

    passthru = {
      updateScript = nix-update-script { };
      tests.unittests = self.overridePythonAttrs (old: {
        pname = "${old.pname}-tests";
        format = "other";
      tests.unittests = stdenv.mkDerivation {
        name = "${self.name}-tests";
        inherit (self) src;

        preCheck = ''
          export HOME=$(mktemp -d)
@@ -160,23 +165,32 @@ let
          cp -r ${self}/${python.sitePackages}/Orange .
          chmod +w -R .

          rm Orange/tests/test_url_reader.py # uses network
          rm Orange/tests/test_ada_boost.py # broken: The 'base_estimator' parameter of AdaBoostRegressor must be an object implementing 'fit' and 'predict' or a str among {'deprecated'}. Got None instead.
        '';
          substituteInPlace Orange/classification/tests/test_xgb_cls.py \
            --replace test_learners mk_test_learners

          substituteInPlace Orange/modelling/tests/test_xgb.py \
            --replace test_learners mk_test_learners

          substituteInPlace Orange/**/tests/*.py \
            --replace test_filename filename_test

          # TODO: debug why orange is crashing on GC, may be a upstream issue
          chmod +x Orange/__init__.py
          echo "import gc; gc.disable()" | tee -a Orange/__init__.py

        checkPhase = ''
          runHook preCheck
          ${python.interpreter} -m unittest -b -v ./Orange/**/test*.py
          runHook postCheck
        '';

        postInstall = "";
        nativeBuildInputs = [ pytestCheckHook pytest-qt ];

        postCheck = ''
          touch $out
        '';

        doBuild = false;
        doInstall = false;

        nativeBuildInputs = [ self ] ++ old.nativeBuildInputs;
      });
        buildInputs = [ self ];
      };
    };

    meta = with lib; {
+2 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@
, freefont_ttf
, makeFontsConf
, setuptools
, python
}:

let
@@ -70,6 +71,7 @@ buildPythonPackage rec {
    homepage = "https://www.pyqtgraph.org/";
    changelog = "https://github.com/pyqtgraph/pyqtgraph/blob/master/CHANGELOG";
    license = licenses.mit;
    broken = lib.versionAtLeast python.version "3.12";
    platforms = platforms.unix;
    maintainers = with maintainers; [ koral ];
  };