diff options
| author | Alexandru Ardelean <ardeleanalex@gmail.com> | 2017-01-19 18:25:19 +0200 |
|---|---|---|
| committer | Alexandru Ardelean <ardeleanalex@gmail.com> | 2017-01-23 10:20:20 +0200 |
| commit | a53d0c5a403d1669e2cf6c59c2be6a9d3ed633a0 (patch) | |
| tree | b182371d762418bcb1f8c0bdb62573ce20100055 /lang/python3 | |
| parent | 80349f9e73f7c11785fa5e5d9ebd0185066c644b (diff) | |
pip,setuptools: move as part of python,python3 build
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Diffstat (limited to 'lang/python3')
| -rw-r--r-- | lang/python3/Makefile | 33 | ||||
| -rw-r--r-- | lang/python3/files/python3-package-pip.mk | 27 | ||||
| -rw-r--r-- | lang/python3/files/python3-package-setuptools.mk | 30 |
3 files changed, 87 insertions, 3 deletions
diff --git a/lang/python3/Makefile b/lang/python3/Makefile index 2899b86c1..67a594de6 100644 --- a/lang/python3/Makefile +++ b/lang/python3/Makefile @@ -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/ diff --git a/lang/python3/files/python3-package-pip.mk b/lang/python3/files/python3-package-pip.mk new file mode 100644 index 000000000..e346e22c5 --- /dev/null +++ b/lang/python3/files/python3-package-pip.mk @@ -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 \ +)) diff --git a/lang/python3/files/python3-package-setuptools.mk b/lang/python3/files/python3-package-setuptools.mk new file mode 100644 index 000000000..063acb80e --- /dev/null +++ b/lang/python3/files/python3-package-setuptools.mk @@ -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 \ +)) |
