From b2a8800c2c12f251d2b3e27a205b3a64cabbade0 Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Fri, 16 Sep 2016 07:29:54 -0400 Subject: [PATCH 1/1] python&python2: Fix PATH handling After changes to build-package.sh the PATH setup in python&python2 caused the toolchain strip not to be found, causing broken binaries due to non-stripped elf symbol versioning. Fixes #460. --- packages/python/build.sh | 14 +++++++------- packages/python2/build.sh | 9 ++++++--- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/packages/python/build.sh b/packages/python/build.sh index e869d113..32338370 100644 --- a/packages/python/build.sh +++ b/packages/python/build.sh @@ -9,7 +9,7 @@ TERMUX_PKG_HOSTBUILD=true _MAJOR_VERSION=3.5 TERMUX_PKG_VERSION=${_MAJOR_VERSION}.2 -TERMUX_PKG_BUILD_REVISION=2 +TERMUX_PKG_BUILD_REVISION=3 TERMUX_PKG_SRCURL=http://www.python.org/ftp/python/${TERMUX_PKG_VERSION}/Python-${TERMUX_PKG_VERSION}.tar.xz # The flag --with(out)-pymalloc (disable/enable specialized mallocs) is enabled by default and causes m suffix versions of python. @@ -29,12 +29,6 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" ac_cv_func_linkat=no" TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" ac_cv_posix_semaphores_enabled=no" TERMUX_PKG_RM_AFTER_INSTALL="lib/python${_MAJOR_VERSION}/test lib/python${_MAJOR_VERSION}/tkinter lib/python${_MAJOR_VERSION}/turtledemo lib/python${_MAJOR_VERSION}/idlelib bin/python${_MAJOR_VERSION}m bin/idle*" -# Python does not use CPPFLAGS when building modules, so add this to CFLAGS as well (needed when building _cursesmodule): -# export CFLAGS="$CFLAGS -isystem $TERMUX_PREFIX/include/libandroid-support" - -# NOTE: termux_step_host_build may not be called if host build is cached. -export TERMUX_ORIG_PATH=$PATH -export PATH=$TERMUX_PKG_HOSTBUILD_DIR:$PATH termux_step_host_build () { # We need a host-built Parser/pgen binary, copied into cross-compile build in termux_step_post_configure() below $TERMUX_PKG_SRCDIR/configure @@ -45,6 +39,12 @@ termux_step_host_build () { ln -s python python$_MAJOR_VERSION } +termux_step_pre_configure() { + # Put the host-built python in path: + export TERMUX_ORIG_PATH=$PATH + export PATH=$TERMUX_PKG_HOSTBUILD_DIR:$PATH +} + termux_step_post_configure () { cp $TERMUX_PKG_HOSTBUILD_DIR/Parser/pgen $TERMUX_PKG_BUILDDIR/Parser/pgen cp $TERMUX_PKG_HOSTBUILD_DIR/Programs/_freeze_importlib $TERMUX_PKG_BUILDDIR/Programs/_freeze_importlib diff --git a/packages/python2/build.sh b/packages/python2/build.sh index 311710cc..ad70374b 100644 --- a/packages/python2/build.sh +++ b/packages/python2/build.sh @@ -28,9 +28,6 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --enable-unicode=ucs4" # Let 2to3 be in the python3 package: TERMUX_PKG_RM_AFTER_INSTALL="bin/2to3" -# NOTE: termux_step_host_build may not be called if host build is cached. -export TERMUX_ORIG_PATH=$PATH -export PATH=$TERMUX_PKG_HOSTBUILD_DIR:$PATH termux_step_host_build () { # We need a host-built Parser/pgen binary, copied into cross-compile build in termux_step_post_configure() below $TERMUX_PKG_SRCDIR/configure @@ -46,6 +43,12 @@ termux_step_post_configure () { $TERMUX_TOUCH -d "next hour" $TERMUX_PKG_BUILDDIR/Parser/pgen } +termux_step_pre_configure() { + # Put the host-built python in path: + export TERMUX_ORIG_PATH=$PATH + export PATH=$TERMUX_PKG_HOSTBUILD_DIR:$PATH +} + termux_step_post_make_install () { # Avoid file clashes with the python (3) package: mv $TERMUX_PREFIX/share/man/man1/{python.1,python2.1} -- 2.11.0