|
| 1 | +TERMUX_PKG_HOMEPAGE=https://aws.amazon.com/cli |
| 2 | +TERMUX_PKG_DESCRIPTION="Universal Command Line Interface for Amazon Web Services" |
| 3 | +TERMUX_PKG_LICENSE="Apache-2.0" |
| 4 | +TERMUX_PKG_MAINTAINER="@termux" |
| 5 | +TERMUX_PKG_VERSION="2.32.28" |
| 6 | +TERMUX_PKG_SRCURL="https://github.com/aws/aws-cli/archive/refs/tags/$TERMUX_PKG_VERSION.tar.gz" |
| 7 | +TERMUX_PKG_SHA256=85ecd5baf4d5cdf4d9e436dd76e023d0126cdcd0e5cbf97a5cd15b33f8829b05 |
| 8 | +TERMUX_PKG_UPDATE_VERSION_REGEXP="\d+.\d+.\d+" |
| 9 | +TERMUX_PKG_AUTO_UPDATE=true |
| 10 | +TERMUX_PKG_DEPENDS="libffi, libsqlite, groff" |
| 11 | +TERMUX_PKG_BUILD_DEPENDS="aosp-libs, python-pip, cmake, ldd" |
| 12 | +TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" |
| 13 | +--with-install-type=portable-exe |
| 14 | +--with-download-deps |
| 15 | +PYTHON=$TERMUX_PREFIX/bin/python |
| 16 | +" |
| 17 | + |
| 18 | +termux_step_pre_configure() { |
| 19 | + export LDFLAGS+=" -lm" |
| 20 | + export PIP_NO_BINARY=awscrt |
| 21 | + export AWS_CRT_BUILD_FORCE_STATIC_LIBS=1 |
| 22 | + |
| 23 | + if [[ "$TERMUX_ON_DEVICE_BUILD" == "true" ]]; then |
| 24 | + return |
| 25 | + fi |
| 26 | + |
| 27 | + local PROOT_CC="$TERMUX_STANDALONE_TOOLCHAIN/bin/$CC" |
| 28 | + local PROOT_CXX="$TERMUX_STANDALONE_TOOLCHAIN/bin/$CXX" |
| 29 | + |
| 30 | + local NDK_SYSROOT="$TERMUX_STANDALONE_TOOLCHAIN/sysroot" |
| 31 | + local SYSROOT_FLAG="--sysroot=$NDK_SYSROOT" |
| 32 | + |
| 33 | + local PYTHON_INCLUDE="$TERMUX_PREFIX/include/python$TERMUX_PYTHON_VERSION" |
| 34 | + |
| 35 | + local NDK_LIB="$NDK_SYSROOT/usr/lib/$TERMUX_HOST_PLATFORM/$TERMUX_PKG_API_LEVEL" |
| 36 | + |
| 37 | + local NDK_ARCH=$TERMUX_ARCH |
| 38 | + [[ $NDK_ARCH == 'i686' ]] && NDK_ARCH='i386' |
| 39 | + |
| 40 | + local CLANG_LIB="$TERMUX_STANDALONE_TOOLCHAIN/lib/clang/21/lib/linux/$NDK_ARCH" |
| 41 | + |
| 42 | + TERMUX_PROOT_EXTRA_ENV_VARS="LD_PRELOAD= LD_LIBRARY_PATH= \ |
| 43 | + PIP_NO_BINARY=$PIP_NO_BINARY AWS_CRT_BUILD_FORCE_STATIC_LIBS=1 \ |
| 44 | + PIP_NO_INDEX=1 CC=$PROOT_CC CXX=$PROOT_CXX AR=$AR RANLIB=$RANLIB \ |
| 45 | + CMAKE_C_COMPILER=$PROOT_CC CMAKE_CXX_COMPILER=$PROOT_CXX \ |
| 46 | + CMAKE_ASM_COMPILER=$PROOT_CC CMAKE_SYSTEM_PROCESSOR=$TERMUX_ARCH \ |
| 47 | + CFLAGS='$CFLAGS $SYSROOT_FLAG -I$PYTHON_INCLUDE' CMAKE_SYSROOT=$NDK_SYSROOT \ |
| 48 | + CXXFLAGS='$CXXFLAGS $SYSROOT_FLAG' CPPFLAGS='$CPPFLAGS -I$PYTHON_INCLUDE' \ |
| 49 | + LDFLAGS='$LDFLAGS $SYSROOT_FLAG -L$NDK_LIB -L$CLANG_LIB -L$TERMUX_PREFIX/lib'" |
| 50 | +} |
| 51 | + |
| 52 | +termux_step_configure() { |
| 53 | + if [[ "$TERMUX_ON_DEVICE_BUILD" == "true" ]]; then |
| 54 | + termux_step_configure_autotools |
| 55 | + return |
| 56 | + fi |
| 57 | + |
| 58 | + termux_setup_proot |
| 59 | + |
| 60 | + termux-proot-run "$TERMUX_PKG_SRCDIR/configure" \ |
| 61 | + --prefix="$TERMUX_PREFIX" \ |
| 62 | + $TERMUX_PKG_EXTRA_CONFIGURE_ARGS |
| 63 | +} |
| 64 | + |
| 65 | +termux_step_make() { |
| 66 | + if [[ "$TERMUX_ON_DEVICE_BUILD" == "true" ]]; then |
| 67 | + make |
| 68 | + return |
| 69 | + fi |
| 70 | + |
| 71 | + local WHEELHOUSE="$TERMUX_PKG_BUILDDIR/wheelhouse" |
| 72 | + mkdir -p "$WHEELHOUSE" |
| 73 | + |
| 74 | + python3 -m pip download \ |
| 75 | + --dest "$WHEELHOUSE" \ |
| 76 | + --platform "linux_$TERMUX_ARCH" \ |
| 77 | + --python-version "$TERMUX_PYTHON_VERSION" \ |
| 78 | + --implementation cp \ |
| 79 | + --abi cp"${TERMUX_PYTHON_VERSION//.}" \ |
| 80 | + --abi abi3 \ |
| 81 | + --abi none \ |
| 82 | + --no-deps \ |
| 83 | + -r "$TERMUX_PKG_SRCDIR/requirements/download-deps/bootstrap-lock.txt" \ |
| 84 | + -r "$TERMUX_PKG_SRCDIR/requirements/download-deps/portable-exe-lock.txt" |
| 85 | + |
| 86 | + termux-proot-run \ |
| 87 | + -b "$TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/include/android:$TERMUX__PREFIX__INCLUDE_DIR/android" \ |
| 88 | + env PIP_FIND_LINKS="file://$WHEELHOUSE" \ |
| 89 | + make |
| 90 | +} |
| 91 | + |
| 92 | +termux_step_make_install() { |
| 93 | + if [[ "$TERMUX_ON_DEVICE_BUILD" == "true" ]]; then |
| 94 | + make install |
| 95 | + return |
| 96 | + fi |
| 97 | + |
| 98 | + termux-proot-run make install |
| 99 | +} |
0 commit comments