about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules/pot/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/pot/default.nix')
-rw-r--r--nixpkgs/pkgs/development/python-modules/pot/default.nix38
1 files changed, 17 insertions, 21 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/pot/default.nix b/nixpkgs/pkgs/development/python-modules/pot/default.nix
index a6251b3ea479..90aac0fef677 100644
--- a/nixpkgs/pkgs/development/python-modules/pot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pot/default.nix
@@ -1,10 +1,11 @@
 { lib
 , autograd
 , buildPythonPackage
+, fetchFromGitHub
 , cupy
 , cvxopt
 , cython
-, fetchPypi
+, oldest-supported-numpy
 , matplotlib
 , numpy
 , tensorflow
@@ -20,19 +21,20 @@
 buildPythonPackage rec {
   pname = "pot";
   version = "0.9.1";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.6";
 
-  src = fetchPypi {
-    pname = "POT";
-    inherit version;
-    hash = "sha256-gcJTJ6ABl/8Rwf5SIc8YGtHf/mFWRBUuLhFd3d9eWRs=";
+  src = fetchFromGitHub {
+    owner = "PythonOT";
+    repo = "POT";
+    rev = version;
+    hash = "sha256-D61/dqO16VvcQx4FG1beKR4y1OQHndwCizaugNaUe4g=";
   };
 
   nativeBuildInputs = [
-    numpy
     cython
+    oldest-supported-numpy
   ];
 
   propagatedBuildInputs = [
@@ -59,17 +61,19 @@ buildPythonPackage rec {
       --replace " --cov-report= --cov=ot" "" \
       --replace " --durations=20" "" \
       --replace " --junit-xml=junit-results.xml" ""
-    substituteInPlace setup.py \
-      --replace '"oldest-supported-numpy", ' ""
 
     # we don't need setup.py to find the macos sdk for us
     sed -i '/sdk_path/d' setup.py
   '';
 
-  # To prevent importing of an incomplete package from the build directory
-  # instead of nix store (`ot` is the top-level package name).
+  # need to run the tests with the built package next to the test directory
   preCheck = ''
-    rm -r ot
+    pushd build/lib.*
+    ln -s -t . "$OLDPWD/test"
+  '';
+
+  postCheck = ''
+    popd
   '';
 
   disabledTests = [
@@ -100,15 +104,7 @@ buildPythonPackage rec {
     "test_emd1d_device_tf"
   ];
 
-  disabledTestPaths = [
-    # AttributeError: module pytest has no attribute skip_backend
-    "test/test_bregman.py"
-    "test/test_da.py"
-    "test/test_utils.py"
-    "test/test_gromov.py"
-    "test/test_helpers.py"
-    "test/test_unbalanced.py"
-  ] ++ lib.optionals (!enableDimensionalityReduction) [
+  disabledTestPaths = lib.optionals (!enableDimensionalityReduction) [
     "test/test_dr.py"
   ];