From 33ea734e2d28d88a3d545500c96b4c72b3e78432 Mon Sep 17 00:00:00 2001
From: Leo <thinkabit.ukim@gmail.com>
Date: Sat, 29 Feb 2020 06:27:12 -0300
Subject: [PATCH] main/py3-setuptools: use system components

---
 main/py3-setuptools/APKBUILD | 23 +++++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)

diff --git a/main/py3-setuptools/APKBUILD b/main/py3-setuptools/APKBUILD
index c9866eb68737..02abb62d3622 100644
--- a/main/py3-setuptools/APKBUILD
+++ b/main/py3-setuptools/APKBUILD
@@ -5,13 +5,13 @@
 pkgname=py3-setuptools
 _pkgname=${pkgname#py3-}
 pkgver=45.2.0
-pkgrel=0
+pkgrel=1
 pkgdesc="Collection of enhancements to the Python3 distutils"
 options="!check" # Tests require packages out of main/
 url="https://pypi.python.org/pypi/setuptools"
 arch="noarch"
 license="MIT"
-depends="python3"
+depends="python3 py3-ordered-set py3-appdirs py3-packaging"
 source="$_pkgname-$pkgver.tar.gz::https://github.com/pypa/$_pkgname/archive/v$pkgver.tar.gz"
 builddir="$srcdir"/$_pkgname-$pkgver
 
@@ -23,6 +23,25 @@ export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0
 prepare() {
 	default_prepare
 
+	# Unbundle
+	rm -rf pkg_resources/extern pkg_resources/_vendor \
+		setuptools/extern setuptools/_vendor
+
+	# Upstream devendoring logic is badly broken, see:
+	# https://bugs.archlinux.org/task/58670
+	# https://github.com/pypa/pip/issues/5429
+	# https://github.com/pypa/setuptools/issues/1383
+	# The simplest fix is to simply rewrite import paths to use the canonical
+	# location in the first place
+	for _module in setuptools pkg_resources '' ; do
+		find . -name \*.py -exec sed -i \
+			-e 's/from '$_module.extern' import/import/' \
+			-e 's/from '$_module.extern'./from /' \
+			-e 's/import '$_module.extern'./import /' \
+			-e "s/__import__('$_module.extern./__import__('/" \
+			{} +
+	done
+
 	# Fix post-release tag
 	sed -e '/tag_build = .post/d' \
 		-e '/tag_date = 1/d' \
-- 
GitLab