From ce6e8f1ec8f1a1eb4d956d2410a49b9ff053e9c5 Mon Sep 17 00:00:00 2001 From: Yves Martin Date: Sun, 27 May 2018 23:52:24 +0200 Subject: [PATCH] Python: fix cryptography wheel for ARM Add WHEELS_CFLAGS and WHEELS_LDFLAGS to pass additional cross-compilation options to "pip wheel" Resolves #3246 #3201 --- mk/spksrc.wheel.mk | 4 ++-- spk/python/Makefile | 9 ++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/mk/spksrc.wheel.mk b/mk/spksrc.wheel.mk index bb7c9d7a751..1b23b13e33f 100644 --- a/mk/spksrc.wheel.mk +++ b/mk/spksrc.wheel.mk @@ -55,14 +55,14 @@ build_wheel_target: $(PRE_WHEEL_TARGET) $(foreach e,$(shell cat $(WORK_DIR)/python-cc.mk),$(eval $(e))) \ if [ ! -z "$(CROSS_COMPILE_WHEELS)" ] ; then \ $(MSG) "Force cross-compile" ; \ - $(RUN) CFLAGS="$(CFLAGS) -I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR)" $(PIP_WHEEL) ; \ + $(RUN) CFLAGS="$(CFLAGS) -I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR) $(WHEELS_CFLAGS)" LDFLAGS="$(LDFLAGS) $(WHEELS_LDFLAGS)" $(PIP_WHEEL) ; \ else \ $(MSG) "Force pure-python" ; \ export LD= LDSHARED= CPP= NM= CC= AS= RANLIB= CXX= AR= STRIP= OBJDUMP= READELF= CFLAGS= CPPFLAGS= CXXFLAGS= LDFLAGS= && \ $(RUN) $(PIP_WHEEL) ; \ fi ; \ fi - + post_wheel_target: $(WHEEL_TARGET) @if [ -d "$(WORK_DIR)/wheelhouse" ] ; then \ diff --git a/spk/python/Makefile b/spk/python/Makefile index 9ea5d602a67..3cdc14007c0 100644 --- a/spk/python/Makefile +++ b/spk/python/Makefile @@ -1,7 +1,7 @@ SPK_NAME = python SPK_SHORT_VERS = 2.7 SPK_VERS = $(SPK_SHORT_VERS).14 -SPK_REV = 18 +SPK_REV = 19 SPK_ICON = src/python.png DEPENDS = cross/busybox cross/$(SPK_NAME) @@ -16,6 +16,7 @@ DEPENDS += cross/pyyaml cross/pyzmq cross/uwsgi WHEELS = src/requirements.txt + MAINTAINER = Safihre DESCRIPTION = Python 2.7 Programming Language. DESCRIPTION_FRE = Langage de programmation Python 2.7. @@ -41,6 +42,12 @@ ENV += BUSYBOX_CONFIG="$(BUSYBOX_CONFIG)" include ../../mk/spksrc.spk.mk +# Wheel "cryptography" lacks libpthread when cross-compile for ARM +ifeq ($(findstring $(ARCH),$(ARM_ARCHES)),$(ARCH)) +WHEELS_CFLAGS = "-pthread" +WHEELS_LDFLAGS = "-lpthread" +endif + .PHONY: python_extra_install python_extra_install: rm -f $(STAGING_DIR)/$(PYTHON_LIB_DIR)/config/libpython*.a