TERMUX_PKG_HOMEPAGE=https://libexpat.github.io/ TERMUX_PKG_DESCRIPTION="XML parsing C library" TERMUX_PKG_LICENSE="MIT" TERMUX_PKG_MAINTAINER="@termux" TERMUX_PKG_VERSION="2.6.2" TERMUX_PKG_SRCURL=https://github.com/libexpat/libexpat/releases/download/R_${TERMUX_PKG_VERSION//./_}/expat-$TERMUX_PKG_VERSION.tar.bz2 TERMUX_PKG_SHA256=9c7c1b5dcbc3c237c500a8fb1493e14d9582146dd9b42aa8d3ffb856a3b927e0 TERMUX_PKG_AUTO_UPDATE=true TERMUX_PKG_UPDATE_VERSION_REGEXP="\d+.\d+.\d+" TERMUX_PKG_BREAKS="libexpat-dev" TERMUX_PKG_REPLACES="libexpat-dev" TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--without-xmlwf --without-docbook" termux_step_post_get_source() { # Do not forget to bump revision of reverse dependencies and rebuild them # after SOVERSION is changed. local _SOVERSION=1 local a for a in LIBCURRENT LIBAGE; do local _${a}=$(sed -En 's/^'"${a}"'=([0-9]+).*/\1/p' configure.ac) done local v=$(( _LIBCURRENT - _LIBAGE )) if [ ! "${_LIBCURRENT}" ] || [ "${v}" != "${_SOVERSION}" ]; then termux_error_exit "SOVERSION guard check failed." fi } termux_step_pre_configure() { # SOVERSION suffix is needed for SONAME of shared libs to avoid conflict # with system ones (in /system/lib64 or /system/lib): sed -i 's/^\(linux\*android\)\*)/\1-notermux)/' configure } termux_step_post_massage() { # Check if SONAME is properly set: if ! readelf -d lib/libexpat.so | grep -q '(SONAME).*\[libexpat\.so\.'; then termux_error_exit "SONAME for libexpat.so is not properly set." fi }