summaryrefslogtreecommitdiff
path: root/lang/python/python3
diff options
context:
space:
mode:
authorJeffery To <jeffery.to@gmail.com>2023-05-18 13:36:24 +0800
committerJeffery To <jeffery.to@gmail.com>2023-05-26 22:06:08 +0800
commiteee273507b868ad5f6f7e744d513c85330967906 (patch)
treebd942e3df1a9037a0c88655dff34ebfc3354faa8 /lang/python/python3
parentd53475ac21cf79bef902b61fac69ffe25a3aad2f (diff)
python3: Split pip into separate source package
Packaging pip from a separate source package allows it to stay updated with upstream. Host pip will remain installed as part of python3. Host pip is used in a much more controlled way and so is less critical for it to track upstream. This also removes the python-pip-conf package and installs the pip.conf file as part of python3-pip. The patch 003-disable-pip-version-check.patch is originally from Debian: https://salsa.debian.org/python-team/packages/python-pip/-/blob/bb079efb8c6dd2c284eee94cf90e61bce19a6f73/debian/patches/disable-pip-version-check.patch pip was in a separate source package that was removed in a53d0c5a403d1669e2cf6c59c2be6a9d3ed633a0; this work is not based on that earlier package. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Diffstat (limited to 'lang/python/python3')
-rw-r--r--lang/python/python3/Makefile24
-rw-r--r--lang/python/python3/files/python3-package-pip.mk34
-rw-r--r--lang/python/python3/patches-host-pip/.gitkeep0
-rw-r--r--lang/python/python3/patches-pip/001-pep517-pyc-fix.patch29
4 files changed, 3 insertions, 84 deletions
diff --git a/lang/python/python3/Makefile b/lang/python/python3/Makefile
index 8d81bc3f8..b478f5b6c 100644
--- a/lang/python/python3/Makefile
+++ b/lang/python/python3/Makefile
@@ -43,7 +43,7 @@ HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/Python-$(PKG_VERSION)
PKG_CONFIG_DEPENDS:= \
CONFIG_PACKAGE_python3-pkg-resources \
- CONFIG_PACKAGE_python3-setuptools CONFIG_PACKAGE_python3-pip
+ CONFIG_PACKAGE_python3-setuptools
PKG_BUILD_DEPENDS:=bluez python3/host python-build/host python-installer/host python-wheel/host
HOST_BUILD_DEPENDS:=bzip2/host libffi/host
@@ -213,29 +213,10 @@ define Build/Compile/python3-setuptools
endef
endif # CONFIG_PACKAGE_python3-setuptools
-ifdef CONFIG_PACKAGE_python3-pip
-define Build/Compile/python3-pip
- $(HOST_PYTHON3_PIP_VARS) \
- $(HOST_PYTHON3_PIP) \
- install \
- --ignore-installed \
- --progress-bar off \
- --root=$(PKG_BUILD_DIR)/install-pip \
- --prefix=/usr \
- $(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/pip-$(PYTHON3_PIP_VERSION)-py3-none-any.whl
- $(call PatchDir,$(PKG_BUILD_DIR)/install-pip/usr/lib/python$(PYTHON3_VERSION)/site-packages,./patches-pip,)
-endef
-else
-define Build/Compile/python3-pip
- ls $(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/pip-$(PYTHON3_PIP_VERSION)-py3-none-any.whl
-endef
-endif # CONFIG_PACKAGE_python3-pip
-
define Build/Compile
$(call Build/Compile/Default)
# Use host pip to install python-setuptools
$(call Build/Compile/python3-setuptools)
- $(call Build/Compile/python3-pip)
endef
define Build/InstallDev
@@ -366,6 +347,7 @@ HOST_CONFIGURE_ARGS += \
define Host/Configure
$(SED) 's/^ENABLE_USER_SITE = None$$$$/ENABLE_USER_SITE = False/' $(HOST_BUILD_DIR)/Lib/site.py
$(call Host/Configure/Default)
+ ls $(HOST_BUILD_DIR)/Lib/ensurepip/_bundled/pip-$(PYTHON3_PIP_VERSION)-py3-none-any.whl
endef
define Host/Install
@@ -390,7 +372,7 @@ define Host/Install
touch $(HOST_PYTHON3_PKG_DIR)/.setuptools_installed_$(PYTHON3_SETUPTOOLS_VERSION)-$(PYTHON3_SETUPTOOLS_PKG_RELEASE)
)
$(if $(wildcard $(HOST_PYTHON3_PKG_DIR)/.pip_installed_$(PYTHON3_PIP_VERSION)-$(PYTHON3_PIP_PKG_RELEASE)),,
- $(call HostPatchDir,$(HOST_PYTHON3_PKG_DIR),./patches-pip,)
+ $(call HostPatchDir,$(HOST_PYTHON3_PKG_DIR),./patches-host-pip,)
touch $(HOST_PYTHON3_PKG_DIR)/.pip_installed_$(PYTHON3_PIP_VERSION)-$(PYTHON3_PIP_PKG_RELEASE)
)
endef
diff --git a/lang/python/python3/files/python3-package-pip.mk b/lang/python/python3/files/python3-package-pip.mk
deleted file mode 100644
index 8b547cee8..000000000
--- a/lang/python/python3/files/python3-package-pip.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-# Copyright (C) 2017 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Package/python3-pip
-$(call Package/python3/Default)
- TITLE:=Python $(PYTHON3_VERSION) pip module
- VERSION:=$(PYTHON3_PIP_VERSION)-$(PYTHON3_PIP_PKG_RELEASE)
- LICENSE:=MIT
- LICENSE_FILES:=LICENSE.txt
-# CPE_ID:=cpe:/a:python:pip # not currently handled this way by uscan
- DEPENDS:=+python3 +python3-setuptools +python-pip-conf
-endef
-
-define Py3Package/python3-pip/install
- $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages
- $(CP) $(PKG_BUILD_DIR)/install-pip/usr/bin/pip$(PYTHON3_VERSION) $(1)/usr/bin
- $(LN) pip$(PYTHON3_VERSION) $(1)/usr/bin/pip3
- $(LN) pip$(PYTHON3_VERSION) $(1)/usr/bin/pip
- $(CP) \
- $(PKG_BUILD_DIR)/install-pip/usr/lib/python$(PYTHON3_VERSION)/site-packages/pip \
- $(PKG_BUILD_DIR)/install-pip/usr/lib/python$(PYTHON3_VERSION)/site-packages/pip-$(PYTHON3_PIP_VERSION).dist-info \
- $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/
- find $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/ -path '*/__pycache__/*' -delete
- find $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/ -type d -name __pycache__ -delete
-endef
-
-$(eval $(call Py3BasePackage,python3-pip, \
- , \
- DO_NOT_ADD_TO_PACKAGE_DEPENDS \
-))
diff --git a/lang/python/python3/patches-host-pip/.gitkeep b/lang/python/python3/patches-host-pip/.gitkeep
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/lang/python/python3/patches-host-pip/.gitkeep
diff --git a/lang/python/python3/patches-pip/001-pep517-pyc-fix.patch b/lang/python/python3/patches-pip/001-pep517-pyc-fix.patch
deleted file mode 100644
index df5f90cce..000000000
--- a/lang/python/python3/patches-pip/001-pep517-pyc-fix.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff --git a/pip/_vendor/pep517/in_process/__init__.py b/pip/_vendor/pep517/in_process/__init__.py
-index 281a356cfe26..77acbfc2670b 100644
---- a/pip/_vendor/pep517/in_process/__init__.py
-+++ b/pip/_vendor/pep517/in_process/__init__.py
-@@ -14,13 +14,21 @@ try:
- except AttributeError:
- # Python 3.8 compatibility
- def _in_proc_script_path():
-- return resources.path(__package__, '_in_process.py')
-+ if resources.is_resource(__package__, '_in_process.py'):
-+ return resources.path(__package__, '_in_process.py')
-+ return resources.path(__package__, '_in_process.pyc')
- else:
- def _in_proc_script_path():
-+ if resources.files(__package__).joinpath('_in_process.py').is_file():
-+ return resources.as_file(
-+ resources.files(__package__).joinpath('_in_process.py'))
- return resources.as_file(
-- resources.files(__package__).joinpath('_in_process.py'))
-+ resources.files(__package__).joinpath('_in_process.pyc'))
- except ImportError:
- # Python 3.6 compatibility
- @contextmanager
- def _in_proc_script_path():
-- yield pjoin(dirname(abspath(__file__)), '_in_process.py')
-+ _in_proc_script = pjoin(dirname(abspath(__file__)), '_in_process.py')
-+ if not os.path.isfile(_in_proc_script):
-+ _in_proc_script = pjoin(dirname(abspath(__file__)), '_in_process.pyc')
-+ yield _in_proc_script