From 1609b9697a6860b209db104875906a8e4a154385 Mon Sep 17 00:00:00 2001 From: Sebastian Jordan Date: Sat, 3 Aug 2019 13:14:53 +0200 Subject: [PATCH 1/2] Fix issue with setup requirements not being installed --- .../serpy/requirements_override.nix | 5 +++++ integrationtests/test_serpy_0_1_1.py | 17 +++++++++++++++++ src/pypi2nix/stage1.py | 10 ++++++++++ 3 files changed, 32 insertions(+) create mode 100644 integrationtests/serpy/requirements_override.nix create mode 100644 integrationtests/test_serpy_0_1_1.py diff --git a/integrationtests/serpy/requirements_override.nix b/integrationtests/serpy/requirements_override.nix new file mode 100644 index 0000000..3b704ef --- /dev/null +++ b/integrationtests/serpy/requirements_override.nix @@ -0,0 +1,5 @@ +{ pkgs, python }: + +self: super: { + +} \ No newline at end of file diff --git a/integrationtests/test_serpy_0_1_1.py b/integrationtests/test_serpy_0_1_1.py new file mode 100644 index 0000000..501de8e --- /dev/null +++ b/integrationtests/test_serpy_0_1_1.py @@ -0,0 +1,17 @@ +from unittest import TestCase + +from .framework import IntegrationTest + + +class SerpyTest(IntegrationTest, TestCase): + def name_of_testcase(self): + return "serpy" + + def python_version(self): + return "3" + + def requirements(self): + return ["serpy==0.1.1"] + + def setup_requires(self): + return ["six==1.12.0"] diff --git a/src/pypi2nix/stage1.py b/src/pypi2nix/stage1.py index bb9be4c..3e96b01 100644 --- a/src/pypi2nix/stage1.py +++ b/src/pypi2nix/stage1.py @@ -34,7 +34,17 @@ def build( setup_requirements: Optional[RequirementSet] = None, ) -> List[str]: if setup_requirements is None: + self.logger.info("No setup requirements detected") setup_requirements = RequirementSet(self.pip.target_platform) + else: + self.logger.info("Instal setup requirements") + setup_requirements = ( + self.detect_additional_build_dependencies(setup_requirements) + + setup_requirements + ) + self.pip.install( + setup_requirements, source_directories=[self.download_directory] + ) requirements = requirements + setup_requirements detected_requirements = self.detect_additional_build_dependencies(requirements) updated_requirements = detected_requirements + requirements From 553bbe3ff17009a932dab6831aba1296824a6c49 Mon Sep 17 00:00:00 2001 From: Sebastian Jordan Date: Sat, 3 Aug 2019 13:39:28 +0200 Subject: [PATCH 2/2] Fix crashing bug in wheel builder --- src/pypi2nix/stage1.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pypi2nix/stage1.py b/src/pypi2nix/stage1.py index 3e96b01..0f436aa 100644 --- a/src/pypi2nix/stage1.py +++ b/src/pypi2nix/stage1.py @@ -33,6 +33,7 @@ def build( requirements: RequirementSet, setup_requirements: Optional[RequirementSet] = None, ) -> List[str]: + self.ensure_download_directory_exists() if setup_requirements is None: self.logger.info("No setup requirements detected") setup_requirements = RequirementSet(self.pip.target_platform)