这是indexloc提供的服务,不要输入任何密码
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions build-package.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}

Expand Down
8 changes: 7 additions & 1 deletion packages/googletest/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions scripts/build/configure/termux_step_configure_meson.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down
12 changes: 6 additions & 6 deletions scripts/build/termux_step_massage.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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}"
Expand All @@ -196,17 +196,17 @@ 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
fi
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
Expand Down
14 changes: 14 additions & 0 deletions scripts/properties.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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`.
#
Expand Down Expand Up @@ -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`.
#
Expand Down