mirror of
https://github.com/termux-pacman/termux-packages.git
synced 2026-02-11 12:20:52 +00:00
60 lines
2.1 KiB
Bash
60 lines
2.1 KiB
Bash
termux_setup_capnp() {
|
|
local _CAPNP_BUILD_SH="$TERMUX_SCRIPTDIR/packages/capnproto/build.sh"
|
|
local _CAPNP_VERSION=$(bash -c ". $_CAPNP_BUILD_SH; echo \${TERMUX_PKG_VERSION#*:}")
|
|
local _CAPNP_SRCURL=$(bash -c ". $_CAPNP_BUILD_SH; echo \${TERMUX_PKG_SRCURL}")
|
|
local _CAPNP_SHA256=$(bash -c ". $_CAPNP_BUILD_SH; echo \${TERMUX_PKG_SHA256}")
|
|
local _CAPNP_SRCARCHIVE="${TERMUX_PKG_TMPDIR}/capnp-${_CAPNP_VERSION}.tar.gz"
|
|
local _CAPNP_SRCDIR="${TERMUX_PKG_TMPDIR}/capnp-${_CAPNP_VERSION}"
|
|
local _CAPNP_FOLDER
|
|
|
|
if [[ "$TERMUX_ON_DEVICE_BUILD" == "true" ]]; then
|
|
if ([ ! -e "$TERMUX_BUILT_PACKAGES_DIRECTORY/capnproto" ] ||
|
|
[ "$(cat "$TERMUX_BUILT_PACKAGES_DIRECTORY/capnproto")" != "$_CAPNP_VERSION" ]) &&
|
|
([[ "$TERMUX_APP_PACKAGE_MANAGER" = "apt" && "$(dpkg-query -W -f '${db:Status-Status}\n' capnproto 2>/dev/null)" != "installed" ]] ||
|
|
[[ "$TERMUX_APP_PACKAGE_MANAGER" = "pacman" && ! "$(pacman -Q capnproto 2>/dev/null)" ]]); then
|
|
echo "Package 'capnproto' is not installed."
|
|
echo "You can install it with"
|
|
echo
|
|
echo " pkg install capnproto"
|
|
echo
|
|
echo " pacman -S capnproto"
|
|
echo
|
|
echo "or build it from source with"
|
|
echo
|
|
echo " ./build-package.sh capnproto"
|
|
echo
|
|
exit 1
|
|
fi
|
|
return
|
|
fi
|
|
|
|
if [ "${TERMUX_PACKAGES_OFFLINE-false}" = "true" ]; then
|
|
_CAPNP_FOLDER="${TERMUX_SCRIPTDIR}/build-tools/capnp-${_CAPNP_VERSION}"
|
|
else
|
|
_CAPNP_FOLDER="${TERMUX_COMMON_CACHEDIR}/capnp-${_CAPNP_VERSION}"
|
|
fi
|
|
|
|
if [ ! -d "$_CAPNP_FOLDER" ]; then
|
|
(
|
|
termux_download "$_CAPNP_SRCURL" "$_CAPNP_SRCARCHIVE" "$_CAPNP_SHA256"
|
|
|
|
rm -Rf "$_CAPNP_SRCDIR"
|
|
mkdir -p "$_CAPNP_SRCDIR/build"
|
|
tar -xf "$_CAPNP_SRCARCHIVE" --strip-components=1 -C "$_CAPNP_SRCDIR"
|
|
termux_setup_cmake
|
|
termux_setup_ninja
|
|
unset AR CC CFLAGS CPPFLAGS CXX CXXFLAGS LD LDFLAGS PKG_CONFIG PKG_CONFIG_LIBDIR PKGCONFIG STRIP
|
|
cmake \
|
|
-S "$_CAPNP_SRCDIR" \
|
|
-B "$_CAPNP_SRCDIR/build" \
|
|
-GNinja \
|
|
-DPKG_CONFIG_EXECUTABLE=/usr/bin/pkg-config \
|
|
-DCMAKE_INSTALL_PREFIX="$_CAPNP_FOLDER"
|
|
ninja -C "$_CAPNP_SRCDIR/build" -j "$TERMUX_PKG_MAKE_PROCESSES"
|
|
ninja -C "$_CAPNP_SRCDIR/build" install
|
|
)
|
|
fi
|
|
|
|
export PATH="$_CAPNP_FOLDER/bin:$PATH"
|
|
}
|