From ae80ddc7ab1486a2e4788a8bd4b9c1643ce29c29 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Wed, 29 May 2019 21:45:16 +0800 Subject: [PATCH] python,python3: Update host pip[3] install functions * Add --cache-dir option to set the pip cache to a directory in $(DL_DIR), instead of pip's default (build user's ~/.cache/pip), fixes #9066 * Add --disable-pip-version-check option, since the version check only prints a message saying a new version is available * Combine host_python_pip_install and host_python_pip_install_host into Build/Compile/HostPy[3]PipInstall * Remove --root and --prefix options, since this function is only used to install packages to host Python's default site-packages directory (setting these may serve to confuse pip) * Pass all of $(HOST_PYTHON[3]_PACKAGE_BUILD_DEPENDS) to the function, since pip can handle multiple arguments/packages Signed-off-by: Jeffery To --- lang/python/python-host.mk | 17 ++++++++--------- lang/python/python-package.mk | 4 ++-- lang/python/python3-host.mk | 17 ++++++++--------- lang/python/python3-package.mk | 4 ++-- 4 files changed, 20 insertions(+), 22 deletions(-) diff --git a/lang/python/python-host.mk b/lang/python/python-host.mk index eb58c557e..44ecbbf8d 100644 --- a/lang/python/python-host.mk +++ b/lang/python/python-host.mk @@ -71,16 +71,15 @@ endef # Note: I shamelessly copied this from Yousong's logic (from python-packages); HOST_PYTHON_PIP:=$(STAGING_DIR_HOSTPKG)/bin/pip$(PYTHON_VERSION) -define host_python_pip_install - $(call host_python_settings) \ - $(HOST_PYTHON_PIP) install \ - --root=$(1) \ - --prefix=$(2) \ - $(3) -endef -define host_python_pip_install_host -$(call host_python_pip_install,$(STAGING_DIR_HOSTPKG),"",$(1)) +# $(1) => packages to install +define Build/Compile/HostPyPipInstall + $(call host_python_settings) \ + $(HOST_PYTHON_PIP) \ + --disable-pip-version-check \ + --cache-dir "$(DL_DIR)/pip-cache" \ + install \ + $(1) endef # $(1) => build subdir diff --git a/lang/python/python-package.mk b/lang/python/python-package.mk index c594f614e..dd3fdf75a 100644 --- a/lang/python/python-package.mk +++ b/lang/python/python-package.mk @@ -121,8 +121,8 @@ PYTHON_PKG_SETUP_ARGS ?= --single-version-externally-managed PYTHON_PKG_SETUP_VARS ?= define PyBuild/Compile/Default - $(foreach pkg,$(HOST_PYTHON_PACKAGE_BUILD_DEPENDS), - $(call host_python_pip_install_host,$(pkg)) + $(if $(HOST_PYTHON_PACKAGE_BUILD_DEPENDS), + $(call Build/Compile/HostPyPipInstall,$(HOST_PYTHON_PACKAGE_BUILD_DEPENDS)) ) $(call Build/Compile/PyMod, \ $(PYTHON_PKG_SETUP_DIR), \ diff --git a/lang/python/python3-host.mk b/lang/python/python3-host.mk index 71ae09362..403d0d282 100644 --- a/lang/python/python3-host.mk +++ b/lang/python/python3-host.mk @@ -71,16 +71,15 @@ endef # Note: I shamelessly copied this from Yousong's logic (from python-packages); HOST_PYTHON3_PIP:=$(STAGING_DIR_HOSTPKG)/bin/pip$(PYTHON3_VERSION) -define host_python3_pip_install - $(call host_python3_settings) \ - $(HOST_PYTHON3_PIP) install \ - --root=$(1) \ - --prefix=$(2) \ - $(3) -endef -define host_python3_pip_install_host -$(call host_python3_pip_install,$(STAGING_DIR_HOSTPKG),"",$(1)) +# $(1) => packages to install +define Build/Compile/HostPy3PipInstall + $(call host_python3_settings) \ + $(HOST_PYTHON3_PIP) \ + --disable-pip-version-check \ + --cache-dir "$(DL_DIR)/pip-cache" \ + install \ + $(1) endef # $(1) => build subdir diff --git a/lang/python/python3-package.mk b/lang/python/python3-package.mk index 4a3dddd64..3bea6ede5 100644 --- a/lang/python/python3-package.mk +++ b/lang/python/python3-package.mk @@ -120,8 +120,8 @@ PYTHON3_PKG_SETUP_ARGS ?= --single-version-externally-managed PYTHON3_PKG_SETUP_VARS ?= define Py3Build/Compile/Default - $(foreach pkg,$(HOST_PYTHON3_PACKAGE_BUILD_DEPENDS), - $(call host_python3_pip_install_host,$(pkg)) + $(if $(HOST_PYTHON3_PACKAGE_BUILD_DEPENDS), + $(call Build/Compile/HostPy3PipInstall,$(HOST_PYTHON3_PACKAGE_BUILD_DEPENDS)) ) $(call Build/Compile/Py3Mod, \ $(PYTHON3_PKG_SETUP_DIR), \