summaryrefslogtreecommitdiff
path: root/lang/python/python3/Makefile
diff options
context:
space:
mode:
authorAlexandru Ardelean <ardeleanalex@gmail.com>2021-10-27 12:10:02 +0300
committerAlexandru Ardelean <ardeleanalex@gmail.com>2021-11-19 13:30:14 +0200
commit4e05541782edeb06b51d691dadf52648df24c940 (patch)
tree4ddf18426d8772f09c6ec6e940be79ba2d669e6a /lang/python/python3/Makefile
parentb3237baf63b2b38c257ba9f6488d54fc89d5ed69 (diff)
python3: bump to version 3.10.0
Manually re-applied: 008-distutils-use-python-sysroot.patch 016-adjust-config-paths.patch Drop patch: 003-do-not-run-distutils-tests.patch There is now a configure option '--disable-test-modules' And seems we left the '_ctypes_test' around for quite some time. Dropped now. Refs: https://bugs.python.org/issue27640 https://bugs.python.org/issue43282 Drop patch: 013-getbuildinfo-date-time-source-date-epoch.patch Python build honors SOURCE_DATE_EPOCH pretty well now. Drop setuptools patches. Setuptools should be reproducible with Python 3.6+ according to a mention here: https://github.com/pypa/setuptools/pull/1690#issuecomment-536517456 It's time to let upstream fix Setuptools reproduce-ability. Drop patch: 010-do-not-add-rt-lib-dirs-when-cross-compiling.patch I can't seem to fully remember why it's there. And it seem to build fine without it. Drop patch: 015-abort-on-failed-modules.patch Python build supports a similar PYTHONSTRICTEXTENSIONBUILD=1 env-var option. Add patch: 026-openssl-feature-flags.patch We need to keep this in our tree for a while. See: https://bugs.python.org/issue45627 Backport patch: 027-bpo-43158-Use-configure-values-for-building-_uuid-ex.patch Link: https://github.com/python/cpython/pull/29353 Fixes the build for uuid C module. Add patch: 028-host-python-support-ssl-with-libressl.patch We need the _ssl module working on the host-side with LibreSSL for pip to work to download from https://pypi.org Refs: https://github.com/openwrt/openwrt/pull/4749 Add patch: 029-disable-deprecation-warning.patch Fixes apparmor build. The warning causes a configure error. Refreshed the rest of patches. Some old build-flags were removed. They don't seem to be necessary anymore. Split python3-uuid from python3-light. To better manage the libuuid library (if needed). Also, fixing the uuid C module build. Seems this was failing, and was falling back to using hashlib. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Diffstat (limited to 'lang/python/python3/Makefile')
-rw-r--r--lang/python/python3/Makefile28
1 files changed, 17 insertions, 11 deletions
diff --git a/lang/python/python3/Makefile b/lang/python/python3/Makefile
index 619a08a56..e83f2a573 100644
--- a/lang/python/python3/Makefile
+++ b/lang/python/python3/Makefile
@@ -11,13 +11,13 @@ include $(TOPDIR)/rules.mk
include ../python3-version.mk
PKG_NAME:=python3
-PKG_RELEASE:=2
+PKG_RELEASE:=1
PKG_VERSION:=$(PYTHON3_VERSION).$(PYTHON3_VERSION_MICRO)
PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://www.python.org/ftp/python/$(PKG_VERSION)
# FIXME: if updating, get rid of [1] & [2] asap
-PKG_HASH:=f8145616e68c00041d1a6399b76387390388f8359581abc24432bb969b5e3c57
+PKG_HASH:=5a99f8e7a6a11a7b98b4e75e0d1303d3832cada5534068f69c7b6222a7b1b002
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>, Jeffery To <jeffery.to@gmail.com>
PKG_LICENSE:=Python/2.0
@@ -91,7 +91,7 @@ endef
define Package/python3-light
$(call Package/python3/Default)
TITLE:=Python $(PYTHON3_VERSION) light installation
- DEPENDS:=+python3-base +libffi +libbz2 +libuuid
+ DEPENDS:=+python3-base +libffi +libbz2
endef
define Package/python3-light/config
@@ -136,18 +136,13 @@ define Package/python3/description
It's python3-light + all other packages.
endef
-TARGET_CONFIGURE_OPTS+= \
- READELF="$(TARGET_CROSS)readelf"
-
-MAKE_FLAGS+=\
- LD="$(TARGET_CC)"
-
-EXTRA_CFLAGS+= \
- -DNDEBUG -fno-inline
EXTRA_LDFLAGS+= \
-L$(PKG_BUILD_DIR) \
-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib
+MAKE_VARS += \
+ PYTHONSTRICTEXTENSIONBUILD=1
+
CONFIGURE_ARGS+= \
--enable-optimizations \
--enable-shared \
@@ -155,6 +150,7 @@ CONFIGURE_ARGS+= \
--without-cxx-main \
--without-ensurepip \
--without-pymalloc \
+ --disable-test-modules \
$(if $(CONFIG_IPV6),--enable-ipv6) \
$(if $(findstring mips,$(CONFIG_ARCH)),,--with-lto) \
CONFIG_SITE="$(PKG_BUILD_DIR)/config.site" \
@@ -320,6 +316,10 @@ HOST_LDFLAGS += \
-Wl,--no-as-needed -lrt
endif
+# Would be nice to be able to do this, but hosts are very fiddly
+# HOST_MAKE_VARS += \
+# PYTHONSTRICTEXTENSIONBUILD=1
+
ifeq ($(HOST_OS),Darwin)
HOST_CONFIGURE_VARS += \
ac_cv_header_libintl_h=no
@@ -327,12 +327,18 @@ HOST_MAKE_VARS += \
USE_PYTHON_CONFIG_PY=1
endif
+# FIXME: remove when removing patch '028-host-python-support-ssl-with-libressl.patch'
+HOST_CFLAGS += \
+ -DOPENWRT_HOST_BUILD
+
HOST_CONFIGURE_ARGS+= \
--enable-optimizations \
--with-ensurepip=upgrade \
--with-system-expat=$(STAGING_DIR_HOSTPKG) \
+ --with-ssl-default-suites=openssl \
--without-cxx-main \
--without-pymalloc \
+ --disable-test-modules \
CONFIG_SITE=
define Host/Configure