1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
{
lib,
buildPythonPackage,
fetchFromGitHub,
pythonAtLeast,
setuptools-scm,
setuptools,
python,
docutils,
jaraco-collections,
jaraco-functools,
jaraco-envs,
jaraco-path,
jaraco-text,
libz,
more-itertools,
packaging,
path,
pyfakefs,
pytestCheckHook,
stdenv,
}:
buildPythonPackage {
pname = "distutils";
inherit (setuptools) version;
pyproject = true;
src = fetchFromGitHub {
owner = "pypa";
repo = "distutils";
rev = "5ad8291ff2ad3e43583bc72a4c09299ca6134f09"; # correlate commit from setuptools version
hash = "sha256-3Mqpe/Goj3lQ6GEbX3DHWjdoh7XsFIg9WkOCK138OAo=";
};
build-system = [ setuptools-scm ];
dependencies = [
jaraco-collections
jaraco-functools
more-itertools
packaging
];
postInstall = ''
rm -r $out/${python.sitePackages}/distutils
ln -s ${setuptools}/${python.sitePackages}/setuptools/_distutils $out/${python.sitePackages}/distutils
'';
pythonImportsCheck = [ "distutils" ];
nativeCheckInputs = [
docutils
jaraco-envs
jaraco-path
jaraco-text
more-itertools
path
pyfakefs
pytestCheckHook
];
checkInputs = [
# https://github.com/pypa/distutils/blob/5ad8291ff2ad3e43583bc72a4c09299ca6134f09/distutils/tests/test_build_ext.py#L107
libz
];
# jaraco-path depends ob pyobjc
doCheck = !stdenv.hostPlatform.isDarwin;
disabledTests = lib.optionals (pythonAtLeast "3.14") [
# AssertionError: assert '(?s:foo[^/]*)\\z' == '(?s:foo[^/]*)\\Z'
"test_glob_to_re"
];
meta = {
description = "Distutils as found in cpython";
homepage = "https://github.com/pypa/distutils";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
|