python3: Add Py3Build/InstallBuildDepends recipe
This adds a recipe, Py3Build/InstallBuildDepends, that installs the requirements listed in HOST_PYTHON3_PACKAGE_BUILD_DEPENDS. This allows other (non-Python) packages to install host Python packages by calling this recipe, without having to know the internals of python3-package.mk. This also updates apparmor to call this recipe. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This commit is contained in:
parent
6000735f34
commit
2f81f907c2
3 changed files with 33 additions and 4 deletions
|
@ -369,3 +369,30 @@ HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm
|
||||||
```
|
```
|
||||||
|
|
||||||
The Python package will be installed in `$(STAGING_DIR_HOSTPKG)/lib/pythonX.Y/site-packages`.
|
The Python package will be installed in `$(STAGING_DIR_HOSTPKG)/lib/pythonX.Y/site-packages`.
|
||||||
|
|
||||||
|
#### Non-Python packages installing host-side Python packages
|
||||||
|
|
||||||
|
Non-Python packages can also install host-side Python packages using the same mechanism:
|
||||||
|
|
||||||
|
* Set `HOST_PYTHON3_PACKAGE_BUILD_DEPENDS` (see above for details).
|
||||||
|
|
||||||
|
* Include `python3-package.mk` (set `PYTHON3_PKG_BUILD:=0` to avoid using the default Python package build recipes).
|
||||||
|
|
||||||
|
* Call `Py3Build/InstallBuildDepends` to initiate the installation.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
```
|
||||||
|
PYTHON3_PKG_BUILD:=0
|
||||||
|
HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
include ../../lang/python/python3-package.mk
|
||||||
|
# If outside of the packages feed:
|
||||||
|
# include $(TOPDIR)/feeds/packages/lang/python/python3-package.mk
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
$(call Py3Build/InstallBuildDepends)
|
||||||
|
$(call Build/Compile/Default)
|
||||||
|
endef
|
||||||
|
```
|
||||||
|
|
|
@ -215,10 +215,14 @@ define Py3Build/CheckHostPipVersionMatch
|
||||||
endef
|
endef
|
||||||
endif
|
endif
|
||||||
|
|
||||||
define Py3Build/Compile/Default
|
define Py3Build/InstallBuildDepends
|
||||||
$(if $(PYTHON3_PKG_HOST_PIP_INSTALL_ARGS), \
|
$(if $(PYTHON3_PKG_HOST_PIP_INSTALL_ARGS), \
|
||||||
$(call HostPython3/PipInstall,$(PYTHON3_PKG_HOST_PIP_INSTALL_ARGS)) \
|
$(call HostPython3/PipInstall,$(PYTHON3_PKG_HOST_PIP_INSTALL_ARGS)) \
|
||||||
)
|
)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Py3Build/Compile/Default
|
||||||
|
$(call Py3Build/InstallBuildDepends)
|
||||||
$(call Python3/ModSetup, \
|
$(call Python3/ModSetup, \
|
||||||
$(PYTHON3_PKG_SETUP_DIR), \
|
$(PYTHON3_PKG_SETUP_DIR), \
|
||||||
$(PYTHON3_PKG_SETUP_GLOBAL_ARGS) \
|
$(PYTHON3_PKG_SETUP_GLOBAL_ARGS) \
|
||||||
|
|
|
@ -132,9 +132,7 @@ endef
|
||||||
|
|
||||||
define Build/Install
|
define Build/Install
|
||||||
# Make sure we have python's setup tools installed
|
# Make sure we have python's setup tools installed
|
||||||
$(if $(PYTHON3_PKG_HOST_PIP_INSTALL_ARGS), \
|
$(call Py3Build/InstallBuildDepends)
|
||||||
$(call HostPython3/PipInstall,$(PYTHON3_PKG_HOST_PIP_INSTALL_ARGS)) \
|
|
||||||
)
|
|
||||||
$(INSTALL_DIR) $(PKG_INSTALL_DIR)-libapparmor $(PKG_INSTALL_DIR)-utils $(PKG_INSTALL_DIR)-profiles
|
$(INSTALL_DIR) $(PKG_INSTALL_DIR)-libapparmor $(PKG_INSTALL_DIR)-utils $(PKG_INSTALL_DIR)-profiles
|
||||||
# Installing libapparmor
|
# Installing libapparmor
|
||||||
+$(MAKE_VARS) PYTHON=$(HOST_PYTHON) VERSION=$(PYTHON3_VERSION) \
|
+$(MAKE_VARS) PYTHON=$(HOST_PYTHON) VERSION=$(PYTHON3_VERSION) \
|
||||||
|
|
Loading…
Reference in a new issue