Update to 4.2.0

Work around the new-style PEP-517 configuration by creating our own
setup.py, as suggested by sunpoet@

ChangeLog:	https://github.com/ansible/ansible-lint/blob/v4.2.0/CHANGELOG.rst
This commit is contained in:
Matthew Seaman 2019-12-10 06:47:32 +00:00
parent 979fc5dc79
commit ba6514502b
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=519645
3 changed files with 25 additions and 166 deletions

View File

@ -1,8 +1,7 @@
# $FreeBSD$
PORTNAME= ansible-lint
PORTVERSION= 4.1.0
PORTREVISION= 2
PORTVERSION= 4.2.0
CATEGORIES= sysutils python
MASTER_SITES= CHEESESHOP
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@ -13,16 +12,25 @@ COMMENT= Checks playbooks for sub-optimal practices and behaviour
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}ansible>=2.6:sysutils/ansible@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}yaml>0:devel/py-yaml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}ruamel.yaml>=0.15.37:devel/py-ruamel.yaml@${PY_FLAVOR}
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools_scm_git_archive>0:devel/py-setuptools_scm_git_archive@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}ansible>=2.7:sysutils/ansible@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}ruamel.yaml>=0.15.37:devel/py-ruamel.yaml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=41.4.0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}setuptools_scm>=1.15.0:devel/py-setuptools_scm@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}setuptools_scm_git_archive>=1.0:devel/py-setuptools_scm_git_archive@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flake8>0:devel/py-flake8@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}nose>0:devel/py-nose@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pep8-naming>0:devel/py-pep8-naming@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}tox>0:devel/py-tox@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
${PYTHON_PKGNAMEPREFIX}pytest>0:devel/py-pytest@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-cov>0:devel/py-pytest-cov@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-xdist>0:devel/py-pytest-xdist@${PY_FLAVOR}
#.if ${PYTHON_REL} < 3300
#RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}pathlib2>=0:devel/py-pathlib2@${PY_FLAVOR}
#.endif
NO_ARCH= yes
USES= python

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1553282794
SHA256 (ansible-lint-4.1.0.tar.gz) = 9430ea6e654ba4bf5b9c6921efc040f46cda9c4fd2896a99ff71d21037bcb123
SIZE (ansible-lint-4.1.0.tar.gz) = 2907222
TIMESTAMP = 1575528947
SHA256 (ansible-lint-4.2.0.tar.gz) = eb925d8682d70563ccb80e2aca7b3edf84fb0b768cea3edc6846aac7abdc414a
SIZE (ansible-lint-4.2.0.tar.gz) = 2921937

View File

