TERMUX_PKG_HOMEPAGE=https://boost.org TERMUX_PKG_DESCRIPTION="Free peer-reviewed portable C++ source libraries" TERMUX_PKG_LICENSE="BSL-1.0" TERMUX_PKG_MAINTAINER="@termux" TERMUX_PKG_VERSION=1.74.0 TERMUX_PKG_REVISION=2 TERMUX_PKG_SRCURL=https://dl.bintray.com/boostorg/release/$TERMUX_PKG_VERSION/source/boost_${TERMUX_PKG_VERSION//./_}.tar.bz2 TERMUX_PKG_SHA256=83bfc1507731a0906e387fc28b7ef5417d591429e51e788417fe9ff025e116b1 TERMUX_PKG_DEPENDS="libc++, libbz2, libiconv, liblzma, zlib" TERMUX_PKG_BUILD_DEPENDS="python" TERMUX_PKG_BREAKS="libboost-python (<= 1.65.1-2), boost-dev" TERMUX_PKG_REPLACES="libboost-python (<= 1.65.1-2), boost-dev" TERMUX_PKG_BUILD_IN_SRC=true termux_step_pre_configure() { # Certain packages are not safe to build on device because their # build.sh script deletes specific files in $TERMUX_PREFIX. if $TERMUX_ON_DEVICE_BUILD; then termux_error_exit "Package '$TERMUX_PKG_NAME' is not safe for on-device builds." fi } termux_step_make_install() { CXXFLAGS+=" -std=c++14" rm $TERMUX_PREFIX/lib/libboost* -f rm $TERMUX_PREFIX/include/boost -rf CC= CXX= LDFLAGS= CXXFLAGS= ./bootstrap.sh echo "using clang : $TERMUX_ARCH : $CXX : -L$TERMUX_PREFIX/lib ; " >> project-config.jam echo "using python : 3.9 : $TERMUX_PREFIX/bin/python3 : $TERMUX_PREFIX/include/python3.9 : $TERMUX_PREFIX/lib ;" >> project-config.jam if [ "$TERMUX_ARCH" = arm ] || [ "$TERMUX_ARCH" = aarch64 ]; then BOOSTARCH=arm BOOSTABI=aapcs elif [ "$TERMUX_ARCH" = i686 ] || [ "$TERMUX_ARCH" = x86_64 ]; then BOOSTARCH=x86 BOOSTABI=sysv fi if [ "$TERMUX_ARCH" = x86_64 ] || [ "$TERMUX_ARCH" = aarch64 ]; then BOOSTAM=64 elif [ "$TERMUX_ARCH" = i686 ] || [ "$TERMUX_ARCH" = arm ]; then BOOSTAM=32 fi ./b2 target-os=android -j${TERMUX_MAKE_PROCESSES} \ include=$TERMUX_PREFIX/include \ toolset=clang-$TERMUX_ARCH \ --prefix="$TERMUX_PREFIX" \ -q \ --without-stacktrace \ --disable-icu \ -sNO_ZSTD=1 \ cxxflags="$CXXFLAGS" \ linkflags="$LDFLAGS" \ architecture="$BOOSTARCH" \ abi="$BOOSTABI" \ address-model="$BOOSTAM" \ boost.locale.icu=off \ binary-format=elf \ threading=multi \ install }