diff options
Diffstat (limited to 'dev-python/sip/files/sip-6.5.0-pep517-args.patch')
-rw-r--r-- | dev-python/sip/files/sip-6.5.0-pep517-args.patch | 190 |
1 files changed, 0 insertions, 190 deletions
diff --git a/dev-python/sip/files/sip-6.5.0-pep517-args.patch b/dev-python/sip/files/sip-6.5.0-pep517-args.patch deleted file mode 100644 index c4d39dcf6156..000000000000 --- a/dev-python/sip/files/sip-6.5.0-pep517-args.patch +++ /dev/null @@ -1,190 +0,0 @@ -Backport from https://www.riverbankcomputing.com/hg/sip/ - -changeset: 2771:8543f04b374f -branch: 6.6-maint -tag: tip -user: Phil Thompson <phil@riverbankcomputing.com> -date: Tue May 10 13:58:28 2022 +0100 -summary: Fixed the PEP571 backend to handle multiple instances of the same config - -changeset: 2769:c02af095a016 -branch: 6.6-maint -user: Phil Thompson <phil@riverbankcomputing.com> -date: Sat May 07 15:18:14 2022 +0100 -summary: Fix an API backward incompatibility. - -changeset: 2768:98dbce3e62f1 -branch: 6.6-maint -user: Phil Thompson <phil@riverbankcomputing.com> -date: Sat May 07 15:03:49 2022 +0100 -summary: Any config settings passed by a PEP 571 frontend are now used. - -diff -r 8583e2bb1b32 sipbuild/abstract_project.py ---- a/sipbuild/abstract_project.py Thu Nov 25 18:15:32 2021 +0000 -+++ b/sipbuild/abstract_project.py Tue May 10 16:15:30 2022 +0200 -@@ -1,4 +1,4 @@ --# Copyright (c) 2020, Riverbank Computing Limited -+# Copyright (c) 2022, Riverbank Computing Limited - # All rights reserved. - # - # This copy of SIP is licensed for use under the terms of the SIP License -@@ -34,7 +34,7 @@ - """ This specifies the API of a project. """ - - @classmethod -- def bootstrap(cls, tool, tool_description=''): -+ def bootstrap(cls, tool, tool_description='', arguments=None): - """ Return an AbstractProject instance fully configured for a - particular command line tool. - """ -@@ -79,6 +79,10 @@ - "The project factory did not return an AbstractProject " - "object") - -+ # We set this as an attribute rather than change the API of the ctor or -+ # setup(). -+ project.arguments = arguments -+ - # Complete the configuration of the project. - project.setup(pyproject, tool, tool_description) - -diff -r 8583e2bb1b32 sipbuild/api.py ---- a/sipbuild/api.py Thu Nov 25 18:15:32 2021 +0000 -+++ b/sipbuild/api.py Tue May 10 16:15:30 2022 +0200 -@@ -1,4 +1,4 @@ --# Copyright (c) 2019, Riverbank Computing Limited -+# Copyright (c) 2022, Riverbank Computing Limited - # All rights reserved. - # - # This copy of SIP is licensed for use under the terms of the SIP License -@@ -28,10 +28,8 @@ - def build_sdist(sdist_directory, config_settings=None): - """ The PEP 517 hook for building an sdist from pyproject.toml. """ - -- # Note that we ignore config_settings until we have a frontend that we can -- # fully test with. (pip seems lacking at the moment.) -- -- project = AbstractProject.bootstrap('pep517') -+ project = AbstractProject.bootstrap('sdist', -+ arguments=_convert_config_settings(config_settings)) - - # pip executes this in a separate process and doesn't handle exceptions - # very well. However it does capture stdout and (eventually) show it to -@@ -45,10 +43,8 @@ - def build_wheel(wheel_directory, config_settings=None, metadata_directory=None): - """ The PEP 517 hook for building a wheel from pyproject.toml. """ - -- # Note that we ignore config_settings until we have a frontend that we can -- # fully test with. (pip seems lacking at the moment.) -- -- project = AbstractProject.bootstrap('pep517') -+ project = AbstractProject.bootstrap('wheel', -+ arguments=_convert_config_settings(config_settings)) - - # pip executes this in a separate process and doesn't handle exceptions - # very well. However it does capture stdout and (eventually) show it to -@@ -57,3 +53,26 @@ - return project.build_wheel(wheel_directory) - except Exception as e: - handle_exception(e) -+ -+ -+def _convert_config_settings(config_settings): -+ """ Return any configuration settings from the frontend to a pseudo-command -+ line. -+ """ -+ -+ if config_settings is None: -+ config_settings = {} -+ -+ args = [] -+ -+ for name, value in config_settings.items(): -+ if value: -+ if not isinstance(value, list): -+ value = [value] -+ -+ for m_value in value: -+ args.append(name + '=' + m_value) -+ else: -+ args.append(name) -+ -+ return args -diff -r 8583e2bb1b32 sipbuild/configurable.py ---- a/sipbuild/configurable.py Thu Nov 25 18:15:32 2021 +0000 -+++ b/sipbuild/configurable.py Tue May 10 16:15:30 2022 +0200 -@@ -1,4 +1,4 @@ --# Copyright (c) 2021, Riverbank Computing Limited -+# Copyright (c) 2022, Riverbank Computing Limited - # All rights reserved. - # - # This copy of SIP is licensed for use under the terms of the SIP License -@@ -244,7 +244,7 @@ - """ - - # The tools that will build a set of bindings. -- BUILD_TOOLS = ('build', 'install', 'pep517', 'wheel') -+ BUILD_TOOLS = ('build', 'install', 'wheel') - - # All the valid tools. - _ALL_TOOLS = BUILD_TOOLS + ('sdist', ) -diff -r 8583e2bb1b32 sipbuild/project.py ---- a/sipbuild/project.py Thu Nov 25 18:15:32 2021 +0000 -+++ b/sipbuild/project.py Tue May 10 16:15:30 2022 +0200 -@@ -155,6 +155,7 @@ - - # The current directory should contain the .toml file. - self.root_dir = os.getcwd() -+ self.arguments = None - self.bindings = collections.OrderedDict() - self.bindings_factories = [] - self.builder = None -@@ -204,11 +205,6 @@ - def apply_user_defaults(self, tool): - """ Set default values for user options that haven't been set yet. """ - -- # If we are the backend to a 3rd-party frontend (most probably pip) -- # then let it handle the verbosity of messages. -- if self.verbose is None and tool == '': -- self.verbose = True -- - # This is only used when creating sdist and wheel files. - if self.name is None: - self.name = self.metadata['name'] -@@ -569,14 +565,9 @@ - # Set the initial configuration from the pyproject.toml file. - self._set_initial_configuration(pyproject, tool) - -- # Add any tool-specific command line options for (so far unspecified) -+ # Add any tool-specific command line arguments for (so far unspecified) - # parts of the configuration. -- if tool != 'pep517': -- self._configure_from_command_line(tool, tool_description) -- else: -- # Until pip improves it's error reporting we give the user all the -- # help we can. -- self.verbose = True -+ self._configure_from_arguments(tool, tool_description) - - # Now that any help has been given we can report a problematic - # pyproject.toml file. -@@ -712,8 +703,8 @@ - for bindings in self.bindings.values(): - bindings.verify_configuration(tool) - -- def _configure_from_command_line(self, tool, tool_description): -- """ Update the configuration from the user supplied command line. """ -+ def _configure_from_arguments(self, tool, tool_description): -+ """ Update the configuration from any user supplied arguments. """ - - from argparse import SUPPRESS - from .argument_parser import ArgumentParser -@@ -739,7 +730,7 @@ - bindings.add_command_line_options(parser, tool, all_options) - - # Parse the arguments and update the corresponding configurables. -- args = parser.parse_args() -+ args = parser.parse_args(self.arguments) - - for option, configurables in all_options.items(): - for configurable in configurables: |