@ -1,157 +1,8 @@
Obtained from: https://github.com/ssbarnea/ansible-lint/commit/c0f0002d56824adfd979c57f54f9d1ca69bd1503
--- setup.py.orig 2019-02-11 14:40:08 UTC
--- setup.py.orig 2019-12-09 07:04:35 UTC
+++ setup.py
@@ -1,150 +1,6 @@
#! /usr/bin/env python
-"""Ansible-lint distribution package setuptools installer."""
import setuptools
-
-try:
- from setuptools.config import read_configuration, ConfigOptionsHandler
- import setuptools.config
- import setuptools.dist
-
- # Set default value for 'use_scm_version'
- setattr(setuptools.dist.Distribution, 'use_scm_version', False)
-
- # Attach bool parser to 'use_scm_version' option
- class ShimConfigOptionsHandler(ConfigOptionsHandler):
- """Extension class for ConfigOptionsHandler."""
-
- @property
- def parsers(self):
- """Return an option mapping with default data type parsers."""
- _orig_parsers = super(ShimConfigOptionsHandler, self).parsers
- return dict(use_scm_version=self._parse_bool, **_orig_parsers)
-
- setuptools.config.ConfigOptionsHandler = ShimConfigOptionsHandler
-except ImportError:
- """This is a shim for setuptools<30.3."""
- import io
- import json
-
- try:
- from configparser import ConfigParser, NoSectionError
- except ImportError:
- from ConfigParser import ConfigParser, NoSectionError
- ConfigParser.read_file = ConfigParser.readfp
-
- def maybe_read_files(d):
- """Read files if the string starts with `file:` marker."""
- d = d.strip()
- if not d.startswith('file:'):
- return d
- descs = []
- for fname in map(str.strip, str(d[5:]).split(',')):
- with io.open(fname, encoding='utf-8') as f:
- descs.append(f.read())
- return ''.join(descs)
-
- def cfg_val_to_list(v):
- """Turn config val to list and filter out empty lines."""
- return list(filter(bool, map(str.strip, str(v).strip().splitlines())))
-
- def cfg_val_to_dict(v):
- """Turn config val to dict and filter out empty lines."""
- return dict(
- map(lambda l: list(map(str.strip, l.split('=', 1))),
- filter(bool, map(str.strip, str(v).strip().splitlines())))
- )
-
- def cfg_val_to_primitive(v):
- """Parse primitive config val to appropriate data type."""
- return json.loads(v.strip().lower())
-
- def read_configuration(filepath):
- """Read metadata and options from setup.cfg located at filepath."""
- cfg = ConfigParser()
- with io.open(filepath, encoding='utf-8') as f:
- cfg.read_file(f)
-
- md = dict(cfg.items('metadata'))
- for list_key in 'classifiers', 'keywords':
- try:
- md[list_key] = cfg_val_to_list(md[list_key])
- except KeyError:
- pass
- try:
- md['long_description'] = maybe_read_files(md['long_description'])
- except KeyError:
- pass
- opt = dict(cfg.items('options'))
- for list_key in 'use_scm_version', 'zip_safe':
- try:
- opt[list_key] = cfg_val_to_primitive(opt[list_key])
- except KeyError:
- pass
- for list_key in 'scripts', 'install_requires', 'setup_requires':
- try:
- opt[list_key] = cfg_val_to_list(opt[list_key])
- except KeyError:
- pass
- try:
- opt['package_dir'] = cfg_val_to_dict(opt['package_dir'])
- except KeyError:
- pass
- try:
- opt_package_data = dict(cfg.items('options.package_data'))
- if not opt_package_data.get('', '').strip():
- opt_package_data[''] = opt_package_data['*']
- del opt_package_data['*']
- except (KeyError, NoSectionError):
- opt_package_data = {}
- try:
- opt_extras_require = dict(cfg.items('options.extras_require'))
- opt['extras_require'] = {}
- for k, v in opt_extras_require.items():
- opt['extras_require'][k] = cfg_val_to_list(v)
- except NoSectionError:
- pass
- opt['package_data'] = {}
- for k, v in opt_package_data.items():
- opt['package_data'][k] = cfg_val_to_list(v)
- cur_pkgs = opt.get('packages', '').strip()
- if '\n' in cur_pkgs:
- opt['packages'] = cfg_val_to_list(opt['packages'])
- elif cur_pkgs.startswith('find:'):
- opt_packages_find = dict(cfg.items('options.packages.find'))
- opt['packages'] = setuptools.find_packages(**opt_packages_find)
- return {'metadata': md, 'options': opt}
-
-
-setup_params = {}
-declarative_setup_params = read_configuration('setup.cfg')
-
-# Patch incorrectly decoded package_dir option
-# ``egg_info`` demands native strings failing with unicode under Python 2
-# Ref https://github.com/pypa/setuptools/issues/1136
-declarative_setup_params['options']['package_dir'] = {
- str(k): str(v)
- for k, v in declarative_setup_params['options']['package_dir'].items()
-}
-
-setup_params = dict(setup_params, **declarative_setup_params['metadata'])
-setup_params = dict(setup_params, **declarative_setup_params['options'])
-
-
-def cut_local_version_on_upload(version):
- import os
- import setuptools_scm.version # only present during setup time
- IS_PYPI_UPLOAD = os.getenv('PYPI_UPLOAD') == 'true'
- return (
- '' if IS_PYPI_UPLOAD
- else setuptools_scm.version.get_local_node_and_date(version)
- )
-
-
-setup_params['use_scm_version'] = {
- 'local_scheme': cut_local_version_on_upload,
-}
-
-
-__name__ == '__main__' and setuptools.setup(**setup_params)
@@ -0,0 +1,5 @@
+
+import setuptools
+if __name__ == "__main__":
+ setuptools.setup(use_scm_version=True)
+