diff --git a/pkgs/patches/configparser/pyproject.patch b/pkgs/patches/configparser/pyproject.patch new file mode 100644 --- /dev/null +++ b/pkgs/patches/configparser/pyproject.patch @@ -0,0 +1,10 @@ +diff -rup configparser-4.0.2-orig/pyproject.toml configparser-4.0.2/pyproject.toml +--- configparser-4.0.2-orig/pyproject.toml 2021-03-22 21:28:11.000000000 +0100 ++++ configparser-4.0.2/pyproject.toml 2021-03-22 21:28:11.000000000 +0100 +@@ -1,5 +1,5 @@ + [build-system] +-requires = ["setuptools>=40.7", "wheel", "setuptools_scm>=1.15"] ++requires = ["setuptools<=42.0", "wheel", "setuptools_scm<6.0.0"] + build-backend = "setuptools.build_meta" + + [tool.black] diff --git a/pkgs/patches/importlib_metadata/pyproject.patch b/pkgs/patches/importlib_metadata/pyproject.patch new file mode 100644 --- /dev/null +++ b/pkgs/patches/importlib_metadata/pyproject.patch @@ -0,0 +1,7 @@ +diff -rup importlib-metadata-1.6.0-orig/yproject.toml importlib-metadata-1.6.0/pyproject.toml +--- importlib-metadata-1.6.0-orig/yproject.toml 2021-03-22 22:10:33.000000000 +0100 ++++ importlib-metadata-1.6.0/pyproject.toml 2021-03-22 22:11:09.000000000 +0100 +@@ -1,3 +1,3 @@ + [build-system] +-requires = ["setuptools>=30.3", "wheel", "setuptools_scm"] ++requires = ["setuptools<42.0", "wheel", "setuptools_scm<6.0.0"] diff --git a/pkgs/python-packages-overrides.nix b/pkgs/python-packages-overrides.nix --- a/pkgs/python-packages-overrides.nix +++ b/pkgs/python-packages-overrides.nix @@ -21,9 +21,15 @@ self: super: { ]; }); + "ipython" = super."ipython".override (attrs: { + propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ + self."setuptools-scm" + ]; + }); + "gevent" = super."gevent".override (attrs: { propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ - # NOTE: (marcink) odd requirements from gevent aren't set properly, + # NOTE: (marcink) odd requirements from gevent aren not set properly, # thus we need to inject psutil manually self."psutil" ]; @@ -71,6 +77,45 @@ self: super: { ]; }); + "pytest-runner" = super."pytest-runner".override (attrs: { + propagatedBuildInputs = [ + self."setuptools-scm" + ]; + }); + + "py" = super."py".override (attrs: { + propagatedBuildInputs = [ + self."setuptools-scm" + ]; + }); + + "configparser" = super."configparser".override (attrs: { + patches = [ + ./patches/configparser/pyproject.patch + ]; + propagatedBuildInputs = [ + self."setuptools-scm" + ]; + }); + + "importlib-metadata" = super."importlib-metadata".override (attrs: { + + patches = [ + ./patches/importlib_metadata/pyproject.patch + ]; + + propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ + self."setuptools-scm" + ]; + + "zipp" = super."zipp".override (attrs: { + propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ + self."setuptools-scm" + ]; + }); + + }); + # Avoid that base packages screw up the build process inherit (basePythonPackages) setuptools; diff --git a/pkgs/python-packages.nix b/pkgs/python-packages.nix --- a/pkgs/python-packages.nix +++ b/pkgs/python-packages.nix @@ -886,6 +886,19 @@ self: super: { license = [ pkgs.lib.licenses.mit ]; }; }; + + "setuptools-scm" = super.buildPythonPackage { + name = "setuptools-scm-3.5.0"; + doCheck = false; + src = fetchurl { + url = "https://files.pythonhosted.org/packages/b2/f7/60a645aae001a2e06cf4b8db2fba9d9f36b8fd378f10647e3e218b61b74b/setuptools_scm-3.5.0.tar.gz"; + sha256 = "5bdf21a05792903cafe7ae0c9501182ab52497614fa6b1750d9dbae7b60c1a87"; + }; + meta = { + license = [ pkgs.lib.licenses.psfl ]; + }; + }; + "simplegeneric" = super.buildPythonPackage { name = "simplegeneric-0.8.1"; doCheck = false;