1{
2 lib,
3 buildPythonPackage,
4 pythonAtLeast,
5 fetchFromGitHub,
6 setuptools,
7 pytestCheckHook,
8}:
9
10buildPythonPackage rec {
11 pname = "more-properties";
12 version = "1.1.1";
13 pyproject = true;
14
15 # All tests are failing with:
16 # AssertionError: None != 'The type of the None singleton.'
17 disabled = pythonAtLeast "3.13";
18
19 src = fetchFromGitHub {
20 owner = "madman-bob";
21 repo = "python-more-properties";
22 tag = version;
23 hash = "sha256-dKG97rw5IG19m7u3ZDBM2yGScL5cFaKBvGZxPVJaUTE=";
24 };
25
26 postPatch = ''
27 mv pypi_upload/setup.py .
28 substituteInPlace setup.py \
29 --replace-fail "project_root = Path(__file__).parents[1]" "project_root = Path(__file__).parents[0]"
30 '';
31
32 build-system = [
33 setuptools
34 ];
35
36 pythonRemoveDeps = [
37 # dataclasses is included in Python since 3.7
38 "dataclasses"
39 ];
40
41 nativeCheckInputs = [ pytestCheckHook ];
42
43 pythonImportsCheck = [ "more_properties" ];
44
45 meta = {
46 description = "Collection of property variants";
47 homepage = "https://github.com/madman-bob/python-more-properties";
48 license = lib.licenses.mit;
49 maintainers = with lib.maintainers; [ dotlambda ];
50 };
51}