python311Packages.pot: pypi missing files, switch to github; fixbuild

pypi source is missing tests/conftest.py which is causing the tests to
with missing attribute errors
This commit is contained in:
annalee 2023-11-29 04:58:43 +00:00
parent 8ae2bf1e60
commit 7d835a1dc5
No known key found for this signature in database

View File

@ -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"
];