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..0f436aa 100644 --- a/src/pypi2nix/stage1.py +++ b/src/pypi2nix/stage1.py @@ -33,8 +33,19 @@ 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) + 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