1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchPypi,
6 setuptools,
7 pytestCheckHook,
8}:
9
10buildPythonPackage rec {
11 pname = "zodbpickle";
12 version = "4.2";
13 pyproject = true;
14
15 disabled = pythonOlder "3.8";
16
17 src = fetchPypi {
18 inherit pname version;
19 hash = "sha256-WoUUT7psNPxnvQDH8InW1TLcQ6A0R9/F4jhGyRkjCkU=";
20 };
21
22 postPatch = ''
23 substituteInPlace pyproject.toml \
24 --replace-fail "setuptools <= 75.6.0" "setuptools"
25 '';
26
27 build-system = [ setuptools ];
28
29 pythonImportsCheck = [ "zodbpickle" ];
30
31 nativeCheckInputs = [ pytestCheckHook ];
32
33 preCheck = ''
34 mv src/zodbpickle/tests ./.
35 rm -rf src
36 '';
37
38 # fails..
39 disabledTests = [
40 "test_dump"
41 "test_dumps"
42 "test_load"
43 "test_loads"
44 ];
45
46 meta = {
47 description = "Fork of Python's pickle module to work with ZODB";
48 homepage = "https://github.com/zopefoundation/zodbpickle";
49 changelog = "https://github.com/zopefoundation/zodbpickle/blob/${version}/CHANGES.rst";
50 license = with lib.licenses; [
51 psfl
52 zpl21
53 ];
54 maintainers = [ ];
55 };
56}