update ndk to 17 and switch some packages to clang build (#2415)

* update ndk to 17

* bump NDK version in setup-android script

* libnl: fix for ndk r17

* libpixman: use clang's __builtin_shufflevector instead of __builtin_shuffle (#1)

Required to make package build with ndk17.

* fix as for arm

* ndk17 still uses ld.bfd on aarch64

* use -fno-integrated-as for clang only

* glib: remove patch unnecessary after ndk17

* torsocks: remove unneeded patch after ndk17

* subversion: fix build as clang++ now errors out for mismatched flags

* libpulseaudio: fix build with ndk17

https://github.com/termux/termux-packages/pull/2415#issuecomment-388296684

* gst-plugins-good: disable video4linux2

ioctl is defined as __overloadable in ndk17 headers which
  conflicts with v4l2object's member ioctl

* libzmq: disable Werror to build with ndk17

* ltrace: hardcode symbol not available in ndk17

* busybox: build with clang for all arches except arm

* dropbear: build with clang instead of gcc

* gnupg: build with clang instead of gcc

* openssl: use clang for all arches except arm

* picolisp: build with clang instead of gcc

* valgrind: use clang on all arches except aarch64

* Revert "gst-plugins-good: disable video4linux2"

This reverts commit 43850b81ccf60033c25cb13dfd326c1b0528773a.
Already applied on base branch.

* libllvm: use default arm triple
This commit is contained in:
Vishal Biswas 2018-05-27 18:25:20 +05:30 committed by Fredrik Fornwall
parent d8b43f2e48
commit 160d3aeb06
27 changed files with 76 additions and 3693 deletions

View File

@ -260,7 +260,7 @@ termux_step_setup_variables() {
: "${TERMUX_DEBUG:=""}"
: "${TERMUX_PKG_API_LEVEL:="21"}"
: "${TERMUX_ANDROID_BUILD_TOOLS_VERSION:="27.0.3"}"
: "${TERMUX_NDK_VERSION:="16"}"
: "${TERMUX_NDK_VERSION:="17"}"
if [ "x86_64" = "$TERMUX_ARCH" ] || [ "aarch64" = "$TERMUX_ARCH" ]; then
TERMUX_ARCH_BITS=64
@ -369,7 +369,7 @@ termux_step_start_build() {
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+="-v3"
TERMUX_STANDALONE_TOOLCHAIN+="-v1"
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"
@ -563,6 +563,9 @@ termux_step_setup_toolchain() {
# "We recommend using the -mthumb compiler flag to force the generation of 16-bit Thumb-2 instructions".
# With r13 of the ndk ruby 2.4.0 segfaults when built on arm with clang without -mthumb.
CFLAGS+=" -march=armv7-a -mfpu=neon -mfloat-abi=softfp -mthumb"
if [ "$TERMUX_PKG_CLANG" != "no" ]; then
CFLAGS+=" -fno-integrated-as"
fi
LDFLAGS+=" -march=armv7-a"
elif [ "$TERMUX_ARCH" = "i686" ]; then
# From $NDK/docs/CPU-ARCH-ABIS.html:
@ -637,7 +640,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/clang50$plusplus/" $FILE_TO_REPLACE
sed -i "s/COMPILER/clang60$plusplus/" $FILE_TO_REPLACE
sed -i "s/CLANG_TARGET/$CLANG_TARGET/" $FILE_TO_REPLACE
done
done
@ -645,9 +648,9 @@ termux_step_setup_toolchain() {
if [ "$TERMUX_ARCH" = "aarch64" ]; then
# Use gold by default to work around https://github.com/android-ndk/ndk/issues/148
cp $_TERMUX_TOOLCHAIN_TMPDIR/bin/aarch64-linux-android-ld.gold \
$_TERMUX_TOOLCHAIN_TMPDIR/bin/aarch64-linux-android-ld
$_TERMUX_TOOLCHAIN_TMPDIR/bin/aarch64-linux-android-ld
cp $_TERMUX_TOOLCHAIN_TMPDIR/aarch64-linux-android/bin/ld.gold \
$_TERMUX_TOOLCHAIN_TMPDIR/aarch64-linux-android/bin/ld
$_TERMUX_TOOLCHAIN_TMPDIR/aarch64-linux-android/bin/ld
fi
if [ "$TERMUX_ARCH" = "arm" ]; then
@ -675,7 +678,7 @@ termux_step_setup_toolchain() {
done
# elf.h: Taken from glibc since the elf.h in the NDK is lacking.
# ifaddrs.h: Added in android-24 unified headers, use a inline implementation for now.
cp "$TERMUX_SCRIPTDIR"/ndk-patches/{elf.h,ifaddrs.h,libintl.h} usr/include
cp "$TERMUX_SCRIPTDIR"/ndk-patches/{ifaddrs.h,libintl.h} usr/include
# Remove <sys/shm.h> from the NDK in favour of that from the libandroid-shmem.
# Remove <sys/sem.h> as it doesn't work for non-root.

File diff suppressed because it is too large Load Diff

View File

@ -10,7 +10,7 @@ diff -u -r /home/fornwall/lib/android-ndk/sysroot/usr/include/paths.h ./usr/incl
-#endif
+#define _PATH_BSHELL "@TERMUX_PREFIX@/bin/sh"
#define _PATH_CONSOLE "/dev/console"
-#define _PATH_DEFPATH "/sbin:/system/sbin:/system/bin:/system/xbin:/vendor/bin:/vendor/xbin"
-#define _PATH_DEFPATH "/sbin:/system/sbin:/system/bin:/system/xbin:/odm/bin:/vendor/bin:/vendor/xbin"
+#define _PATH_DEFPATH "@TERMUX_PREFIX@/bin:@TERMUX_PREFIX@/bin/applets"
#define _PATH_DEV "/dev/"
#define _PATH_DEVNULL "/dev/null"

View File

@ -9,10 +9,11 @@ diff -u -r /home/fornwall/lib/android-ndk/sysroot/usr/include/pwd.h ./usr/includ
#endif /* __ANDROID_API__ >= 26 */
@@ -99,6 +100,51 @@
int getpwuid_r(uid_t, struct passwd*, char*, size_t, struct passwd**) __INTRODUCED_IN(12);
#endif /* __ANDROID_API__ >= 12 */
@@ -97,6 +98,52 @@
int getpwnam_r(const char* __name, struct passwd* __pwd, char* __buf, size_t __n, struct passwd** __result) __INTRODUCED_IN(12);
int getpwuid_r(uid_t __uid, struct passwd* __pwd, char* __buf, size_t __n, struct passwd** __result) __INTRODUCED_IN(12);
+
+int access(const char* __path, int __mode);
+
+static void android_setup_pwd(struct passwd* pw) {

View File

@ -52,7 +52,7 @@ diff -u -r /home/fornwall/lib/android-ndk/sysroot/usr/include/stdio.h ./usr/incl
#include <bits/fortify/stdio.h>
#endif
+int open(const char*, int, ...) __overloadable __RENAME_CLANG(open);
+int open(const char*, int, ...);
+extern pid_t getpid();
+extern int unlink(const char*);
+void free(void* p);

View File

@ -6,8 +6,8 @@ diff -u -r /home/fornwall/lib/android-ndk/sysroot/usr/include/stdlib.h ./usr/inc
#include <malloc.h>
#include <stddef.h>
+#include <stdint.h>
__BEGIN_DECLS
#include <sys/cdefs.h>
#include <xlocale.h>
@@ -205,8 +206,7 @@
size_t wcstombs(char* __dst, const wchar_t* __src, size_t __n);
@ -19,14 +19,3 @@ diff -u -r /home/fornwall/lib/android-ndk/sysroot/usr/include/stdlib.h ./usr/inc
#else
/*
* Pre-L we didn't have any locale support and so we were always the POSIX
@@ -244,7 +244,9 @@
float strtof_l(const char* __s, char** __end_ptr, locale_t __l) __INTRODUCED_IN(26);
long strtol_l(const char* __s, char** __end_ptr, int, locale_t __l) __INTRODUCED_IN(26);
#else
-// Implemented as static inlines before 26.
+static __inline__ double strtod_l(const char* __s, char** __end_ptr, locale_t __l) { return strtod(__s, __end_ptr); }
+static __inline__ float strtof_l(const char* __s, char** __end_ptr, locale_t __l) { return strtof(__s, __end_ptr); }
+static __inline__ long strtol_l(const char* __s, char** __end_ptr, int __b, locale_t __l) { return strtol(__s, __end_ptr, __b); }
#endif
__END_DECLS

View File

@ -1,16 +1,16 @@
diff -u -r /home/fornwall/lib/android-ndk/sysroot/usr/include/sys/cdefs.h ./usr/include/sys/cdefs.h
--- /home/fornwall/lib/android-ndk/sysroot/usr/include/sys/cdefs.h 2017-07-21 11:04:10.000000000 +0200
+++ ./usr/include/sys/cdefs.h 2017-08-07 22:50:14.093361547 +0200
@@ -235,7 +235,11 @@
#endif
/* _FILE_OFFSET_BITS 64 support. */
@@ -218,7 +218,11 @@
* _FILE_OFFSET_BITS 64 support.
* See https://android.googlesource.com/platform/bionic/+/master/docs/32-bit-abi.md
*/
-#if !defined(__LP64__) && defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
+/* Using _FILE_OFFSET_BITS=64 does not work well on Android
+ * and can cause problems when mixing libraries, which is why
+ * Termux hides away this unless TERMUX_EXPOSE_FILE_OFFSET64
+ * is defined. */
+#if !defined(__LP64__) && defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 && defined(TERMUX_EXPOSE_FILE_OFFSET64)
#define __USE_FILE_OFFSET64 1
#define __RENAME_IF_FILE_OFFSET64(func) __RENAME(func)
#else
# define __USE_FILE_OFFSET64 1
/*
* Note that __RENAME_IF_FILE_OFFSET64 is only valid if the off_t and off64_t

View File

@ -1,22 +0,0 @@
Mosh needs fd_set to be const*. And native code used by the nio4r gem (used by Rails 5) needs fd_mask.
diff -u -r /home/fornwall/lib/android-ndk/sysroot/usr/include/sys/select.h ./usr/include/sys/select.h
--- /home/fornwall/lib/android-ndk/sysroot/usr/include/sys/select.h 2017-06-07 01:07:52.000000000 +0200
+++ ./usr/include/sys/select.h 2017-06-18 02:06:53.359009782 +0200
@@ -38,6 +38,7 @@
__BEGIN_DECLS
#define FD_SETSIZE 1024
+typedef unsigned long fd_mask;
#define NFDBITS (8 * sizeof(unsigned long))
#define __FDSET_LONGS (FD_SETSIZE/NFDBITS)
@@ -62,7 +63,7 @@
#if __ANDROID_API__ >= 21
void __FD_CLR_chk(int, fd_set*, size_t) __INTRODUCED_IN(21);
void __FD_SET_chk(int, fd_set*, size_t) __INTRODUCED_IN(21);
-int __FD_ISSET_chk(int, fd_set*, size_t) __INTRODUCED_IN(21);
+int __FD_ISSET_chk(int, fd_set const*, size_t) __INTRODUCED_IN(21);
#endif /* __ANDROID_API__ >= 21 */

View File

@ -10,7 +10,7 @@ diff -u -r ../busybox-1.26.2/Makefile ./Makefile
AS = $(CROSS_COMPILE)as
-CC = $(CROSS_COMPILE)gcc
+CC = $(CROSS_COMPILE)clang
+CC ?= $(CROSS_COMPILE)gcc
LD = $(CC) -nostdlib
CPP = $(CC) -E
AR = $(CROSS_COMPILE)ar

View File

@ -5,7 +5,10 @@ TERMUX_PKG_VERSION=1.28.4
TERMUX_PKG_SHA256=e3c14a3699dc7e82fed397392957afc78e37bdf25398ac38ead6e84621b2ae6a
TERMUX_PKG_SRCURL=https://busybox.net/downloads/busybox-${TERMUX_PKG_VERSION}.tar.bz2
TERMUX_PKG_BUILD_IN_SRC=yes
TERMUX_PKG_CLANG=no
if [ $TERMUX_ARCH = arm ]; then
TERMUX_PKG_CLANG=no
fi
# We replace env in the old coreutils package:
TERMUX_PKG_CONFLICTS="coreutils (<< 8.25-4)"

View File

@ -3,12 +3,11 @@ TERMUX_PKG_DESCRIPTION="Small SSH server and client"
TERMUX_PKG_DEPENDS="libutil, readline"
TERMUX_PKG_CONFLICTS="openssh"
TERMUX_PKG_VERSION=2018.76
TERMUX_PKG_REVISION=1
TERMUX_PKG_REVISION=2
TERMUX_PKG_SRCURL=https://matt.ucc.asn.au/dropbear/releases/dropbear-${TERMUX_PKG_VERSION}.tar.bz2
TERMUX_PKG_SHA256=f2fb9167eca8cf93456a5fc1d4faf709902a3ab70dd44e352f3acbc3ffdaea65
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-syslog --disable-utmp --disable-utmpx --disable-wtmp"
TERMUX_PKG_BUILD_IN_SRC="yes"
TERMUX_PKG_CLANG=no
# Avoid linking to libcrypt for server password authentication:
TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" ac_cv_lib_crypt_crypt=no"
# use own implementation of getpass

View File

@ -1,27 +0,0 @@
diff -u -r ../glib-2.56.0/gio/gsocket.c ./gio/gsocket.c
--- ../glib-2.56.0/gio/gsocket.c 2018-01-08 21:34:19.000000000 +0000
+++ ./gio/gsocket.c 2018-03-14 10:48:50.917328275 +0000
@@ -2397,7 +2397,11 @@
memset (&mc_req_src, 0, sizeof (mc_req_src));
/* By default use the default IPv4 multicast interface. */
+#ifdef __ANDROID__
+ mc_req_src.imr_interface = g_htonl (INADDR_ANY);
+#else
mc_req_src.imr_interface.s_addr = g_htonl (INADDR_ANY);
+#endif
if (iface)
{
@@ -2442,7 +2446,11 @@
}
iface_addr = (struct sockaddr_in *) &ifr.ifr_addr;
+#ifdef __ANDROID__
+ mc_req_src.imr_interface = iface_addr->sin_addr.s_addr;
+#else
mc_req_src.imr_interface.s_addr = iface_addr->sin_addr.s_addr;
+#endif
#endif /* defined(G_OS_WIN32) && defined (HAVE_IF_NAMETOINDEX) */
}
memcpy (&mc_req_src.imr_multiaddr, g_inet_address_to_bytes (group),

View File

@ -1,6 +1,7 @@
TERMUX_PKG_HOMEPAGE=https://www.gnupg.org/
TERMUX_PKG_DESCRIPTION="OpenPGP implementation for encrypting and signing data and communication"
TERMUX_PKG_VERSION=1.4.22
TERMUX_PKG_REVISION=1
TERMUX_PKG_SHA256=9594a24bec63a21568424242e3f198b9d9828dea5ff0c335e47b06f835f930b4
TERMUX_PKG_SRCURL=ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-${TERMUX_PKG_VERSION}.tar.bz2
# disable readline since gnupg is used in bootstrap, so nice to avoid readline+ncurses dependencies.
@ -10,9 +11,7 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-endian-check --without-readline ac_cv
# which it does on android-21 (but shmat(2) does not exist)
TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" ac_cv_header_sys_shm_h=no"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --disable-bzip2"
# Assembly issues on at least arm:
TERMUX_PKG_CLANG=no
termux_step_pre_configure() {
CFLAGS+=" -D__LITTLE_ENDIAN__"
CFLAGS+=" -D__LITTLE_ENDIAN__ -fheinous-gnu-extensions"
}

View File

@ -4,13 +4,5 @@ TERMUX_PKG_VERSION=0.27.0
TERMUX_PKG_SHA256=545b0458292c786aba334f1bf1c8f73600ae73dd7205a7bb791a187ee48ab8d2
TERMUX_PKG_SRCURL=https://github.com/libgit2/libgit2/archive/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_DEPENDS="libcurl, openssl"
TERMUX_PKG_REVISION=1
TERMUX_PKG_REVISION=2
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DBUILD_CLAR=OFF"
termux_step_pre_configure() {
# Fixes for arm https://github.com/android-ndk/ndk/issues/642
# Can be removed after updating to NDK r17.
if [ $TERMUX_ARCH = "arm" ]; then
CFLAGS+=" -mllvm -arm-promote-constant=0"
fi
}

View File

@ -91,8 +91,6 @@ termux_step_pre_configure () {
export LLVM_TARGET_ARCH
if [ $TERMUX_ARCH = "arm" ]; then
LLVM_TARGET_ARCH=ARM
# See https://github.com/termux/termux-packages/issues/282
LLVM_DEFAULT_TARGET_TRIPLE="armv7-linux-androideabi"
elif [ $TERMUX_ARCH = "aarch64" ]; then
LLVM_TARGET_ARCH=AArch64
elif [ $TERMUX_ARCH = "i686" ]; then

View File

@ -4,3 +4,7 @@ TERMUX_PKG_VERSION=3.4.0
TERMUX_PKG_SHA256=b7287637ae71c6db6f89e1422c995f0407ff2fe50cecd61a312b6a9b0921f5bf
TERMUX_PKG_SRCURL=https://github.com/thom311/libnl/releases/download/libnl${TERMUX_PKG_VERSION//./_}/libnl-$TERMUX_PKG_VERSION.tar.gz
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-pthreads --disable-cli"
termux_step_pre_configure () {
CFLAGS+=" -Dsockaddr_storage=__kernel_sockaddr_storage"
}

View File

@ -0,0 +1,10 @@
--- ./include/netlink-private/netlink.h 2018-05-10 17:48:07.762060270 +0530
+++ ./include/netlink-private/netlink.h 2018-05-10 17:48:57.891691514 +0530
@@ -29,6 +29,7 @@
#include <limits.h>
#include <search.h>
+typedef uint32_t in_addr_t;
#include <arpa/inet.h>
#include <netdb.h>

View File

@ -0,0 +1,11 @@
--- ../utils-prng.c.orig 2018-05-10 15:10:13.091304866 +0000
+++ ./test/utils-prng.c 2018-05-10 15:11:09.662867182 +0000
@@ -204,7 +204,7 @@
{
3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12
};
- randdata.vb = __builtin_shuffle (randdata.vb, bswap_shufflemask);
+ randdata.vb = __builtin_shufflevector (randdata.vb, bswap_shufflemask);
store_rand_128_data (buf, &randdata, aligned);
buf += 16;
#else

View File

@ -15,7 +15,8 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-neon-opt
--without-caps
--with-database=simple
--disable-memfd
--bindir=$TERMUX_PREFIX/libexec"
--bindir=$TERMUX_PREFIX/libexec
ax_cv_PTHREAD_PRIO_INHERIT=no"
TERMUX_PKG_CONFFILES="etc/pulse/client.conf etc/pulse/daemon.conf etc/pulse/default.pa etc/pulse/system.pa"
termux_step_pre_configure () {

View File

@ -4,7 +4,7 @@ TERMUX_PKG_VERSION=4.2.5
TERMUX_PKG_SHA256=cc9090ba35713d59bb2f7d7965f877036c49c5558ea0c290b0dcc6f2a17e489f
TERMUX_PKG_SRCURL=https://github.com/zeromq/libzmq/releases/download/v${TERMUX_PKG_VERSION}/zeromq-${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_DEPENDS="libsodium"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-libsodium --disable-libunwind"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-libsodium --disable-libunwind --disable-Werror"
termux_step_post_extract_package() {
./autogen.sh

View File

@ -15,6 +15,9 @@ ac_cv_host=$TERMUX_ARCH-generic-linux-gnu
termux_step_pre_configure () {
# rindex is an obsolete version of strrchr which is not available in Android:
CFLAGS+=" -Drindex=strrchr"
if [ "$TERMUX_ARCH" == "arm" ]; then
CFLAGS+=" -DSHT_ARM_ATTRIBUTES=0x70000000+3"
fi
autoreconf -i ../src
}

View File

@ -2,6 +2,7 @@ TERMUX_PKG_HOMEPAGE=https://www.openssl.org/
TERMUX_PKG_DESCRIPTION="Library implementing the SSL and TLS protocols as well as general purpose cryptography functions"
TERMUX_PKG_DEPENDS="ca-certificates"
TERMUX_PKG_VERSION=1.0.2o
TERMUX_PKG_REVISION=1
TERMUX_PKG_SHA256=ec3f5c9714ba0fd45cb4e087301eb1336c317e0d20b575a125050470e8089e4d
TERMUX_PKG_SRCURL=https://www.openssl.org/source/openssl-${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_RM_AFTER_INSTALL="bin/c_rehash etc/ssl/misc"
@ -10,7 +11,9 @@ TERMUX_PKG_BUILD_IN_SRC=yes
# https://github.com/android-ndk/ndk/issues/144
# https://github.com/openssl/openssl/issues/1498
# May be fixed in later openssl version.
TERMUX_PKG_CLANG=no
if [ $TERMUX_ARCH = arm ]; then
TERMUX_PKG_CLANG=no
fi
# Information about compilation and installation of openssl:
# http://wiki.openssl.org/index.php/Compilation_and_Installation

View File

@ -2,16 +2,13 @@ TERMUX_PKG_HOMEPAGE=https://picolisp.com
TERMUX_PKG_DESCRIPTION="Lisp interpreter and application server framework"
TERMUX_PKG_DEPENDS="libcrypt, openssl"
TERMUX_PKG_VERSION=18.4.26
TERMUX_PKG_REVISION=1
TERMUX_PKG_SHA256=07bdad20320fc5b5c31110c221270b1bbd221078eed27ed1d5a188c4699520ba
# We use our bintray mirror since old version snapshots are not kept on main site.
TERMUX_PKG_SRCURL=https://dl.bintray.com/termux/upstream/picolisp_${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_BUILD_IN_SRC=true
# The assembly is not position-independent (would be a major rewrite):
TERMUX_PKG_BLACKLISTED_ARCHES="x86_64"
if [ "$TERMUX_ARCH_BITS" = 32 ]; then
# "Variable length array in structure won't be supported"
TERMUX_PKG_CLANG=no
fi
termux_step_pre_configure() {
# Validate that we have the right version:

View File

@ -7,5 +7,5 @@ TERMUX_PKG_DEPENDS="apr, apr-util, serf, libexpat, libsqlite, liblz4, utf8proc"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--without-sasl --without-libmagic"
termux_step_pre_configure() {
CPPFLAGS+=" -std=c11"
CFLAGS+=" -std=c11"
}

View File

@ -1,12 +0,0 @@
diff -u -r ../torsocks-87b075dd16c675606adee792ef1e22691c51475b/src/lib/torsocks.h ./src/lib/torsocks.h
--- ../torsocks-87b075dd16c675606adee792ef1e22691c51475b/src/lib/torsocks.h 2016-12-22 16:45:31.000000000 +0100
+++ ./src/lib/torsocks.h 2017-06-30 23:28:56.028584667 +0200
@@ -314,7 +316,7 @@
extern TSOCKS_LIBC_DECL(sendto, LIBC_SENDTO_RET_TYPE, LIBC_SENDTO_SIG)
TSOCKS_DECL(sendto, LIBC_SENDTO_RET_TYPE, LIBC_SENDTO_SIG)
#define LIBC_SENDTO_DECL \
- LIBC_SENDTO_RET_TYPE LIBC_SENDTO_NAME(LIBC_SENDTO_SIG)
+ LIBC_SENDTO_RET_TYPE LIBC_SENDTO_NAME(LIBC_SENDTO_SIG) __overloadable
/* socket(2) */
extern TSOCKS_LIBC_DECL(socket, LIBC_SOCKET_RET_TYPE, LIBC_SOCKET_SIG)

View File

@ -1,15 +1,17 @@
TERMUX_PKG_HOMEPAGE=http://valgrind.org/
TERMUX_PKG_DESCRIPTION="Instrumentation framework for building dynamic analysis tools"
TERMUX_PKG_VERSION=3.13.0
TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=ftp://sourceware.org/pub/valgrind/valgrind-${TERMUX_PKG_VERSION}.tar.bz2
TERMUX_PKG_SHA256=d76680ef03f00cd5e970bbdcd4e57fb1f6df7d2e2c071635ef2be74790190c3b
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-tmpdir=$TERMUX_PREFIX/tmp"
# - Does not build on x86_64 due to lacking upstream support of that arch on android.
# See https://bugs.kde.org/show_bug.cgi?id=348342
TERMUX_PKG_BLACKLISTED_ARCHES="x86_64"
# With a clang build on aarch64:
# "error: the clang compiler does not support '-mcpu=cortex-a8'":
TERMUX_PKG_CLANG=no
# Fails on aarch64 with `__builtin_longjmp is not supported for the current target`
if [ $TERMUX_ARCH = aarch64 ]; then
TERMUX_PKG_CLANG=no
fi
termux_step_pre_configure() {
if [ "$TERMUX_ARCH" == "arm" ]; then

View File

@ -25,7 +25,7 @@ if [ ! -d $NDK ]; then
mkdir -p $NDK
cd $NDK/..
rm -Rf `basename $NDK`
NDK_VERSION=r16
NDK_VERSION=r17
curl --fail --retry 3 -o ndk.zip \
http://dl.google.com/android/repository/android-ndk-${NDK_VERSION}-`uname`-x86_64.zip