From a0031286ee99812b93bee1973458713d49961f3e Mon Sep 17 00:00:00 2001 From: Maxython Date: Thu, 14 Aug 2025 02:14:53 +0300 Subject: [PATCH 1/2] Add new variables to `properties.sh` - `TERMUX__PREFIX__INCLUDE_SUBDIR` - `TERMUX__PREFIX__LIB_SUBDIR` --- build-package.sh | 2 ++ .../build/configure/termux_step_configure_meson.sh | 4 ++-- scripts/build/termux_step_massage.sh | 12 ++++++------ scripts/properties.sh | 14 ++++++++++++++ 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/build-package.sh b/build-package.sh index 199811b1864d077..79d5eccdafcc353 100755 --- a/build-package.sh +++ b/build-package.sh @@ -454,7 +454,9 @@ termux_conf_multilib_vars() { "x86_64") TERMUX_ARCH="i686";; *) termux_error_exit "It is impossible to set multilib arch for ${TERMUX_ARCH} arch." esac + TERMUX__PREFIX__INCLUDE_SUBDIR="$TERMUX__PREFIX__MULTI_INCLUDE_SUBDIR" TERMUX__PREFIX__INCLUDE_DIR="$TERMUX__PREFIX__MULTI_INCLUDE_DIR" + TERMUX__PREFIX__LIB_SUBDIR="$TERMUX__PREFIX__MULTI_LIB_SUBDIR" TERMUX__PREFIX__LIB_DIR="$TERMUX__PREFIX__MULTI_LIB_DIR" } diff --git a/scripts/build/configure/termux_step_configure_meson.sh b/scripts/build/configure/termux_step_configure_meson.sh index 838db329922a0ef..ba8ab900e0ce277 100644 --- a/scripts/build/configure/termux_step_configure_meson.sh +++ b/scripts/build/configure/termux_step_configure_meson.sh @@ -14,8 +14,8 @@ termux_step_configure_meson() { $TERMUX_PKG_BUILDDIR \ --$(test "${TERMUX_PKG_MESON_NATIVE}" = "true" && echo "native-file" || echo "cross-file") $TERMUX_MESON_CROSSFILE \ --prefix $TERMUX_PREFIX \ - --libdir $(test "${TERMUX_ARCH}" = "${TERMUX_REAL_ARCH}" && echo "lib" || echo "lib32") \ - --includedir $(test "${TERMUX_ARCH}" = "${TERMUX_REAL_ARCH}" && echo "include" || echo "include32") \ + --libdir $TERMUX__PREFIX__LIB_SUBDIR \ + --includedir $TERMUX__PREFIX__INCLUDE_SUBDIR \ --buildtype ${_meson_buildtype} \ ${_meson_stripflag} \ $TERMUX_PKG_EXTRA_CONFIGURE_ARGS \ diff --git a/scripts/build/termux_step_massage.sh b/scripts/build/termux_step_massage.sh index f884908620e4787..c60eb1e220057f0 100644 --- a/scripts/build/termux_step_massage.sh +++ b/scripts/build/termux_step_massage.sh @@ -184,10 +184,10 @@ termux_step_massage() { fi # Remove duplicate headers from `include32/` directory - if [[ -d ./${ADDING_PREFIX}/include32 && -d ${TERMUX__PREFIX__BASE_INCLUDE_DIR} ]]; then + if [[ -d ./${ADDING_PREFIX}/${TERMUX__PREFIX__MULTI_INCLUDE_SUBDIR} && -d ${TERMUX__PREFIX__BASE_INCLUDE_DIR} ]]; then local hpath - for hpath in $(find ./${ADDING_PREFIX}/include32 -type f); do - local h=$(sed "s|./${ADDING_PREFIX}/include32/||g" <<< "$hpath") + for hpath in $(find ./${ADDING_PREFIX}/${TERMUX__PREFIX__MULTI_INCLUDE_SUBDIR} -type f); do + local h=$(sed "s|./${ADDING_PREFIX}/${TERMUX__PREFIX__MULTI_INCLUDE_SUBDIR}/||g" <<< "$hpath") if [[ -f "${TERMUX__PREFIX__BASE_INCLUDE_DIR}/${h}" && \ "$(md5sum < "${hpath}")" = "$(md5sum < "${TERMUX__PREFIX__BASE_INCLUDE_DIR}/${h}")" ]]; then rm "${hpath}" @@ -196,9 +196,9 @@ termux_step_massage() { fi # Configure pkgconfig files for proper multilib-compilation - if [[ -d ./${ADDING_PREFIX}/lib32/pkgconfig ]]; then + if [[ -d ./${ADDING_PREFIX}/${TERMUX__PREFIX__MULTI_LIB_SUBDIR}/pkgconfig ]]; then local pc - for pc in $(grep -s -r -l "^includedir=.*/include32" ./${ADDING_PREFIX}/lib32/pkgconfig); do + for pc in $(grep -s -r -l "^includedir=.*/${TERMUX__PREFIX__MULTI_INCLUDE_SUBDIR}" ./${ADDING_PREFIX}/${TERMUX__PREFIX__MULTI_LIB_SUBDIR}/pkgconfig); do local pc_cflags="$(grep '^Cflags:' "${pc}" | awk -F ':' '{printf $2 "\n"}')" if ! grep -q ' -I' <<< "${pc_cflags}"; then continue @@ -206,7 +206,7 @@ termux_step_massage() { local pc_multilib_path="$(grep '^includedir=' "${pc}" | sed "s|${TERMUX_PREFIX}|\${prefix}|g" | awk -F '{prefix}/include' '{printf $2}')" local pc_edit_cflags="$(sed "s|\${includedir}|\${includedir}${pc_multilib_path}|g" <<< "${pc_cflags}")" local pc_new_cflags="$(tr ' ' '\n' <<< "${pc_edit_cflags}" | sed 's|\({includedir}\)32|\1|gp; s|\(/include\)32|\1|gp; d' | tr '\n' ' ')" - sed -i -e "s|\(^includedir=.*/\)include32\(.*\)|\1include|g" \ + sed -i -e "s|\(^includedir=.*/\)${TERMUX__PREFIX__MULTI_INCLUDE_SUBDIR}\(.*\)|\1include|g" \ -e "s|^Cflags:${pc_cflags}$|Cflags:${pc_edit_cflags} ${pc_new_cflags::-1}|g" \ "${pc}" # Apply the modified pkgconfig to the system for proper multilib-compilation work diff --git a/scripts/properties.sh b/scripts/properties.sh index c40fbba0898c281..82b1e6edcafdad9 100644 --- a/scripts/properties.sh +++ b/scripts/properties.sh @@ -1142,6 +1142,13 @@ TERMUX__PREFIX__MULTI_INCLUDE_SUBDIR="include32" TERMUX__PREFIX__MULTI_INCLUDE_DIR="$TERMUX__PREFIX/$TERMUX__PREFIX__MULTI_INCLUDE_SUBDIR" +## +# Termux include subdirectory path under `TERMUX__PREFIX`. +# +# Default value: `include` +## +TERMUX__PREFIX__INCLUDE_SUBDIR="$TERMUX__PREFIX__BASE_INCLUDE_SUBDIR" + ## # Termux include directory path under `TERMUX__PREFIX`. # @@ -1181,6 +1188,13 @@ TERMUX__PREFIX__MULTI_LIB_SUBDIR="lib32" TERMUX__PREFIX__MULTI_LIB_DIR="$TERMUX__PREFIX/$TERMUX__PREFIX__MULTI_LIB_SUBDIR" +## +# Termux lib subdirectory path under `TERMUX__PREFIX`. +# +# Default value: `lib` +## +TERMUX__PREFIX__LIB_SUBDIR="$TERMUX__PREFIX__BASE_LIB_SUBDIR" + ## # Termux lib directory path under `TERMUX__PREFIX`. # From f09447e0a0f31900ad01e57bd419efb67ca9a148 Mon Sep 17 00:00:00 2001 From: Robert Kirkman Date: Tue, 12 Aug 2025 19:09:05 -0500 Subject: [PATCH 2/2] fix(main/googletest): deduplicate import prefix - Fixes #25693 --- packages/googletest/build.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/googletest/build.sh b/packages/googletest/build.sh index 8870dcfb80fbeb5..7dac1bfdc436d8a 100644 --- a/packages/googletest/build.sh +++ b/packages/googletest/build.sh @@ -3,13 +3,19 @@ TERMUX_PKG_DESCRIPTION="Google C++ testing framework" TERMUX_PKG_LICENSE="BSD 3-Clause" TERMUX_PKG_MAINTAINER="@termux" TERMUX_PKG_VERSION="1.17.0" +TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=https://github.com/google/googletest/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_SHA256=65fab701d9829d38cb77c14acdc431d2108bfdbf8979e40eb8ae567edf10b27c TERMUX_PKG_AUTO_UPDATE=true TERMUX_PKG_DEPENDS="libc++" TERMUX_PKG_CONFLICTS="libgtest" TERMUX_PKG_REPLACES="libgtest" -TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DBUILD_SHARED_LIBS=ON" +# -DCMAKE_INSTALL_INCLUDEDIR=$TERMUX__PREFIX__INCLUDE_SUBDIR +# is needed in order to fix https://github.com/termux/termux-packages/issues/25693 +TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" +-DBUILD_SHARED_LIBS=ON +-DCMAKE_INSTALL_INCLUDEDIR=$TERMUX__PREFIX__INCLUDE_SUBDIR +" termux_step_post_get_source() { # Do not forget to bump revision of reverse dependencies and rebuild them