From 58e38b4778ac5a11953f863e01dc9cf90e94b702 Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Sun, 11 Jun 2017 22:55:04 +0200 Subject: [PATCH] Update from NDK r14 to r15 The docker image has been updated, use ./scripts/update-docker.sh to update. Note that we are still using the old deprecated non-unified headers - updating to that is the next step. --- build-package.sh | 5 +-- packages/libandroid-support/build.sh | 24 ++++--------- packages/libandroid-support/iconv.h.patch | 24 ------------- packages/libandroid-support/include-wchar.h.patch | 11 ------ packages/libandroid-support/langinfo.h.patch | 27 -------------- packages/libandroid-support/libintl.h.patch | 43 ----------------------- scripts/setup-android-sdk.sh | 4 +-- 7 files changed, 11 insertions(+), 127 deletions(-) delete mode 100644 packages/libandroid-support/iconv.h.patch delete mode 100644 packages/libandroid-support/include-wchar.h.patch delete mode 100644 packages/libandroid-support/langinfo.h.patch delete mode 100644 packages/libandroid-support/libintl.h.patch diff --git a/build-package.sh b/build-package.sh index a954749e..64a6b121 100755 --- a/build-package.sh +++ b/build-package.sh @@ -186,7 +186,7 @@ termux_step_setup_variables() { : "${TERMUX_DEBUG:=""}" : "${TERMUX_API_LEVEL:="21"}" : "${TERMUX_ANDROID_BUILD_TOOLS_VERSION:="25.0.3"}" - : "${TERMUX_NDK_VERSION:="14"}" + : "${TERMUX_NDK_VERSION:="15"}" if [ "x86_64" = "$TERMUX_ARCH" ] || [ "aarch64" = "$TERMUX_ARCH" ]; then TERMUX_ARCH_BITS=64 @@ -528,6 +528,7 @@ termux_step_setup_toolchain() { fi "$NDK/build/tools/make_standalone_toolchain.py" \ + --deprecated-headers \ --api "$TERMUX_API_LEVEL" \ --arch $_NDK_ARCHNAME \ --install-dir $_TERMUX_TOOLCHAIN_TMPDIR @@ -541,7 +542,7 @@ termux_step_setup_toolchain() { termux_error_exit "No toolchain file to override: $FILE_TO_REPLACE" fi cp "$TERMUX_SCRIPTDIR/scripts/clang-pie-wrapper" $FILE_TO_REPLACE - sed -i "s/COMPILER/clang38$plusplus/" $FILE_TO_REPLACE + sed -i "s/COMPILER/clang50$plusplus/" $FILE_TO_REPLACE sed -i "s/CLANG_TARGET/$CLANG_TARGET/" $FILE_TO_REPLACE done done diff --git a/packages/libandroid-support/build.sh b/packages/libandroid-support/build.sh index 80d6aa0b..3668b2a3 100755 --- a/packages/libandroid-support/build.sh +++ b/packages/libandroid-support/build.sh @@ -1,27 +1,15 @@ -TERMUX_PKG_HOMEPAGE=https://developer.android.com/tools/sdk/ndk/index.html +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=${TERMUX_NDK_VERSION} +TERMUX_PKG_VERSION=15 +TERMUX_PKG_SRCURL=https://github.com/termux/libandroid-support/archive/v${TERMUX_PKG_VERSION}.tar.gz +TERMUX_PKG_SHA256=73f7543c6005d376edcaf915ac22f53a9f0a2d6c87fe7dde5f890d26c8d49ebc +TERMUX_PKG_FOLDERNAME=libandroid-support-$TERMUX_PKG_VERSION TERMUX_PKG_BUILD_IN_SRC=yes TERMUX_PKG_ESSENTIAL=yes -termux_step_post_extract_package () { - mkdir -p src/musl-locale/ src/musl-multibyte/ include/ src/musl-ctype/ - cp $NDK/sources/android/support/src/musl-multibyte/{mblen.c,mbsrtowcs.c,mbsnrtowcs.c,libc.h,internal.h,internal.c} src/musl-multibyte/ - cp $NDK/sources/android/support/src/musl-locale/{catclose.c,catgets.c,catopen.c} src/musl-locale/ - cp $NDK/sources/android/support/src/musl-locale/{langinfo.c,intl.c,iconv.c,strfmon.c} src/musl-locale/ - cp $NDK/sources/android/support/src/musl-ctype/* src/musl-ctype/ - - cp $NDK/sources/android/support/include/* include/ - cp $NDK/sources/android/support/src/musl-locale/{libc.h,codepages.h,legacychars.h,jis0208.h,gb18030.h,big5.h,hkscs.h,ksc.h} include/ - - # Use up-to-date (Unicode 9) wcwidth: - cp $TERMUX_PKG_BUILDER_DIR/wcwidth.c $NDK/sources/android/support/src/musl-ctype/wcwidth.c -} - termux_step_make_install () { _C_FILES="src/musl-*/*.c" - # Link against libm to avoid linkers having to do it - $CC $CFLAGS -std=c99 -DNULL=0 $CPPFLAGS $LDFLAGS -lm \ + $CC $CFLAGS -std=c99 -DNULL=0 $CPPFLAGS $LDFLAGS \ -Iinclude -Isrc/locale \ $_C_FILES \ -shared -fpic \ diff --git a/packages/libandroid-support/iconv.h.patch b/packages/libandroid-support/iconv.h.patch deleted file mode 100644 index f9bc5626..00000000 --- a/packages/libandroid-support/iconv.h.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -u -r /home/fornwall/lib/android-ndk/sources/android/support/include/iconv.h ./include/iconv.h ---- /home/fornwall/lib/android-ndk/sources/android/support/include/iconv.h 2016-03-03 16:54:04.000000000 -0500 -+++ ./include/iconv.h 2016-05-25 16:15:29.543192668 -0400 -@@ -28,8 +28,6 @@ - #ifndef NDK_ANDROID_SUPPORT_ICONV_H - #define NDK_ANDROID_SUPPORT_ICONV_H - --#if !defined(__LP64__) -- - #ifdef __cplusplus - extern "C" { - #endif -@@ -43,9 +41,7 @@ - int iconv_close(iconv_t); - - #ifdef __cplusplus --} // extern "C" -+} - #endif - --#endif // !__LP64__ -- --#endif // NDK_ANDROID_SUPPORT_ICONV_H -+#endif diff --git a/packages/libandroid-support/include-wchar.h.patch b/packages/libandroid-support/include-wchar.h.patch deleted file mode 100644 index 0a754dde..00000000 --- a/packages/libandroid-support/include-wchar.h.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -u -r /home/fornwall/lib/android-ndk/sources/android/support/include/wchar.h ./include/wchar.h ---- /home/fornwall/lib/android-ndk/sources/android/support/include/wchar.h 2014-08-03 23:06:22.000000000 -0400 -+++ ./include/wchar.h 2015-07-13 03:18:31.440649551 -0400 -@@ -119,6 +119,7 @@ - wchar_t *wcstok (wchar_t *__restrict__, const wchar_t *__restrict__, wchar_t **__restrict__); - - size_t wcslen (const wchar_t *); -+size_t wcslcpy(wchar_t *dst, const wchar_t *src, size_t siz); - - wchar_t *wcsstr (const wchar_t *__restrict__, const wchar_t *__restrict__); - wchar_t *wcswcs (const wchar_t *, const wchar_t *); diff --git a/packages/libandroid-support/langinfo.h.patch b/packages/libandroid-support/langinfo.h.patch deleted file mode 100644 index 91b60f71..00000000 --- a/packages/libandroid-support/langinfo.h.patch +++ /dev/null @@ -1,27 +0,0 @@ -Include from langinfo.h so that locale_t gets defined. - -Include from langinfo.h so that LC_ALL gets defined. - -diff -u -r /home/fornwall/lib/android-ndk/sources/android/support/include/langinfo.h ./include/langinfo.h ---- /home/fornwall/lib/android-ndk/sources/android/support/include/langinfo.h 2016-03-03 16:54:04.000000000 -0500 -+++ ./include/langinfo.h 2016-03-12 17:23:01.187197445 -0500 -@@ -31,6 +31,8 @@ - // __LP64__ - - #include -+#include -+#include - - #define _NL_ITEM(category,index) (((category) << 10) | (index)) - -@@ -111,10 +112,8 @@ - extern "C" { - #endif - --#if !defined(__LP64__) - char *nl_langinfo(nl_item); - char *nl_langinfo_l(nl_item, locale_t); --#endif // !__LP64__ - - #ifdef __cplusplus - } // extern "C" diff --git a/packages/libandroid-support/libintl.h.patch b/packages/libandroid-support/libintl.h.patch deleted file mode 100644 index 42172658..00000000 --- a/packages/libandroid-support/libintl.h.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff -N -u -r /home/fornwall/lib/android-ndk/sources/android/support/include/libintl.h ./include/libintl.h ---- /home/fornwall/lib/android-ndk/sources/android/support/include/libintl.h 1969-12-31 19:00:00.000000000 -0500 -+++ ./include/libintl.h 2014-11-27 10:50:18.306215538 -0500 -@@ -0,0 +1,39 @@ -+#ifndef NDK_ANDROID_SUPPORT_LIBINTL_H -+#define NDK_ANDROID_SUPPORT_LIBINTL_H -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+/* Look up MSGID in the current default message catalog for the current LC_MESSAGES locale. If not found, returns MSGID itself (the default text). */ -+char *gettext (const char *__msgid); -+ -+/* Look up MSGID in the DOMAINNAME message catalog for the current LC_MESSAGES locale. */ -+char *dgettext (const char *__domainname, const char *__msgid); -+ -+/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY locale. */ -+char *dcgettext (const char *__domainname, const char *__msgid, int __category); -+ -+/* Similar to `gettext' but select the plural form corresponding to the number N. */ -+char *ngettext (const char *__msgid1, const char *__msgid2, unsigned long int __n); -+ -+/* Similar to `dgettext' but select the plural form corresponding to the number N. */ -+char *dngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n); -+ -+/* Similar to `dcgettext' but select the plural form corresponding to the number N. */ -+char *dcngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n, int __category); -+ -+/* Set the current default message catalog to DOMAINNAME. If DOMAINNAME is null, return the current default. If DOMAINNAME is "", reset to the default of "messages". */ -+char *textdomain (const char *__domainname); -+ -+/* Specify that the DOMAINNAME message catalog will be found in DIRNAME rather than in the system locale data base. */ -+char *bindtextdomain (const char *__domainname, const char *__dirname); -+ -+/* Specify the character encoding in which the messages from the DOMAINNAME message catalog will be returned. */ -+char *bind_textdomain_codeset (const char *__domainname, const char *__codeset); -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#endif // NDK_ANDROID_SUPPORT_LIBINTL_H diff --git a/scripts/setup-android-sdk.sh b/scripts/setup-android-sdk.sh index 9ec1c745..3152a713 100755 --- a/scripts/setup-android-sdk.sh +++ b/scripts/setup-android-sdk.sh @@ -25,7 +25,7 @@ if [ ! -d $NDK ]; then mkdir -p $NDK cd $NDK/.. rm -Rf `basename $NDK` - NDK_VERSION=r14 + NDK_VERSION=r15 curl --fail --retry 3 -o ndk.zip \ http://dl.google.com/android/repository/android-ndk-${NDK_VERSION}-`uname`-x86_64.zip @@ -35,6 +35,6 @@ if [ ! -d $NDK ]; then rm ndk.zip fi -mkdir $ANDROID_HOME/licenses +mkdir -p $ANDROID_HOME/licenses echo -e -n "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > $ANDROID_HOME/licenses/android-sdk-license $ANDROID_HOME/tools/bin/sdkmanager "build-tools;25.0.3" "platforms;android-25" -- 2.11.0