pip,setuptools: move as part of python,python3 build

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
This commit is contained in:
Alexandru Ardelean
2017-01-19 18:25:19 +02:00
parent 80349f9e73
commit a53d0c5a40
16 changed files with 173 additions and 383 deletions
+30 -3
View File
@@ -14,7 +14,7 @@ PYTHON_VERSION:=$(PYTHON3_VERSION)
PYTHON_VERSION_MICRO:=$(PYTHON3_VERSION_MICRO)
PKG_NAME:=python3
PKG_RELEASE:=3
PKG_RELEASE:=4
PKG_VERSION:=$(PYTHON_VERSION).$(PYTHON_VERSION_MICRO)
PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz
@@ -96,7 +96,9 @@ define Py3BasePackage
endif
PYTHON3_LIB_FILES_DEL+=$(2)
define Py3Package/$(1)/filespec
$(subst $(space),$(newline),$(foreach lib_file,$(2),+|$(lib_file)))
ifneq ($(2),)
$(subst $(space),$(newline),$(foreach lib_file,$(2),+|$(lib_file)))
endif
endef
endef
@@ -140,8 +142,8 @@ CONFIGURE_ARGS+= \
--without-cxx-main \
--with-threads \
--with-system-ffi \
--without-pymalloc \
--with-ensurepip=no \
--without-pymalloc \
PYTHON_FOR_BUILD="$(PYTHON_FOR_BUILD)" \
$(ENABLE_IPV6) \
CONFIG_SITE="$(PKG_BUILD_DIR)/config.site" \
@@ -152,6 +154,31 @@ define Build/Prepare
$(CP) ./files/config.site $(PKG_BUILD_DIR)/config.site
endef
ifdef CONFIG_PACKAGE_python3-setuptools
define Build/Compile/python3-setuptools
$(STAGING_DIR_HOSTPKG)/bin/pip3 install \
--ignore-installed \
--root=$(PKG_BUILD_DIR)/install-setuptools --prefix=. \
$(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/setuptools-*.whl
endef
endif # CONFIG_PACKAGE_python3-setuptools
ifdef CONFIG_PACKAGE_python3-pip
define Build/Compile/python3-pip
$(STAGING_DIR_HOSTPKG)/bin/pip3 install \
--ignore-installed \
--root=$(PKG_BUILD_DIR)/install-pip --prefix=. \
$(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/pip-*.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
$(INSTALL_DIR) $(STAGING_DIR)/mk/
$(INSTALL_DIR) $(1)/usr/include/ $(1)/usr/lib/
+27
View File
@@ -0,0 +1,27 @@
#
# 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
DEPENDS:=+python3 +python3-setuptools
endef
define Py3Package/python3-pip/install
$(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages
# Adjust shebang to proper python location on target
sed "1s/.*/#\!\/usr\/bin\/python$(PYTHON3_VERSION)/" -i $(PKG_BUILD_DIR)/install-pip/bin/*
$(CP) $(PKG_BUILD_DIR)/install-pip/bin/pip3* $(1)/usr/bin
$(CP) \
$(PKG_BUILD_DIR)/install-pip/lib/python$(PYTHON3_VERSION)/site-packages/pip \
$(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/
endef
$(eval $(call Py3BasePackage,python3-pip, \
, \
DO_NOT_ADD_TO_PACKAGE_DEPENDS \
))
@@ -0,0 +1,30 @@
#
# 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-setuptools
$(call Package/python3/Default)
TITLE:=Python $(PYTHON3_VERSION) setuptools module
DEPENDS:=+python3
endef
define Py3Package/python3-setuptools/install
$(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages
# Adjust shebang to proper python location on target
sed "1s/.*/#\!\/usr\/bin\/python$(PYTHON3_VERSION)/" -i $(PKG_BUILD_DIR)/install-setuptools/bin/*
$(CP) $(PKG_BUILD_DIR)/install-setuptools/bin/easy_install-* $(1)/usr/bin
$(LN) easy_install-$(PYTHON3_VERSION) $(1)/usr/bin/easy_install-3
$(CP) \
$(PKG_BUILD_DIR)/install-setuptools/lib/python$(PYTHON3_VERSION)/site-packages/pkg_resources \
$(PKG_BUILD_DIR)/install-setuptools/lib/python$(PYTHON3_VERSION)/site-packages/setuptools \
$(PKG_BUILD_DIR)/install-setuptools/lib/python$(PYTHON3_VERSION)/site-packages/easy_install.py \
$(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages
endef
$(eval $(call Py3BasePackage,python3-setuptools, \
, \
DO_NOT_ADD_TO_PACKAGE_DEPENDS \
))