python312Packages.partd: fix build, refactor

Partd ships with a broken vendored versioneer file, that calls into
things that are not available on 3.12 anymore.

Update dependencies, use the pytest hook instead of overriding the
checkPhase.
This commit is contained in:
Martin Weinelt
2024-02-24 01:26:33 +01:00
parent dfd39c05a8
commit d5c1111cf2
@@ -1,14 +1,24 @@
{ lib
, buildPythonPackage
, fetchPypi
, isPy27
, fetchFromGitHub
, fetchpatch2
, pythonOlder
# build-system
, setuptools
, pytest
# dependencies
, locket
, toolz
# optional-dependencies
, blosc2
, numpy
, pandas
, pyzmq
, toolz
# tests
, pytestCheckHook
}:
buildPythonPackage rec {
@@ -16,25 +26,44 @@ buildPythonPackage rec {
version = "1.4.1";
pyproject = true;
disabled = isPy27;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-VsJd1J5v6lcn5zEgPEZsbgkvMI2PACThmdAvaqIWf2c=";
src = fetchFromGitHub {
owner = "dask";
repo = "partd";
rev = "refs/tags/${version}";
hash = "sha256-EK+HNSPh2b7jwpc6jwH/n+6HDgHhRfBeaRuiDIWVG28=";
};
patches = [
(fetchpatch2 {
# python 3.12 support; https://github.com/dask/partd/pull/70
url = "https://github.com/dask/partd/pull/70/commits/c96a034367cb9fee0a0900f758b802aeef8a8a41.patch";
hash = "sha256-QlSIrFQQQo9We/gf7WSgmWrxdt3rxXQcyvJnFm8R5cM=";
})
];
nativeBuildInputs = [
setuptools
];
nativeCheckInputs = [ pytest ];
propagatedBuildInputs = [
locket
toolz
];
propagatedBuildInputs = [ locket numpy pandas pyzmq toolz ];
passthru.optional-dependencies = {
complete = [
blosc2
numpy
pandas
pyzmq
];
};
checkPhase = ''
rm partd/tests/test_zmq.py # requires network & fails
py.test -k "not test_serialize"
'';
nativeCheckInputs = [
pytestCheckHook
];
meta = {
description = "Appendable key-value storage";