diff options
author | CoprDistGit <infra@openeuler.org> | 2025-03-26 08:56:56 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2025-03-26 08:56:56 +0000 |
commit | 05e453f33d593c331357af998dcc63610dd31374 (patch) | |
tree | c79c2ad412872d264b1d9d3490af578a6e4283eb /pyproject_wheel.py | |
parent | df5ddad58ca74b9796b242cf4881f46408553703 (diff) |
automatic import of pyproject-rpm-macrosopeneuler24.03_LTS_SP1
Diffstat (limited to 'pyproject_wheel.py')
-rw-r--r-- | pyproject_wheel.py | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/pyproject_wheel.py b/pyproject_wheel.py deleted file mode 100644 index 6d62176..0000000 --- a/pyproject_wheel.py +++ /dev/null @@ -1,78 +0,0 @@ -import argparse -import sys -import subprocess - - -def parse_config_settings_args(config_settings): - """ - Given a list of config `KEY=VALUE` formatted config settings, - return a dictionary that can be passed to PEP 517 hook functions. - """ - if not config_settings: - return config_settings - new_config_settings = {} - for arg in config_settings: - key, _, value = arg.partition('=') - if key in new_config_settings: - if not isinstance(new_config_settings[key], list): - # convert the existing value to a list - new_config_settings[key] = [new_config_settings[key]] - new_config_settings[key].append(value) - else: - new_config_settings[key] = value - return new_config_settings - - -def get_config_settings_args(config_settings): - """ - Given a dictionary of PEP 517 backend config_settings, - yield --config-settings args that can be passed to pip's CLI - """ - if not config_settings: - return - for key, values in config_settings.items(): - if not isinstance(values, list): - values = [values] - for value in values: - if value == '': - yield f'--config-settings={key}' - else: - yield f'--config-settings={key}={value}' - - -def build_wheel(*, wheeldir, stdout=None, config_settings=None): - command = ( - sys.executable, - '-m', 'pip', - 'wheel', - '--wheel-dir', wheeldir, - '--no-deps', - '--use-pep517', - '--no-build-isolation', - '--disable-pip-version-check', - '--no-clean', - '--progress-bar', 'off', - '--verbose', - *get_config_settings_args(config_settings), - '.', - ) - cp = subprocess.run(command, stdout=stdout) - return cp.returncode - - -def parse_args(argv=None): - parser = argparse.ArgumentParser(prog='%pyproject_wheel') - parser.add_argument('wheeldir', help=argparse.SUPPRESS) - parser.add_argument( - '-C', - dest='config_settings', - action='append', - help='Configuration settings to pass to the PEP 517 backend', - ) - args = parser.parse_args(argv) - args.config_settings = parse_config_settings_args(args.config_settings) - return args - - -if __name__ == '__main__': - sys.exit(build_wheel(**vars(parse_args()))) |