mirror of
https://github.com/termux-pacman/termux-packages.git
synced 2026-01-27 21:22:29 +00:00
ndk-multilib: Care for 32-bit variant in native libs
Mod to hook in the parent package follows. %ci:no-build
This commit is contained in:
@@ -31,6 +31,12 @@ prepare_libs() {
|
||||
cp $BASEDIR/lib{c++_static,c++abi}.a $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/$SUFFIX/lib
|
||||
echo 'INPUT(-lc++_static -lc++abi)' > $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/$SUFFIX/lib/libc++_shared.a
|
||||
|
||||
local f
|
||||
for f in lib{c,dl,log,m}.so lib{c,dl,m}.a; do
|
||||
ln -sfT $TERMUX_PREFIX/opt/ndk-multilib/$SUFFIX/lib/${f} \
|
||||
$TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/$SUFFIX/lib/${f}
|
||||
done
|
||||
|
||||
if [ $ARCH == "x86" ]; then
|
||||
LIBATOMIC=toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/*/lib/linux/i386
|
||||
elif [ $ARCH == "arm64" ]; then
|
||||
@@ -59,10 +65,12 @@ termux_step_make_install() {
|
||||
add_cross_compiler_rt
|
||||
}
|
||||
|
||||
termux_step_post_make_install() {
|
||||
local p
|
||||
for p in ndk-multilib-native-{static,stubs}; do
|
||||
install -Dm600 /dev/null $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/share/doc/${p}/.placeholder
|
||||
termux_step_post_massage() {
|
||||
local triple f
|
||||
for triple in aarch64-linux-android arm-linux-androideabi i686-linux-android x86_64-linux-android; do
|
||||
for f in lib{c,dl,log,m}.so lib{c,dl,m}.a; do
|
||||
rm -f ${triple}/lib/${f}
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
@@ -1,22 +1,36 @@
|
||||
TERMUX_SUBPKG_DESCRIPTION="Install native static libs from NDK"
|
||||
TERMUX_SUBPKG_INCLUDE="
|
||||
share/doc/ndk-multilib-native-static/
|
||||
"
|
||||
|
||||
# Existence of libfoo.a without stub libfoo.so causes troubles.
|
||||
TERMUX_SUBPKG_DEPENDS="ndk-multilib-native-stubs"
|
||||
TERMUX_SUBPKG_PLATFORM_INDEPENDENT=false
|
||||
TERMUX_SUBPKG_INCLUDE=
|
||||
|
||||
termux_step_create_subpkg_debscripts() {
|
||||
local f
|
||||
for f in postinst prerm; do
|
||||
sed -e "s|@TERMUX_PREFIX@|${TERMUX_PREFIX}|g" \
|
||||
-e "s|@TERMUX_PACKAGE_FORMAT@|${TERMUX_PACKAGE_FORMAT}|g" \
|
||||
$TERMUX_PKG_BUILDER_DIR/postinst-header.in > "${f}"
|
||||
done
|
||||
sed 's|@COMMAND@|ln -sf "'$TERMUX_PREFIX'/opt/ndk-multilib/$triple/lib/$a" "'$TERMUX_PREFIX'/\$triple/lib"|' \
|
||||
$TERMUX_PKG_BUILDER_DIR/postinst-native-static.in >> postinst
|
||||
sed 's|@COMMAND@|rm -f "'$TERMUX_PREFIX'/$triple/lib/$a"|' \
|
||||
$TERMUX_PKG_BUILDER_DIR/postinst-native-static.in >> prerm
|
||||
chmod 0700 postinst prerm
|
||||
}
|
||||
|
||||
case "$TERMUX_ARCH" in
|
||||
aarch64 )
|
||||
TERMUX_SUBPKG_INCLUDE+="
|
||||
aarch64-linux-android/lib/libc.a
|
||||
aarch64-linux-android/lib/libdl.a
|
||||
aarch64-linux-android/lib/libm.a
|
||||
"
|
||||
;& # fallthrough
|
||||
arm )
|
||||
TERMUX_SUBPKG_INCLUDE+="
|
||||
arm-linux-androideabi/lib/libc.a
|
||||
arm-linux-androideabi/lib/libdl.a
|
||||
arm-linux-androideabi/lib/libm.a
|
||||
"
|
||||
;;
|
||||
x86_64 )
|
||||
TERMUX_SUBPKG_INCLUDE+="
|
||||
x86_64-linux-android/lib/libc.a
|
||||
x86_64-linux-android/lib/libdl.a
|
||||
x86_64-linux-android/lib/libm.a
|
||||
"
|
||||
;& # fallthrough
|
||||
i686 )
|
||||
TERMUX_SUBPKG_INCLUDE+="
|
||||
i686-linux-android/lib/libc.a
|
||||
i686-linux-android/lib/libdl.a
|
||||
i686-linux-android/lib/libm.a
|
||||
"
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -1,19 +1,38 @@
|
||||
TERMUX_SUBPKG_DESCRIPTION="Install native stubs for shared libs from NDK"
|
||||
TERMUX_SUBPKG_INCLUDE="
|
||||
share/doc/ndk-multilib-native-stubs/
|
||||
"
|
||||
|
||||
termux_step_create_subpkg_debscripts() {
|
||||
local f
|
||||
for f in postinst prerm; do
|
||||
sed -e "s|@TERMUX_PREFIX@|${TERMUX_PREFIX}|g" \
|
||||
-e "s|@TERMUX_PACKAGE_FORMAT@|${TERMUX_PACKAGE_FORMAT}|g" \
|
||||
$TERMUX_PKG_BUILDER_DIR/postinst-header.in > "${f}"
|
||||
done
|
||||
sed 's|@COMMAND@|ln -sf "'$TERMUX_PREFIX'/opt/ndk-multilib/$triple/lib/$so" "'$TERMUX_PREFIX'/\$triple/lib"|' \
|
||||
$TERMUX_PKG_BUILDER_DIR/postinst-native-stubs.in >> postinst
|
||||
sed 's|@COMMAND@|rm -f "'$TERMUX_PREFIX'/$triple/lib/$so"|' \
|
||||
$TERMUX_PKG_BUILDER_DIR/postinst-native-stubs.in >> prerm
|
||||
chmod 0700 postinst prerm
|
||||
}
|
||||
TERMUX_SUBPKG_PLATFORM_INDEPENDENT=false
|
||||
TERMUX_SUBPKG_INCLUDE=
|
||||
|
||||
case "$TERMUX_ARCH" in
|
||||
aarch64 )
|
||||
TERMUX_SUBPKG_INCLUDE+="
|
||||
aarch64-linux-android/lib/libc.so
|
||||
aarch64-linux-android/lib/libdl.so
|
||||
aarch64-linux-android/lib/liblog.so
|
||||
aarch64-linux-android/lib/libm.so
|
||||
"
|
||||
;& # fallthrough
|
||||
arm )
|
||||
TERMUX_SUBPKG_INCLUDE+="
|
||||
arm-linux-androideabi/lib/libc.so
|
||||
arm-linux-androideabi/lib/libdl.so
|
||||
arm-linux-androideabi/lib/liblog.so
|
||||
arm-linux-androideabi/lib/libm.so
|
||||
"
|
||||
;;
|
||||
x86_64 )
|
||||
TERMUX_SUBPKG_INCLUDE+="
|
||||
x86_64-linux-android/lib/libc.so
|
||||
x86_64-linux-android/lib/libdl.so
|
||||
x86_64-linux-android/lib/liblog.so
|
||||
x86_64-linux-android/lib/libm.so
|
||||
"
|
||||
;& # fallthrough
|
||||
i686 )
|
||||
TERMUX_SUBPKG_INCLUDE+="
|
||||
i686-linux-android/lib/libc.so
|
||||
i686-linux-android/lib/libdl.so
|
||||
i686-linux-android/lib/liblog.so
|
||||
i686-linux-android/lib/libm.so
|
||||
"
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
|
||||
triple="$native_triple"
|
||||
if [ x"$triple" = x"unknown" ]; then
|
||||
echo "Error: cannot determine the native architecture."
|
||||
exit 1
|
||||
fi
|
||||
for a in libc.a libdl.a libm.a; do
|
||||
@COMMAND@
|
||||
done
|
||||
|
||||
exit 0
|
||||
@@ -1,11 +0,0 @@
|
||||
|
||||
triple="$native_triple"
|
||||
if [ x"$triple" = x"unknown" ]; then
|
||||
echo "Error: cannot determine the native architecture."
|
||||
exit 1
|
||||
fi
|
||||
for so in libc.so libdl.so liblog.so libm.so; do
|
||||
@COMMAND@
|
||||
done
|
||||
|
||||
exit 0
|
||||
Reference in New Issue
Block a user