diff --git a/pkgs/development/python-modules/distutils/default.nix b/pkgs/development/python-modules/distutils/default.nix new file mode 100644 index 000000000000..4e0a2d10d26e --- /dev/null +++ b/pkgs/development/python-modules/distutils/default.nix @@ -0,0 +1,54 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools-scm, + setuptools, + python, + jaraco-envs, + jaraco-path, + jaraco-text, + more-itertools, + path, + pyfakefs, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "distutils"; + inherit (setuptools) version; + pyproject = true; + + src = fetchFromGitHub { + owner = "pypa"; + repo = "distutils"; + rev = "813ab9868b353991ec7324eb09619ee5beb9183f"; + hash = "sha256-/YtITDuZlTJRisqsQ6SrgRRUrqLZpj+k3drrouURZlc="; + }; + + build-system = [ setuptools-scm ]; + + postInstall = '' + rm -r $out/${python.sitePackages}/distutils + ln -s ${setuptools}/${python.sitePackages}/setuptools/_distutils $out/${python.sitePackages}/distutils + ''; + + pythonImportsCheck = [ "distutils" ]; + + nativeCheckInputs = [ + jaraco-envs + jaraco-path + jaraco-text + more-itertools + path + pyfakefs + pytestCheckHook + ]; + + meta = { + description = "Distutils as found in cpython"; + homepage = "https://github.com/pypa/distutils"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e8d996ad89fa..55494b77e3dc 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3179,6 +3179,8 @@ self: super: with self; { distro = callPackage ../development/python-modules/distro { }; + distutils = if pythonOlder "3.12" then null else callPackage ../development/python-modules/distutils { }; + distutils-extra = callPackage ../development/python-modules/distutils-extra { }; # LTS in extended support phase