1{
2 stdenv,
3 lib,
4 buildPythonPackage,
5 distutils,
6 fetchFromGitHub,
7 python,
8}:
9
10buildPythonPackage rec {
11 pname = "setuptools";
12 version = "80.9.0";
13 pyproject = true;
14
15 src = fetchFromGitHub {
16 owner = "pypa";
17 repo = "setuptools";
18 tag = "v${version}";
19 hash = "sha256-wueVQsV0ja/iPFRK7OKV27FQ7hYKF8cP3WH5wJeIXnI=";
20 };
21
22 patches = [
23 ./tag-date.patch
24 ];
25
26 # Drop dependency on coherent.license, which in turn requires coherent.build
27 postPatch = ''
28 sed -i "/coherent.licensed/d" pyproject.toml
29 '';
30
31 preBuild = lib.optionalString (!stdenv.hostPlatform.isWindows) ''
32 export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0
33 '';
34
35 # Requires pytest, causing infinite recursion.
36 doCheck = false;
37
38 passthru.tests = {
39 inherit distutils;
40 };
41
42 meta = with lib; {
43 description = "Utilities to facilitate the installation of Python packages";
44 homepage = "https://github.com/pypa/setuptools";
45 changelog = "https://setuptools.pypa.io/en/stable/history.html#v${
46 replaceStrings [ "." ] [ "-" ] version
47 }";
48 license = with licenses; [ mit ];
49 platforms = python.meta.platforms;
50 teams = [ teams.python ];
51 };
52}