TERMUX_PKG_HOMEPAGE=https://sourceware.org/libffi/ TERMUX_PKG_DESCRIPTION="Library providing a portable, high level programming interface to various calling conventions" TERMUX_PKG_LICENSE="MIT" TERMUX_PKG_MAINTAINER="@termux" TERMUX_PKG_VERSION="3.4.7" TERMUX_PKG_SRCURL=https://github.com/libffi/libffi/releases/download/v${TERMUX_PKG_VERSION}/libffi-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_SHA256=138607dee268bdecf374adf9144c00e839e38541f75f24a1fcf18b78fda48b2d TERMUX_PKG_BREAKS="libffi-dev" TERMUX_PKG_REPLACES="libffi-dev" TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-multi-os-directory" TERMUX_PKG_RM_AFTER_INSTALL="lib/libffi-${TERMUX_PKG_VERSION}/include" termux_step_post_get_source() { # Do not forget to bump revision of reverse dependencies and rebuild them # after SOVERSION is changed. local _SOVERSION=8 local e=$(sed -En 's/^[^0-9#]*([0-9]+):([0-9]+):([0-9]+).*/\1-\3/p' \ libtool-version) if [ ! "${e}" ] || [ "${_SOVERSION}" != "$(( "${e}" ))" ]; then termux_error_exit "SOVERSION guard check failed." fi } termux_step_post_configure() { # work around since mmap can't be written and marked executable in android anymore from userspace echo "#define FFI_MMAP_EXEC_WRIT 1" >> fficonfig.h }