TERMUX_STANDALONE_TOOLCHAIN="$TERMUX_TOPDIR/_lib/${TERMUX_NDK_VERSION}-${TERMUX_ARCH}-${TERMUX_PKG_API_LEVEL}"
# Bump the below version if a change is made in toolchain setup to ensure
# that everyone gets an updated toolchain:
- TERMUX_STANDALONE_TOOLCHAIN+="-v11"
+ TERMUX_STANDALONE_TOOLCHAIN+="-v12"
if [ -n "${TERMUX_PKG_BLACKLISTED_ARCHES:=""}" ] && [ "$TERMUX_PKG_BLACKLISTED_ARCHES" != "${TERMUX_PKG_BLACKLISTED_ARCHES/$TERMUX_ARCH/}" ]; then
echo "Skipping building $TERMUX_PKG_NAME for arch $TERMUX_ARCH"
# elf.h: Taken from glibc since the elf.h in the NDK is lacking.
# sysexits.h: Header-only and used by a few programs.
# ifaddrs.h: Added in android-24 unified headers, use a inline implementation for now.
- cp "$TERMUX_SCRIPTDIR"/ndk-patches/{elf.h,sysexits.h,ifaddrs.h} usr/include
+ cp "$TERMUX_SCRIPTDIR"/ndk-patches/{elf.h,sysexits.h,ifaddrs.h,libintl.h} usr/include
# Remove <sys/shm.h> from the NDK in favour of that from the libandroid-shmem.
# Also remove <sys/sem.h> as it doesn't work for non-root.
--- /dev/null
+#ifndef _LIBINTL_H
+#define _LIBINTL_H
+
+#include <errno.h>
+#include <string.h>
+
+static __inline__ char* gettext(const char* msgid)
+{ return (char*) msgid; }
+
+static __inline__ char* dgettext(const char* domainname, const char* msgid)
+{ return (char*) msgid; }
+
+static __inline__ char* dcgettext(const char* domainname, const char* msgid, int category)
+{ return (char*) msgid; }
+
+static __inline__ char* ngettext(const char* msgid1, const char* msgid2, unsigned long int n)
+{ return (char *) ((n == 1) ? msgid1 : msgid2); }
+
+static __inline__ char* dngettext(const char* domainname, const char* msgid1, const char* msgid2, unsigned long int n)
+{ return (char *) ((n == 1) ? msgid1 : msgid2); }
+
+static __inline__ char* dcngettext(const char* domainname, const char* msgid1, const char* msgid2, unsigned long int n, int category)
+{ return (char *) ((n == 1) ? msgid1 : msgid2); }
+
+static __inline__ char* textdomain(const char* domainname)
+{
+ static const char default_str[] = "messages";
+ if (domainname && *domainname && strcmp(domainname, default_str)) {
+ errno = EINVAL;
+ return NULL;
+ }
+ return (char*) default_str;
+}
+
+static __inline__ char* bindtextdomain(const char* domainname, const char* dirname)
+{
+ static const char dir[] = "/";
+ if (!domainname || !*domainname || (dirname && ((dirname[0] != '/') || dirname[1]))) {
+ errno = EINVAL;
+ return NULL;
+ }
+ return (char*) dir;
+}
+
+static __inline__ char* bind_textdomain_codeset(const char* domainname, const char* codeset)
+{
+ if (!domainname || !*domainname || (codeset && strcasecmp(codeset, "UTF-8"))) {
+ errno = EINVAL;
+ }
+ return NULL;
+}
+
+#endif
TERMUX_PKG_HOMEPAGE=https://github.com/termux/libandroid-support
TERMUX_PKG_DESCRIPTION="Library extending the Android C library (Bionic) for additional multibyte, locale and math support"
-TERMUX_PKG_VERSION=21
-TERMUX_PKG_SHA256=e355c822d0891ba610275eac4b13e9b0fb4dd57e8e2891b9fd98d11edc6fd40d
+TERMUX_PKG_VERSION=22
+TERMUX_PKG_SHA256=667f20d0821a6305c50c667363486d546b293e846f31d02f559947d50121f51e
TERMUX_PKG_SRCURL=https://github.com/termux/libandroid-support/archive/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_FOLDERNAME=libandroid-support-$TERMUX_PKG_VERSION
TERMUX_PKG_BUILD_IN_SRC=yes
cp libandroid-support.so $TERMUX_PREFIX/lib/
- (cd $TERMUX_PREFIX/lib; ln -f -s libandroid-support.so libiconv.so; ln -f -s libandroid-support.so libintl.so)
+ (cd $TERMUX_PREFIX/lib; ln -f -s libandroid-support.so libiconv.so; )
rm -Rf $TERMUX_PREFIX/include/libandroid-support
mkdir -p $TERMUX_PREFIX/include/libandroid-support
cp -Rf include/* $TERMUX_PREFIX/include/libandroid-support/
- (cd $TERMUX_PREFIX/include; ln -f -s libandroid-support/libintl.h libintl.h; ln -f -s libandroid-support/iconv.h iconv.h)
+ (cd $TERMUX_PREFIX/include; ln -f -s libandroid-support/iconv.h iconv.h)
}