TERMUX_PKG_HOMEPAGE=https://github.com/lu-zero/cargo-c TERMUX_PKG_DESCRIPTION="Cargo C-ABI helpers" TERMUX_PKG_LICENSE="MIT" TERMUX_PKG_MAINTAINER="@termux" TERMUX_PKG_VERSION="0.10.13" TERMUX_PKG_SRCURL=https://github.com/lu-zero/cargo-c/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_SHA256=57dffba592179c7ca2b0322d28265b6962750eebb3a23b28ad677371cc10c36e TERMUX_PKG_AUTO_UPDATE=true TERMUX_PKG_UPDATE_VERSION_REGEXP='^\d+\.\d+(\.\d+)?$' TERMUX_PKG_DEPENDS="libcurl, libgit2, libssh2, openssl, zlib" TERMUX_PKG_BUILD_IN_SRC=true termux_pkg_auto_update() { local latest_tag="$(termux_github_api_get_tag "${TERMUX_PKG_SRCURL}" "${TERMUX_PKG_UPDATE_TAG_TYPE}")" if grep -qP "${TERMUX_PKG_UPDATE_VERSION_REGEXP}" <<<"${latest_tag}"; then termux_pkg_upgrade_version "${latest_tag}" else echo "INFO: No update needed, tag '${latest_tag}' is not a stable release." fi } termux_step_pre_configure() { export LIBGIT2_SYS_USE_PKG_CONFIG=1 export LIBSSH2_SYS_USE_PKG_CONFIG=1 termux_setup_rust : "${CARGO_HOME:=$HOME/.cargo}" export CARGO_HOME cargo fetch --target "${CARGO_TARGET_NAME}" local f for f in $CARGO_HOME/registry/src/*/libgit2-sys-*/build.rs; do sed -i -E 's/\.range_version\(([^)]*)\.\.[^)]*\)/.atleast_version(\1)/g' "${f}" done local _CARGO_TARGET_LIBDIR="target/${CARGO_TARGET_NAME}/release/deps" mkdir -p $_CARGO_TARGET_LIBDIR mv $TERMUX_PREFIX/lib/libz.so.1{,.tmp} mv $TERMUX_PREFIX/lib/libz.so{,.tmp} ln -sfT $(readlink -f $TERMUX_PREFIX/lib/libz.so.1.tmp) \ $_CARGO_TARGET_LIBDIR/libz.so.1 ln -sfT $(readlink -f $TERMUX_PREFIX/lib/libz.so.tmp) \ $_CARGO_TARGET_LIBDIR/libz.so if [[ "${TERMUX_ARCH}" == "x86_64" ]]; then local env_host=$(printf $CARGO_TARGET_NAME | tr a-z A-Z | sed s/-/_/g) export CARGO_TARGET_${env_host}_RUSTFLAGS+=" -C link-arg=$($CC -print-libgcc-file-name)" fi # clash with rust host build unset CFLAGS } termux_step_post_make_install() { mv $TERMUX_PREFIX/lib/libz.so.1{.tmp,} mv $TERMUX_PREFIX/lib/libz.so{.tmp,} } termux_step_post_massage() { rm -f lib/libz.so.1 rm -f lib/libz.so }