summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--user/py3-setuptools/APKBUILD19
-rw-r--r--user/py3-setuptools/pythonpath.patch19
-rw-r--r--user/py3-setuptools/update-wheel-tests.patch460
3 files changed, 18 insertions, 480 deletions
diff --git a/user/py3-setuptools/APKBUILD b/user/py3-setuptools/APKBUILD
index ed0269de7..6bee60420 100644
--- a/user/py3-setuptools/APKBUILD
+++ b/user/py3-setuptools/APKBUILD
@@ -2,21 +2,19 @@
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=py3-setuptools
_pkgname=setuptools
-pkgver=39.0.1
-pkgrel=1
+pkgver=39.1.0
+pkgrel=0
pkgdesc="A collection of enhancements to the Python distutils"
url="http://pypi.python.org/project/setuptools"
arch="noarch"
license="MIT"
depends="python3"
makedepends="python3-dev"
-#checkdepends="py3-tox"
-options="!check" # Circular dependency with py3-tox. Passes on x86_64
+checkdepends="py3-tox"
+options="net" # Circular dependency with py3-tox. Passes on x86_64
subpackages="py3-easy_install:easy_install"
-# Note: PyPI download is missing tests/requirements.txt
-source="$pkgname-$pkgver.tar.gz::https://github.com/pypa/$_pkgname/archive/v$pkgver.tar.gz
- pythonpath.patch
- update-wheel-tests.patch"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
+ pythonpath.patch"
builddir="$srcdir/$_pkgname-$pkgver"
build() {
@@ -42,6 +40,5 @@ easy_install() {
mv "$pkgdir"/usr/bin/easy_install* "$subpkgdir/usr/bin"
}
-sha512sums="34df8f10e89825975c82059c759690a2cc1486fc84c71a76875b92c2452529fbdd628e11e3043e479ea3f031af18b37a37b86d2a8d2505c300188eccdc109332 py3-setuptools-39.0.1.tar.gz
-0c80433534dbb715829f48713690a72a68f6cb7e337215c9aa507df0fbb2a2a242f54d42fab848c6f03729f155dfe0ccb819a6f5d5230e2195e94e20094eec0b pythonpath.patch
-5262d1dcdbf8ab40eb4e9fde3e8496e6b4e9809d6056e6069fc11ef5390e064dfef9f7eccec3452e7566b88ab861bf544b57dce249c4291142f307bd6465e45a update-wheel-tests.patch"
+sha512sums="9fa00930a1923782c2f6356bf992410d42b3dd81b5a673e2957eaf8941787fbea324851c5df48e37601641d004ee900c88a1cfa97ef9df374879586a36efa5c6 py3-setuptools-39.1.0.tar.gz
+ee248df4174240e90a35190e0a47bf0fa4cc5601adc64eff5fd585c8919e47c3a2bb6191b8333800016567d8a0f0f71b7c2306779ea7e4ab7c8951bdee28ef5e pythonpath.patch"
diff --git a/user/py3-setuptools/pythonpath.patch b/user/py3-setuptools/pythonpath.patch
index 371804f55..d9d78a861 100644
--- a/user/py3-setuptools/pythonpath.patch
+++ b/user/py3-setuptools/pythonpath.patch
@@ -1,10 +1,11 @@
---- setuptools-38.4.0/tox.ini 2018-01-05 13:17:02.000000000 +0000
-+++ setuptools-38.4.0/tox.ini 2018-01-11 01:50:05.810000000 +0000
-@@ -6,6 +6,6 @@
-
- [testenv]
- deps=-rtests/requirements.txt
--passenv=APPDATA USERPROFILE HOMEDRIVE HOMEPATH windir APPVEYOR
-+passenv=APPDATA USERPROFILE HOMEDRIVE HOMEPATH windir APPVEYOR PYTHONPATH
- commands=py.test {posargs}
+--- setuptools-39.1.0/tox.ini 2018-04-28 07:07:00.000000000 -0400
++++ setuptools-39.1.0/tox.ini 2018-05-22 00:25:02.969163171 -0400
+@@ -12,7 +12,7 @@
+ setenv=COVERAGE_FILE={toxworkdir}/.coverage.{envname}
+ # TODO: The passed environment variables came from copying other tox.ini files
+ # These should probably be individually annotated to explain what needs them.
+-passenv=APPDATA HOMEDRIVE HOMEPATH windir APPVEYOR APPVEYOR_* CI CODECOV_* TRAVIS TRAVIS_*
++passenv=APPDATA HOMEDRIVE HOMEPATH windir APPVEYOR APPVEYOR_* CI CODECOV_* TRAVIS TRAVIS_* PYTHONPATH
+ commands=pytest --cov-config={toxinidir}/tox.ini --cov-report= {posargs}
usedevelop=True
+
diff --git a/user/py3-setuptools/update-wheel-tests.patch b/user/py3-setuptools/update-wheel-tests.patch
deleted file mode 100644
index 769ef470f..000000000
--- a/user/py3-setuptools/update-wheel-tests.patch
+++ /dev/null
@@ -1,460 +0,0 @@
-From 41882016dbd6b334e6e10e2c3ac5afb9f5793ede Mon Sep 17 00:00:00 2001
-From: Paul Ganssle <paul@ganssle.io>
-Date: Fri, 6 Apr 2018 17:07:44 -0400
-Subject: [PATCH 1/2] Update wheel tests to reflect latest version
-
----
- setuptools/tests/test_wheel.py | 16 ----------------
- 1 file changed, 16 deletions(-)
-
-diff --git a/setuptools/tests/test_wheel.py b/setuptools/tests/test_wheel.py
-index b6be6f1f0..d8d5ddb23 100644
---- a/setuptools/tests/test_wheel.py
-+++ b/setuptools/tests/test_wheel.py
-@@ -161,11 +161,9 @@ def __repr__(self):
- '''
- foo-1.0-py{py_version}.egg/
- |-- EGG-INFO/
-- | |-- DESCRIPTION.rst
- | |-- PKG-INFO
- | |-- RECORD
- | |-- WHEEL
-- | |-- metadata.json
- | |-- top_level.txt
- |-- foo/
- | |-- __init__.py
-@@ -196,11 +194,9 @@ def __repr__(self):
- '''
- foo-1.0-py{py_version}.egg/
- |-- EGG-INFO/
-- | |-- DESCRIPTION.rst
- | |-- PKG-INFO
- | |-- RECORD
- | |-- WHEEL
-- | |-- metadata.json
- | |-- top_level.txt
- |-- data_dir/
- | |-- data.txt
-@@ -267,11 +263,9 @@ def __repr__(self):
- foo-1.0-py{py_version}-{platform}.egg/
- |-- extension{shlib_ext}
- |-- EGG-INFO/
-- | |-- DESCRIPTION.rst
- | |-- PKG-INFO
- | |-- RECORD
- | |-- WHEEL
-- | |-- metadata.json
- | |-- top_level.txt
- '''
- ),
-@@ -293,11 +287,9 @@ def __repr__(self):
- foo-1.0-py{py_version}.egg/
- |-- header.h
- |-- EGG-INFO/
-- | |-- DESCRIPTION.rst
- | |-- PKG-INFO
- | |-- RECORD
- | |-- WHEEL
-- | |-- metadata.json
- | |-- top_level.txt
- '''
- ),
-@@ -326,11 +318,9 @@ def __repr__(self):
- '''
- foo-1.0-py{py_version}.egg/
- |-- EGG-INFO/
-- | |-- DESCRIPTION.rst
- | |-- PKG-INFO
- | |-- RECORD
- | |-- WHEEL
-- | |-- metadata.json
- | |-- top_level.txt
- | |-- scripts/
- | | |-- script.py
-@@ -346,11 +336,9 @@ def __repr__(self):
- '''
- foo-1.0-py{py_version}.egg/
- |-- EGG-INFO/
-- | |-- DESCRIPTION.rst
- | |-- PKG-INFO
- | |-- RECORD
- | |-- WHEEL
-- | |-- metadata.json
- | |-- requires.txt
- | |-- top_level.txt
- '''),
-@@ -430,11 +418,9 @@ def __repr__(self):
- foo-1.0-py{py_version}.egg/
- |-- foo-1.0-py{py_version}-nspkg.pth
- |-- EGG-INFO/
-- | |-- DESCRIPTION.rst
- | |-- PKG-INFO
- | |-- RECORD
- | |-- WHEEL
-- | |-- metadata.json
- | |-- namespace_packages.txt
- | |-- top_level.txt
- |-- foo/
-@@ -466,11 +452,9 @@ def __repr__(self):
- '''
- foo-1.0-py{py_version}.egg/
- |-- EGG-INFO/
-- | |-- DESCRIPTION.rst
- | |-- PKG-INFO
- | |-- RECORD
- | |-- WHEEL
-- | |-- metadata.json
- | |-- top_level.txt
- |-- foo/
- | |-- __init__.py
-
-From ed3762fc7d16174a54b2fa83af1996decafd756f Mon Sep 17 00:00:00 2001
-From: Paul Ganssle <paul@ganssle.io>
-Date: Sat, 7 Apr 2018 13:38:31 -0400
-Subject: [PATCH 2/2] Switch test_wheel over to subset-based test
-
-This is both compatible with the old version of wheel (last one
-supported under Python 3.3) and is more in line with our commitment,
-which is that the wheel install provides at least these files.
----
- setuptools/tests/test_wheel.py | 268 ++++++++++++++++++++++-------------------
- 1 file changed, 142 insertions(+), 126 deletions(-)
-
-diff --git a/setuptools/tests/test_wheel.py b/setuptools/tests/test_wheel.py
-index d8d5ddb23..150ac4c1b 100644
---- a/setuptools/tests/test_wheel.py
-+++ b/setuptools/tests/test_wheel.py
-@@ -92,39 +92,49 @@ def build_wheel(extra_file_defs=None, **kwargs):
- yield glob.glob(os.path.join(source_dir, 'dist', '*.whl'))[0]
-
-
--def tree(root):
-- def depth(path):
-- return len(path.split(os.path.sep))
-- def prefix(path_depth):
-- if not path_depth:
-- return ''
-- return '| ' * (path_depth - 1) + '|-- '
-- lines = []
-- root_depth = depth(root)
-+def tree_set(root):
-+ contents = set()
- for dirpath, dirnames, filenames in os.walk(root):
-- dirnames.sort()
-- filenames.sort()
-- dir_depth = depth(dirpath) - root_depth
-- if dir_depth > 0:
-- lines.append('%s%s/' % (prefix(dir_depth - 1),
-- os.path.basename(dirpath)))
-- for f in filenames:
-- lines.append('%s%s' % (prefix(dir_depth), f))
-- return '\n'.join(lines) + '\n'
--
--
--def _check_wheel_install(filename, install_dir, install_tree,
-+ for filename in filenames:
-+ contents.add(os.path.join(os.path.relpath(dirpath, root),
-+ filename))
-+ return contents
-+
-+
-+def flatten_tree(tree):
-+ """Flatten nested dicts and lists into a full list of paths"""
-+ output = set()
-+ for node, contents in tree.items():
-+ if isinstance(contents, dict):
-+ contents = flatten_tree(contents)
-+
-+ for elem in contents:
-+ if isinstance(elem, dict):
-+ output |= {os.path.join(node, val)
-+ for val in flatten_tree(elem)}
-+ else:
-+ output.add(os.path.join(node, elem))
-+ return output
-+
-+
-+def format_install_tree(tree):
-+ return {x.format(
-+ py_version=PY_MAJOR,
-+ platform=get_platform(),
-+ shlib_ext=get_config_var('EXT_SUFFIX') or get_config_var('SO'))
-+ for x in tree}
-+
-+
-+def _check_wheel_install(filename, install_dir, install_tree_includes,
- project_name, version, requires_txt):
- w = Wheel(filename)
- egg_path = os.path.join(install_dir, w.egg_name())
- w.install_as_egg(egg_path)
-- if install_tree is not None:
-- install_tree = install_tree.format(
-- py_version=PY_MAJOR,
-- platform=get_platform(),
-- shlib_ext=get_config_var('EXT_SUFFIX') or get_config_var('SO')
-- )
-- assert install_tree == tree(install_dir)
-+ if install_tree_includes is not None:
-+ install_tree = format_install_tree(install_tree_includes)
-+ exp = tree_set(install_dir)
-+ assert install_tree.issubset(exp), (install_tree - exp)
-+
- metadata = PathMetadata(egg_path, os.path.join(egg_path, 'EGG-INFO'))
- dist = Distribution.from_filename(egg_path, metadata=metadata)
- assert dist.project_name == project_name
-@@ -157,18 +167,17 @@ def __repr__(self):
- setup_kwargs=dict(
- packages=['foo'],
- ),
-- install_tree=DALS(
-- '''
-- foo-1.0-py{py_version}.egg/
-- |-- EGG-INFO/
-- | |-- PKG-INFO
-- | |-- RECORD
-- | |-- WHEEL
-- | |-- top_level.txt
-- |-- foo/
-- | |-- __init__.py
-- '''
-- ),
-+ install_tree=flatten_tree({
-+ 'foo-1.0-py{py_version}.egg': {
-+ 'EGG-INFO': [
-+ 'PKG-INFO',
-+ 'RECORD',
-+ 'WHEEL',
-+ 'top_level.txt'
-+ ],
-+ 'foo': ['__init__.py']
-+ }
-+ }),
- ),
-
- dict(
-@@ -190,18 +199,19 @@ def __repr__(self):
- setup_kwargs=dict(
- data_files=[('data_dir', ['data.txt'])],
- ),
-- install_tree=DALS(
-- '''
-- foo-1.0-py{py_version}.egg/
-- |-- EGG-INFO/
-- | |-- PKG-INFO
-- | |-- RECORD
-- | |-- WHEEL
-- | |-- top_level.txt
-- |-- data_dir/
-- | |-- data.txt
-- '''
-- ),
-+ install_tree=flatten_tree({
-+ 'foo-1.0-py{py_version}.egg': {
-+ 'EGG-INFO': [
-+ 'PKG-INFO',
-+ 'RECORD',
-+ 'WHEEL',
-+ 'top_level.txt'
-+ ],
-+ 'data_dir': [
-+ 'data.txt'
-+ ]
-+ }
-+ }),
- ),
-
- dict(
-@@ -258,17 +268,17 @@ def __repr__(self):
- sources=['extension.c'])
- ],
- ),
-- install_tree=DALS(
-- '''
-- foo-1.0-py{py_version}-{platform}.egg/
-- |-- extension{shlib_ext}
-- |-- EGG-INFO/
-- | |-- PKG-INFO
-- | |-- RECORD
-- | |-- WHEEL
-- | |-- top_level.txt
-- '''
-- ),
-+ install_tree=flatten_tree({
-+ 'foo-1.0-py{py_version}-{platform}.egg': [
-+ 'extension{shlib_ext}',
-+ {'EGG-INFO': [
-+ 'PKG-INFO',
-+ 'RECORD',
-+ 'WHEEL',
-+ 'top_level.txt',
-+ ]},
-+ ]
-+ }),
- ),
-
- dict(
-@@ -282,17 +292,17 @@ def __repr__(self):
- setup_kwargs=dict(
- headers=['header.h'],
- ),
-- install_tree=DALS(
-- '''
-- foo-1.0-py{py_version}.egg/
-- |-- header.h
-- |-- EGG-INFO/
-- | |-- PKG-INFO
-- | |-- RECORD
-- | |-- WHEEL
-- | |-- top_level.txt
-- '''
-- ),
-+ install_tree=flatten_tree({
-+ 'foo-1.0-py{py_version}.egg': [
-+ 'header.h',
-+ {'EGG-INFO': [
-+ 'PKG-INFO',
-+ 'RECORD',
-+ 'WHEEL',
-+ 'top_level.txt',
-+ ]},
-+ ]
-+ }),
- ),
-
- dict(
-@@ -314,34 +324,37 @@ def __repr__(self):
- setup_kwargs=dict(
- scripts=['script.py', 'script.sh'],
- ),
-- install_tree=DALS(
-- '''
-- foo-1.0-py{py_version}.egg/
-- |-- EGG-INFO/
-- | |-- PKG-INFO
-- | |-- RECORD
-- | |-- WHEEL
-- | |-- top_level.txt
-- | |-- scripts/
-- | | |-- script.py
-- | | |-- script.sh
-- '''
-- ),
-+ install_tree=flatten_tree({
-+ 'foo-1.0-py{py_version}.egg': {
-+ 'EGG-INFO': [
-+ 'PKG-INFO',
-+ 'RECORD',
-+ 'WHEEL',
-+ 'top_level.txt',
-+ {'scripts': [
-+ 'script.py',
-+ 'script.sh'
-+ ]}
-+
-+ ]
-+ }
-+ })
- ),
-
- dict(
- id='requires1',
- install_requires='foobar==2.0',
-- install_tree=DALS(
-- '''
-- foo-1.0-py{py_version}.egg/
-- |-- EGG-INFO/
-- | |-- PKG-INFO
-- | |-- RECORD
-- | |-- WHEEL
-- | |-- requires.txt
-- | |-- top_level.txt
-- '''),
-+ install_tree=flatten_tree({
-+ 'foo-1.0-py{py_version}.egg': {
-+ 'EGG-INFO': [
-+ 'PKG-INFO',
-+ 'RECORD',
-+ 'WHEEL',
-+ 'requires.txt',
-+ 'top_level.txt',
-+ ]
-+ }
-+ }),
- requires_txt=DALS(
- '''
- foobar==2.0
-@@ -413,21 +426,22 @@ def __repr__(self):
- namespace_packages=['foo'],
- packages=['foo.bar'],
- ),
-- install_tree=DALS(
-- '''
-- foo-1.0-py{py_version}.egg/
-- |-- foo-1.0-py{py_version}-nspkg.pth
-- |-- EGG-INFO/
-- | |-- PKG-INFO
-- | |-- RECORD
-- | |-- WHEEL
-- | |-- namespace_packages.txt
-- | |-- top_level.txt
-- |-- foo/
-- | |-- __init__.py
-- | |-- bar/
-- | | |-- __init__.py
-- '''),
-+ install_tree=flatten_tree({
-+ 'foo-1.0-py{py_version}.egg': [
-+ 'foo-1.0-py{py_version}-nspkg.pth',
-+ {'EGG-INFO': [
-+ 'PKG-INFO',
-+ 'RECORD',
-+ 'WHEEL',
-+ 'namespace_packages.txt',
-+ 'top_level.txt',
-+ ]},
-+ {'foo': [
-+ '__init__.py',
-+ {'bar': ['__init__.py']},
-+ ]},
-+ ]
-+ }),
- ),
-
- dict(
-@@ -448,20 +462,22 @@ def __repr__(self):
- packages=['foo'],
- data_files=[('foo/data_dir', ['foo/data_dir/data.txt'])],
- ),
-- install_tree=DALS(
-- '''
-- foo-1.0-py{py_version}.egg/
-- |-- EGG-INFO/
-- | |-- PKG-INFO
-- | |-- RECORD
-- | |-- WHEEL
-- | |-- top_level.txt
-- |-- foo/
-- | |-- __init__.py
-- | |-- data_dir/
-- | | |-- data.txt
-- '''
-- ),
-+ install_tree=flatten_tree({
-+ 'foo-1.0-py{py_version}.egg': {
-+ 'EGG-INFO': [
-+ 'PKG-INFO',
-+ 'RECORD',
-+ 'WHEEL',
-+ 'top_level.txt',
-+ ],
-+ 'foo': [
-+ '__init__.py',
-+ {'data_dir': [
-+ 'data.txt',
-+ ]}
-+ ]
-+ }
-+ }),
- ),
-
- )