summaryrefslogtreecommitdiff
path: root/lang/python3
diff options
context:
space:
mode:
authorAlexandru Ardelean <ardeleanalex@gmail.com>2017-01-19 18:25:19 +0200
committerAlexandru Ardelean <ardeleanalex@gmail.com>2017-01-23 10:20:20 +0200
commita53d0c5a403d1669e2cf6c59c2be6a9d3ed633a0 (patch)
treeb182371d762418bcb1f8c0bdb62573ce20100055 /lang/python3
parent80349f9e73f7c11785fa5e5d9ebd0185066c644b (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/Makefile33
-rw-r--r--lang/python3/files/python3-package-pip.mk27
-rw-r--r--lang/python3/files/python3-package-setuptools.mk30
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 \
+))