summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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.patch190
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: