diff --git a/Dockerfile b/Dockerfile index 859563c23..9e42af81f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:15.04 +FROM ubuntu:15.10 MAINTAINER Alex Cornejo # to prevent dialog warnings @@ -50,12 +50,12 @@ RUN apt-get update && apt-get install -y \ RUN cd /tmp && \ curl -O http://dl.google.com/android/android-sdk_r24.3.4-linux.tgz && \ - curl -O http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin && \ tar xzvf /tmp/android-sdk_r24.3.4-linux.tgz && \ - chmod 755 /tmp/android-ndk* && /tmp/android-ndk-r10e-linux-x86_64.bin && \ + curl -o ndk.zip http://dl.google.com/android/repository/android-ndk-r11-linux-x86_64.zip && \ + unzip ndk.zip && \ mkdir /root/lib && \ mv /tmp/android-sdk-linux /root/lib/android-sdk && \ - mv /tmp/android-ndk-r10e /root/lib/android-ndk && \ + mv /tmp/android-ndk-r11-linux-x86_64.tar.bz2 /root/lib/android-ndk && \ rm -fr /tmp/* RUN mkdir -p /data/data/com.termux/files/usr && mkdir -p /root/termux-packages && \ @@ -64,7 +64,7 @@ RUN mkdir -p /data/data/com.termux/files/usr && mkdir -p /root/termux-packages & luarocks install lua-MessagePack && \ luarocks install luabitop -ADD *.py /root/termux-packages/ +ADD scripts /root/termux-packages/scripts ADD *.sh /root/termux-packages/ ADD *.spec /root/termux-packages/ ADD packages /root/termux-packages/packages diff --git a/README.md b/README.md index 70ef92972..a750b1731 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ setup steps: * Install the Android SDK at `$HOME/lib/android-sdk`. Override this by setting the environment variable `$ANDROID_HOME` to point at another location. -* Install the Android NDK, version r10e, at `$HOME/lib/android-ndk`. Override this by setting +* Install the Android NDK, version r11, at `$HOME/lib/android-ndk`. Override this by setting the environment variable `$NDK` to point at another location. Alternatively a Dockerfile is provided which sets up a pristine image diff --git a/build-package.sh b/build-package.sh index a73ce59ac..04318fcd9 100755 --- a/build-package.sh +++ b/build-package.sh @@ -34,15 +34,19 @@ TERMUX_ARCH_BITS="32" if [ "x86_64" = $TERMUX_ARCH -o "aarch64" = $TERMUX_ARCH ]; then TERMUX_ARCH_BITS="64" fi +: ${TERMUX_CLANG:=""} # Set to non-empty to use clang. : ${TERMUX_HOST_PLATFORM:="${TERMUX_ARCH}-linux-android"} if [ $TERMUX_ARCH = "arm" ]; then TERMUX_HOST_PLATFORM="${TERMUX_HOST_PLATFORM}eabi"; fi : ${TERMUX_PREFIX:='/data/data/com.termux/files/usr'} : ${TERMUX_ANDROID_HOME:='/data/data/com.termux/files/home'} : ${TERMUX_DEBUG:=""} : ${TERMUX_PROCESS_DEB:=""} -: ${TERMUX_GCC_VERSION:="4.9"} : ${TERMUX_API_LEVEL:="21"} -: ${TERMUX_STANDALONE_TOOLCHAIN:="$HOME/lib/android-standalone-toolchain-${TERMUX_ARCH}-api${TERMUX_API_LEVEL}-gcc${TERMUX_GCC_VERSION}"} +if [ "$TERMUX_CLANG" = "" ]; then + : ${TERMUX_STANDALONE_TOOLCHAIN:="$HOME/lib/android-standalone-toolchain-${TERMUX_ARCH}-api${TERMUX_API_LEVEL}-gcc4.9"} +else + : ${TERMUX_STANDALONE_TOOLCHAIN:="$HOME/lib/android-standalone-toolchain-${TERMUX_ARCH}-api${TERMUX_API_LEVEL}-clang38"} +fi : ${TERMUX_ANDROID_BUILD_TOOLS_VERSION:="23.0.2"} # We do not put all of build-tools/$TERMUX_ANDROID_BUILD_TOOLS_VERSION/ into PATH # to avoid stuff like arm-linux-androideabi-ld there to conflict with ones from @@ -59,15 +63,31 @@ export TERMUX_TOUCH="touch" test `uname` = "Darwin" && TERMUX_TOUCH=gtouch # Compute NDK version. We remove the first character (the r in e.g. r9d) to get a version number which can be used in packages): -export TERMUX_NDK_VERSION=`cut -d ' ' -f 1 $NDK/RELEASE.TXT | cut -c 2-` +export TERMUX_NDK_VERSION=11 +if grep -s -q "Pkg.Revision = $TERMUX_NDK_VERSION" $NDK/source.properties; then + : +else + echo "Wrong NDK version - we need $TERMUX_NDK_VERSION" + exit 1 +fi export prefix=${TERMUX_PREFIX} # prefix is used by some makefiles #export ACLOCAL="aclocal -I $TERMUX_PREFIX/share/aclocal" export AR=$TERMUX_HOST_PLATFORM-ar -export AS=${TERMUX_HOST_PLATFORM}-gcc -export CC=$TERMUX_HOST_PLATFORM-gcc +if [ "$TERMUX_CLANG" = "" ]; then + export AS=${TERMUX_HOST_PLATFORM}-gcc + export CC=$TERMUX_HOST_PLATFORM-gcc + export CXX=$TERMUX_HOST_PLATFORM-g++ + _SPECSFLAG="-specs=$TERMUX_SCRIPTDIR/termux.spec" +else + export AS=${TERMUX_HOST_PLATFORM}-clang + export CC=$TERMUX_HOST_PLATFORM-clang + export CXX=$TERMUX_HOST_PLATFORM-clang++ + # TODO: clang does not have specs file, how to ensure pie + # binaries gets built? + _SPECSFLAG="" +fi export CPP=${TERMUX_HOST_PLATFORM}-cpp -export CXX=$TERMUX_HOST_PLATFORM-g++ export CC_FOR_BUILD=gcc export LD=$TERMUX_HOST_PLATFORM-ld export OBJDUMP=$TERMUX_HOST_PLATFORM-objdump @@ -78,7 +98,6 @@ export RANLIB=$TERMUX_HOST_PLATFORM-ranlib export READELF=$TERMUX_HOST_PLATFORM-readelf export STRIP=$TERMUX_HOST_PLATFORM-strip -_SPECSFLAG="-specs=$TERMUX_SCRIPTDIR/termux.spec" export CFLAGS="$_SPECSFLAG" export LDFLAGS="$_SPECSFLAG -L${TERMUX_PREFIX}/lib" @@ -95,7 +114,7 @@ if [ "$TERMUX_ARCH" = "arm" ]; then # make your application link statically to a libm compiled for the hard float ABI. The only downside of this # is that your application will increase somewhat in size." CFLAGS+=" -march=armv7-a -mfpu=neon -mhard-float -Wl,--no-warn-mismatch" - LDFLAGS+=" -march=armv7-a -Wl,--no-warn-mismatch" + LDFLAGS+=" -march=armv7-a -Wl,--no-warn-mismatch" elif [ $TERMUX_ARCH = "i686" ]; then # From $NDK/docs/CPU-ARCH-ABIS.html: CFLAGS+=" -march=i686 -msse3 -mstackrealign -mfpmath=sse" @@ -126,11 +145,17 @@ if [ ! -d $TERMUX_STANDALONE_TOOLCHAIN ]; then else _TERMUX_NDK_TOOLCHAIN_NAME="$TERMUX_HOST_PLATFORM" fi - bash $NDK/build/tools/make-standalone-toolchain.sh --platform=android-$TERMUX_API_LEVEL --toolchain=${_TERMUX_NDK_TOOLCHAIN_NAME}-${TERMUX_GCC_VERSION} \ - --install-dir=$TERMUX_STANDALONE_TOOLCHAIN --system=`uname | tr '[:upper:]' '[:lower:]'`-x86_64 + + if [ "$TERMUX_CLANG" = "" ]; then + _TERMUX_TOOLCHAIN="${_TERMUX_NDK_TOOLCHAIN_NAME}-4.9" + else + _TERMUX_TOOLCHAIN="${_TERMUX_NDK_TOOLCHAIN_NAME}-clang" + fi + bash $NDK/build/tools/make-standalone-toolchain.sh --platform=android-$TERMUX_API_LEVEL --toolchain=${_TERMUX_TOOLCHAIN} \ + --install-dir=$TERMUX_STANDALONE_TOOLCHAIN if [ "arm" = $TERMUX_ARCH ]; then # Fix to allow e.g. to be included: - cp $TERMUX_STANDALONE_TOOLCHAIN/include/c++/$TERMUX_GCC_VERSION/arm-linux-androideabi/armv7-a/bits/* $TERMUX_STANDALONE_TOOLCHAIN/include/c++/$TERMUX_GCC_VERSION/bits + cp $TERMUX_STANDALONE_TOOLCHAIN/include/c++/4.9/arm-linux-androideabi/armv7-a/bits/* $TERMUX_STANDALONE_TOOLCHAIN/include/c++/4.9/bits fi cd $TERMUX_STANDALONE_TOOLCHAIN/sysroot for f in $TERMUX_SCRIPTDIR/ndk_patches/*.patch; do @@ -356,6 +381,8 @@ termux_step_configure () { # . AVOID_AUTOCONF_WRAPPERS+=" gl_cv_func_getcwd_null=yes gl_cv_func_getcwd_posix_signature=yes gl_cv_func_getcwd_path_max=yes gl_cv_func_getcwd_abort_bug=no" AVOID_AUTOCONF_WRAPPERS+=" gl_cv_header_working_fcntl_h=yes gl_cv_func_fcntl_f_dupfd_cloexec=yes gl_cv_func_fcntl_f_dupfd_works=yes" + # Remove rpl_gettimeofday reference when building at least coreutils: + AVOID_AUTOCONF_WRAPPERS+=" gl_cv_func_tzset_clobber=no gl_cv_func_gettimeofday_clobber=no gl_cv_func_gettimeofday_posix_signature=yes" env $AVOID_AUTOCONF_WRAPPERS $TERMUX_PKG_SRCDIR/configure \ --disable-dependency-tracking \ @@ -445,12 +472,14 @@ termux_step_massage () { find . -type f | xargs file | grep -E "(executable|shared object)" | grep ELF | cut -f 1 -d : | xargs $STRIP --strip-unneeded --preserve-dates -R '.gnu.version*' fi # Fix shebang paths: - for file in `find . -type f`; do - head -c 100 $file | grep -E "^#\!.*\\/bin\\/.*" | grep -q -E -v "^#\! ?\\/system" && sed --follow-symlinks -i -E "s@^#\!(.*)/bin/(.*)@#\!$TERMUX_PREFIX/bin/\2@" $file + for file in `find -L . -type f`; do + head -c 100 $file | grep -E "^#\!.*\\/bin\\/.*" | grep -q -E -v "^#\! ?\\/system" && sed --follow-symlinks -i -E "1 s@^#\!(.*)/bin/(.*)@#\!$TERMUX_PREFIX/bin/\2@" $file done set -e -o pipefail # Remove DT_ entries which the android 5.1 linker warns about: - find . -type f -print0 | xargs -0 $TERMUX_ELF_CLEANER + if [ "$TERMUX_DEBUG" = "" ]; then + find . -type f -print0 | xargs -0 $TERMUX_ELF_CLEANER + fi test ! -z "$TERMUX_PKG_RM_AFTER_INSTALL" && rm -Rf $TERMUX_PKG_RM_AFTER_INSTALL @@ -488,7 +517,8 @@ termux_step_massage () { for includeset in $TERMUX_SUBPKG_INCLUDE; do _INCLUDE_DIRSET=`dirname $includeset` test "$_INCLUDE_DIRSET" = "." && _INCLUDE_DIRSET="" - if [ -e $includeset ]; then + if [ -e $includeset -o -L $includeset ]; then + # Add the -L clause to handle relative symbolic links: mkdir -p $SUB_PKG_MASSAGE_DIR/$_INCLUDE_DIRSET mv $includeset $SUB_PKG_MASSAGE_DIR/$_INCLUDE_DIRSET fi @@ -563,7 +593,7 @@ termux_setup_golang () { exit 1 fi - local TERMUX_GO_VERSION=go1.6beta2 + local TERMUX_GO_VERSION=go1.6 local TERMUX_GO_PLATFORM=linux-amd64 test `uname` = "Darwin" && TERMUX_GO_PLATFORM=darwin-amd64 diff --git a/disabled-packages/clisp/build.sh b/disabled-packages/clisp/build.sh new file mode 100644 index 000000000..8947b78e0 --- /dev/null +++ b/disabled-packages/clisp/build.sh @@ -0,0 +1,28 @@ +TERMUX_PKG_HOMEPAGE=http://www.clisp.org/ +TERMUX_PKG_DESCRIPTION="GNU CLISP - an ANSI Common Lisp Implementation" +TERMUX_PKG_VERSION=2.49 +TERMUX_PKG_SRCURL=http://downloads.sourceforge.net/project/clisp/clisp/${TERMUX_PKG_VERSION}/clisp-${TERMUX_PKG_VERSION}.tar.bz2 +TERMUX_PKG_DEPENDS="readline, libandroid-support" +TERMUX_MAKE_PROCESSES=1 + +termux_step_configure () { + cd $TERMUX_PKG_BUILDDIR + + export XCPPFLAGS="$CPPFLAGS" + export XCFLAGS="$CFLAGS" + export XLDFLAGS="$LDFLAGS" + + unset CC + unset CPPFLAGS + unset CFLAGS + unset LDFLAGS + + $TERMUX_PKG_SRCDIR/configure \ + --host=$TERMUX_HOST_PLATFORM \ + --prefix=$TERMUX_PREFIX \ + --enable-shared \ + --disable-static \ + --srcdir=$TERMUX_PKG_SRCDIR \ + --ignore-absence-of-libsigsegv \ + ac_cv_func_select=yes +} diff --git a/disabled-packages/clisp/src-gllib-stdint.in.h.patch b/disabled-packages/clisp/src-gllib-stdint.in.h.patch new file mode 100644 index 000000000..cf5ec7dba --- /dev/null +++ b/disabled-packages/clisp/src-gllib-stdint.in.h.patch @@ -0,0 +1,573 @@ +diff -u -r ../clisp-2.49/src/gllib/stdint.in.h ./src/gllib/stdint.in.h +--- ../clisp-2.49/src/gllib/stdint.in.h 2010-05-18 14:38:04.000000000 -0400 ++++ ./src/gllib/stdint.in.h 2016-02-17 15:35:07.664544781 -0500 +@@ -1,568 +1 @@ +-/* Copyright (C) 2001-2002, 2004-2010 Free Software Foundation, Inc. +- Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. +- This file is part of gnulib. +- +- This program is free software; you can redistribute it and/or modify +- it under the terms of the GNU General Public License as published by +- the Free Software Foundation; either version 3, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- GNU General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program; if not, write to the Free Software Foundation, +- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +- +-/* +- * ISO C 99 for platforms that lack it. +- * +- */ +- +-#ifndef _gl_GL_STDINT_H +- +-#if __GNUC__ >= 3 +-@PRAGMA_SYSTEM_HEADER@ +-#endif +- +-/* When including a system file that in turn includes , +- use the system , not our substitute. This avoids +- problems with (for example) VMS, whose includes +- . */ +-#define _gl_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H +- +-/* Get those types that are already defined in other system include +- files, so that we can "#define int8_t signed char" below without +- worrying about a later system include file containing a "typedef +- signed char int8_t;" that will get messed up by our macro. Our +- macros should all be consistent with the system versions, except +- for the "fast" types and macros, which we recommend against using +- in public interfaces due to compiler differences. */ +- +-#if @HAVE_STDINT_H@ +-# if defined __sgi && ! defined __c99 +- /* Bypass IRIX's if in C89 mode, since it merely annoys users +- with "This header file is to be used only for c99 mode compilations" +- diagnostics. */ +-# define __STDINT_H__ +-# endif +- /* Other systems may have an incomplete or buggy . +- Include it before , since any "#include " +- in would reinclude us, skipping our contents because +- _gl_GL_STDINT_H is defined. +- The include_next requires a split double-inclusion guard. */ +-# @INCLUDE_NEXT@ @NEXT_STDINT_H@ +-#endif +- +-#if ! defined _gl_GL_STDINT_H && ! defined _gl_GL_JUST_INCLUDE_SYSTEM_STDINT_H +-#define _gl_GL_STDINT_H +- +-/* defines some of the stdint.h types as well, on glibc, +- IRIX 6.5, and OpenBSD 3.8 (via ). +- AIX 5.2 isn't needed and causes troubles. +- MacOS X 10.4.6 includes (which is us), but +- relies on the system definitions, so include +- after @NEXT_STDINT_H@. */ +-#if @HAVE_SYS_TYPES_H@ && ! defined _AIX +-# include +-#endif +- +-/* Get LONG_MIN, LONG_MAX, ULONG_MAX. */ +-#include +- +-#if @HAVE_INTTYPES_H@ +- /* In OpenBSD 3.8, includes , which defines +- int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__. +- also defines intptr_t and uintptr_t. */ +-# include +-#elif @HAVE_SYS_INTTYPES_H@ +- /* Solaris 7 has the types except the *_fast*_t types, and +- the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX. */ +-# include +-#endif +- +-#if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__ +- /* Linux libc4 >= 4.6.7 and libc5 have a that defines +- int{8,16,32,64}_t and __BIT_TYPES_DEFINED__. In libc5 >= 5.2.2 it is +- included by . */ +-# include +-#endif +- +-#undef _gl_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H +- +-/* Minimum and maximum values for a integer type under the usual assumption. +- Return an unspecified value if BITS == 0, adding a check to pacify +- picky compilers. */ +- +-#define _STDINT_MIN(signed, bits, zero) \ +- ((signed) ? (- ((zero) + 1) << ((bits) ? (bits) - 1 : 0)) : (zero)) +- +-#define _STDINT_MAX(signed, bits, zero) \ +- ((signed) \ +- ? ~ _STDINT_MIN (signed, bits, zero) \ +- : /* The expression for the unsigned case. The subtraction of (signed) \ +- is a nop in the unsigned case and avoids "signed integer overflow" \ +- warnings in the signed case. */ \ +- ((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1) +- +-/* 7.18.1.1. Exact-width integer types */ +- +-/* Here we assume a standard architecture where the hardware integer +- types have 8, 16, 32, optionally 64 bits. */ +- +-#undef int8_t +-#undef uint8_t +-typedef signed char gl_int8_t; +-typedef unsigned char gl_uint8_t; +-#define int8_t gl_int8_t +-#define uint8_t gl_uint8_t +- +-#undef int16_t +-#undef uint16_t +-typedef short int gl_int16_t; +-typedef unsigned short int gl_uint16_t; +-#define int16_t gl_int16_t +-#define uint16_t gl_uint16_t +- +-#undef int32_t +-#undef uint32_t +-typedef int gl_int32_t; +-typedef unsigned int gl_uint32_t; +-#define int32_t gl_int32_t +-#define uint32_t gl_uint32_t +- +-/* Do not undefine int64_t if gnulib is not being used with 64-bit +- types, since otherwise it breaks platforms like Tandem/NSK. */ +-#if LONG_MAX >> 31 >> 31 == 1 +-# undef int64_t +-typedef long int gl_int64_t; +-# define int64_t gl_int64_t +-# define GL_INT64_T +-#elif defined _MSC_VER +-# undef int64_t +-typedef __int64 gl_int64_t; +-# define int64_t gl_int64_t +-# define GL_INT64_T +-#elif @HAVE_LONG_LONG_INT@ +-# undef int64_t +-typedef long long int gl_int64_t; +-# define int64_t gl_int64_t +-# define GL_INT64_T +-#endif +- +-#if ULONG_MAX >> 31 >> 31 >> 1 == 1 +-# undef uint64_t +-typedef unsigned long int gl_uint64_t; +-# define uint64_t gl_uint64_t +-# define GL_UINT64_T +-#elif defined _MSC_VER +-# undef uint64_t +-typedef unsigned __int64 gl_uint64_t; +-# define uint64_t gl_uint64_t +-# define GL_UINT64_T +-#elif @HAVE_UNSIGNED_LONG_LONG_INT@ +-# undef uint64_t +-typedef unsigned long long int gl_uint64_t; +-# define uint64_t gl_uint64_t +-# define GL_UINT64_T +-#endif +- +-/* Avoid collision with Solaris 2.5.1 etc. */ +-#define _UINT8_T +-#define _UINT32_T +-#define _UINT64_T +- +- +-/* 7.18.1.2. Minimum-width integer types */ +- +-/* Here we assume a standard architecture where the hardware integer +- types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types +- are the same as the corresponding N_t types. */ +- +-#undef int_least8_t +-#undef uint_least8_t +-#undef int_least16_t +-#undef uint_least16_t +-#undef int_least32_t +-#undef uint_least32_t +-#undef int_least64_t +-#undef uint_least64_t +-#define int_least8_t int8_t +-#define uint_least8_t uint8_t +-#define int_least16_t int16_t +-#define uint_least16_t uint16_t +-#define int_least32_t int32_t +-#define uint_least32_t uint32_t +-#ifdef GL_INT64_T +-# define int_least64_t int64_t +-#endif +-#ifdef GL_UINT64_T +-# define uint_least64_t uint64_t +-#endif +- +-/* 7.18.1.3. Fastest minimum-width integer types */ +- +-/* Note: Other substitutes may define these types differently. +- It is not recommended to use these types in public header files. */ +- +-/* Here we assume a standard architecture where the hardware integer +- types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types +- are taken from the same list of types. Assume that 'long int' +- is fast enough for all narrower integers. */ +- +-#undef int_fast8_t +-#undef uint_fast8_t +-#undef int_fast16_t +-#undef uint_fast16_t +-#undef int_fast32_t +-#undef uint_fast32_t +-#undef int_fast64_t +-#undef uint_fast64_t +-typedef long int gl_int_fast8_t; +-typedef unsigned long int gl_uint_fast8_t; +-typedef long int gl_int_fast16_t; +-typedef unsigned long int gl_uint_fast16_t; +-typedef long int gl_int_fast32_t; +-typedef unsigned long int gl_uint_fast32_t; +-#define int_fast8_t gl_int_fast8_t +-#define uint_fast8_t gl_uint_fast8_t +-#define int_fast16_t gl_int_fast16_t +-#define uint_fast16_t gl_uint_fast16_t +-#define int_fast32_t gl_int_fast32_t +-#define uint_fast32_t gl_uint_fast32_t +-#ifdef GL_INT64_T +-# define int_fast64_t int64_t +-#endif +-#ifdef GL_UINT64_T +-# define uint_fast64_t uint64_t +-#endif +- +-/* 7.18.1.4. Integer types capable of holding object pointers */ +- +-#undef intptr_t +-#undef uintptr_t +-typedef long int gl_intptr_t; +-typedef unsigned long int gl_uintptr_t; +-#define intptr_t gl_intptr_t +-#define uintptr_t gl_uintptr_t +- +-/* 7.18.1.5. Greatest-width integer types */ +- +-/* Note: These types are compiler dependent. It may be unwise to use them in +- public header files. */ +- +-#undef intmax_t +-#if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 +-typedef long long int gl_intmax_t; +-# define intmax_t gl_intmax_t +-#elif defined GL_INT64_T +-# define intmax_t int64_t +-#else +-typedef long int gl_intmax_t; +-# define intmax_t gl_intmax_t +-#endif +- +-#undef uintmax_t +-#if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 +-typedef unsigned long long int gl_uintmax_t; +-# define uintmax_t gl_uintmax_t +-#elif defined GL_UINT64_T +-# define uintmax_t uint64_t +-#else +-typedef unsigned long int gl_uintmax_t; +-# define uintmax_t gl_uintmax_t +-#endif +- +-/* Verify that intmax_t and uintmax_t have the same size. Too much code +- breaks if this is not the case. If this check fails, the reason is likely +- to be found in the autoconf macros. */ +-typedef int _verify_intmax_size[2 * (sizeof (intmax_t) == sizeof (uintmax_t)) - 1]; +- +-/* 7.18.2. Limits of specified-width integer types */ +- +-#if ! defined __cplusplus || defined __STDC_LIMIT_MACROS +- +-/* 7.18.2.1. Limits of exact-width integer types */ +- +-/* Here we assume a standard architecture where the hardware integer +- types have 8, 16, 32, optionally 64 bits. */ +- +-#undef INT8_MIN +-#undef INT8_MAX +-#undef UINT8_MAX +-#define INT8_MIN (~ INT8_MAX) +-#define INT8_MAX 127 +-#define UINT8_MAX 255 +- +-#undef INT16_MIN +-#undef INT16_MAX +-#undef UINT16_MAX +-#define INT16_MIN (~ INT16_MAX) +-#define INT16_MAX 32767 +-#define UINT16_MAX 65535 +- +-#undef INT32_MIN +-#undef INT32_MAX +-#undef UINT32_MAX +-#define INT32_MIN (~ INT32_MAX) +-#define INT32_MAX 2147483647 +-#define UINT32_MAX 4294967295U +- +-#undef INT64_MIN +-#undef INT64_MAX +-#ifdef GL_INT64_T +-/* Prefer (- INTMAX_C (1) << 63) over (~ INT64_MAX) because SunPRO C 5.0 +- evaluates the latter incorrectly in preprocessor expressions. */ +-# define INT64_MIN (- INTMAX_C (1) << 63) +-# define INT64_MAX INTMAX_C (9223372036854775807) +-#endif +- +-#undef UINT64_MAX +-#ifdef GL_UINT64_T +-# define UINT64_MAX UINTMAX_C (18446744073709551615) +-#endif +- +-/* 7.18.2.2. Limits of minimum-width integer types */ +- +-/* Here we assume a standard architecture where the hardware integer +- types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types +- are the same as the corresponding N_t types. */ +- +-#undef INT_LEAST8_MIN +-#undef INT_LEAST8_MAX +-#undef UINT_LEAST8_MAX +-#define INT_LEAST8_MIN INT8_MIN +-#define INT_LEAST8_MAX INT8_MAX +-#define UINT_LEAST8_MAX UINT8_MAX +- +-#undef INT_LEAST16_MIN +-#undef INT_LEAST16_MAX +-#undef UINT_LEAST16_MAX +-#define INT_LEAST16_MIN INT16_MIN +-#define INT_LEAST16_MAX INT16_MAX +-#define UINT_LEAST16_MAX UINT16_MAX +- +-#undef INT_LEAST32_MIN +-#undef INT_LEAST32_MAX +-#undef UINT_LEAST32_MAX +-#define INT_LEAST32_MIN INT32_MIN +-#define INT_LEAST32_MAX INT32_MAX +-#define UINT_LEAST32_MAX UINT32_MAX +- +-#undef INT_LEAST64_MIN +-#undef INT_LEAST64_MAX +-#ifdef GL_INT64_T +-# define INT_LEAST64_MIN INT64_MIN +-# define INT_LEAST64_MAX INT64_MAX +-#endif +- +-#undef UINT_LEAST64_MAX +-#ifdef GL_UINT64_T +-# define UINT_LEAST64_MAX UINT64_MAX +-#endif +- +-/* 7.18.2.3. Limits of fastest minimum-width integer types */ +- +-/* Here we assume a standard architecture where the hardware integer +- types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types +- are taken from the same list of types. */ +- +-#undef INT_FAST8_MIN +-#undef INT_FAST8_MAX +-#undef UINT_FAST8_MAX +-#define INT_FAST8_MIN LONG_MIN +-#define INT_FAST8_MAX LONG_MAX +-#define UINT_FAST8_MAX ULONG_MAX +- +-#undef INT_FAST16_MIN +-#undef INT_FAST16_MAX +-#undef UINT_FAST16_MAX +-#define INT_FAST16_MIN LONG_MIN +-#define INT_FAST16_MAX LONG_MAX +-#define UINT_FAST16_MAX ULONG_MAX +- +-#undef INT_FAST32_MIN +-#undef INT_FAST32_MAX +-#undef UINT_FAST32_MAX +-#define INT_FAST32_MIN LONG_MIN +-#define INT_FAST32_MAX LONG_MAX +-#define UINT_FAST32_MAX ULONG_MAX +- +-#undef INT_FAST64_MIN +-#undef INT_FAST64_MAX +-#ifdef GL_INT64_T +-# define INT_FAST64_MIN INT64_MIN +-# define INT_FAST64_MAX INT64_MAX +-#endif +- +-#undef UINT_FAST64_MAX +-#ifdef GL_UINT64_T +-# define UINT_FAST64_MAX UINT64_MAX +-#endif +- +-/* 7.18.2.4. Limits of integer types capable of holding object pointers */ +- +-#undef INTPTR_MIN +-#undef INTPTR_MAX +-#undef UINTPTR_MAX +-#define INTPTR_MIN LONG_MIN +-#define INTPTR_MAX LONG_MAX +-#define UINTPTR_MAX ULONG_MAX +- +-/* 7.18.2.5. Limits of greatest-width integer types */ +- +-#undef INTMAX_MIN +-#undef INTMAX_MAX +-#ifdef INT64_MAX +-# define INTMAX_MIN INT64_MIN +-# define INTMAX_MAX INT64_MAX +-#else +-# define INTMAX_MIN INT32_MIN +-# define INTMAX_MAX INT32_MAX +-#endif +- +-#undef UINTMAX_MAX +-#ifdef UINT64_MAX +-# define UINTMAX_MAX UINT64_MAX +-#else +-# define UINTMAX_MAX UINT32_MAX +-#endif +- +-/* 7.18.3. Limits of other integer types */ +- +-/* ptrdiff_t limits */ +-#undef PTRDIFF_MIN +-#undef PTRDIFF_MAX +-#if @APPLE_UNIVERSAL_BUILD@ +-# ifdef _LP64 +-# define PTRDIFF_MIN _STDINT_MIN (1, 64, 0l) +-# define PTRDIFF_MAX _STDINT_MAX (1, 64, 0l) +-# else +-# define PTRDIFF_MIN _STDINT_MIN (1, 32, 0) +-# define PTRDIFF_MAX _STDINT_MAX (1, 32, 0) +-# endif +-#else +-# define PTRDIFF_MIN \ +- _STDINT_MIN (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) +-# define PTRDIFF_MAX \ +- _STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) +-#endif +- +-/* sig_atomic_t limits */ +-#undef SIG_ATOMIC_MIN +-#undef SIG_ATOMIC_MAX +-#define SIG_ATOMIC_MIN \ +- _STDINT_MIN (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \ +- 0@SIG_ATOMIC_T_SUFFIX@) +-#define SIG_ATOMIC_MAX \ +- _STDINT_MAX (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \ +- 0@SIG_ATOMIC_T_SUFFIX@) +- +- +-/* size_t limit */ +-#undef SIZE_MAX +-#if @APPLE_UNIVERSAL_BUILD@ +-# ifdef _LP64 +-# define SIZE_MAX _STDINT_MAX (0, 64, 0ul) +-# else +-# define SIZE_MAX _STDINT_MAX (0, 32, 0ul) +-# endif +-#else +-# define SIZE_MAX _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@) +-#endif +- +-/* wchar_t limits */ +-/* Get WCHAR_MIN, WCHAR_MAX. +- This include is not on the top, above, because on OSF/1 4.0 we have a sequence of nested +- includes -> -> -> , and the latter includes +- and assumes its types are already defined. */ +-#if ! (defined WCHAR_MIN && defined WCHAR_MAX) +-# define _gl_GL_JUST_INCLUDE_SYSTEM_WCHAR_H +-# include +-# undef _gl_GL_JUST_INCLUDE_SYSTEM_WCHAR_H +-#endif +-#undef WCHAR_MIN +-#undef WCHAR_MAX +-#define WCHAR_MIN \ +- _STDINT_MIN (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@) +-#define WCHAR_MAX \ +- _STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@) +- +-/* wint_t limits */ +-#undef WINT_MIN +-#undef WINT_MAX +-#define WINT_MIN \ +- _STDINT_MIN (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) +-#define WINT_MAX \ +- _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) +- +-#endif /* !defined __cplusplus || defined __STDC_LIMIT_MACROS */ +- +-/* 7.18.4. Macros for integer constants */ +- +-#if ! defined __cplusplus || defined __STDC_CONSTANT_MACROS +- +-/* 7.18.4.1. Macros for minimum-width integer constants */ +-/* According to ISO C 99 Technical Corrigendum 1 */ +- +-/* Here we assume a standard architecture where the hardware integer +- types have 8, 16, 32, optionally 64 bits, and int is 32 bits. */ +- +-#undef INT8_C +-#undef UINT8_C +-#define INT8_C(x) x +-#define UINT8_C(x) x +- +-#undef INT16_C +-#undef UINT16_C +-#define INT16_C(x) x +-#define UINT16_C(x) x +- +-#undef INT32_C +-#undef UINT32_C +-#define INT32_C(x) x +-#define UINT32_C(x) x ## U +- +-#undef INT64_C +-#undef UINT64_C +-#if LONG_MAX >> 31 >> 31 == 1 +-# define INT64_C(x) x##L +-#elif defined _MSC_VER +-# define INT64_C(x) x##i64 +-#elif @HAVE_LONG_LONG_INT@ +-# define INT64_C(x) x##LL +-#endif +-#if ULONG_MAX >> 31 >> 31 >> 1 == 1 +-# define UINT64_C(x) x##UL +-#elif defined _MSC_VER +-# define UINT64_C(x) x##ui64 +-#elif @HAVE_UNSIGNED_LONG_LONG_INT@ +-# define UINT64_C(x) x##ULL +-#endif +- +-/* 7.18.4.2. Macros for greatest-width integer constants */ +- +-#undef INTMAX_C +-#if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 +-# define INTMAX_C(x) x##LL +-#elif defined GL_INT64_T +-# define INTMAX_C(x) INT64_C(x) +-#else +-# define INTMAX_C(x) x##L +-#endif +- +-#undef UINTMAX_C +-#if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 +-# define UINTMAX_C(x) x##ULL +-#elif defined GL_UINT64_T +-# define UINTMAX_C(x) UINT64_C(x) +-#else +-# define UINTMAX_C(x) x##UL +-#endif +- +-#endif /* !defined __cplusplus || defined __STDC_CONSTANT_MACROS */ +- +-#endif /* _gl_GL_STDINT_H */ +-#endif /* !defined _gl_GL_STDINT_H && !defined _gl_GL_JUST_INCLUDE_SYSTEM_STDINT_H */ ++#include_next diff --git a/disabled-packages/clisp/src-makefile.in.patch b/disabled-packages/clisp/src-makefile.in.patch new file mode 100644 index 000000000..3ada0b208 --- /dev/null +++ b/disabled-packages/clisp/src-makefile.in.patch @@ -0,0 +1,13 @@ +diff -u -r ../clisp-2.49/src/makemake.in ./src/makemake.in +--- ../clisp-2.49/src/makemake.in 2010-07-07 11:15:35.000000000 -0400 ++++ ./src/makemake.in 2016-02-17 15:27:00.420198622 -0500 +@@ -651,9 +651,6 @@ + # We can cross-compile only with GCC + XCC=${COMPILER} # ${TSYS}-gcc + XCPP="${XCC} -E" +- XCPPFLAGS='' +- XCFLAGS='' +- XLDFLAGS='' + XCC_GCC=true + XCC_NEED_DEEMA=false + else diff --git a/disabled-packages/gcc5/build.sh b/disabled-packages/gcc5/build.sh deleted file mode 100755 index 7f5e6c71d..000000000 --- a/disabled-packages/gcc5/build.sh +++ /dev/null @@ -1,67 +0,0 @@ -TERMUX_PKG_HOMEPAGE=http://gcc.gnu.org/ -TERMUX_PKG_DESCRIPTION="GNU C compiler" -TERMUX_PKG_DEPENDS="binutils, libgmp, libmpfr, libmpc, ndk-sysroot" -TERMUX_PKG_VERSION=5.3.0 -TERMUX_PKG_SRCURL=ftp://ftp.fu-berlin.de/unix/languages/gcc/releases/gcc-${TERMUX_PKG_VERSION}/gcc-${TERMUX_PKG_VERSION}.tar.bz2 -TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--enable-languages=c,c++ --with-system-zlib --disable-multilib --disable-lto" -TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-gmp=$TERMUX_PREFIX --with-mpfr=$TERMUX_PREFIX --with-mpc=$TERMUX_PREFIX" -# To build gcc as a PIE binary: -TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-stage1-ldflags=\"-specs=$TERMUX_SCRIPTDIR/termux.spec\"" -# TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --without-headers --with-local-prefix=$TERMUX_PREFIX/include" # FIXME: gcc5 trying -if [ "$TERMUX_ARCH" = "arm" ]; then - TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-arch=armv7-a --with-fpu=neon --with-float=hard" -elif [ "$TERMUX_ARCH" = "i686" ]; then - # -mstackrealign -msse3 -m32 - TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-arch=i686 --with-tune=atom --with-fpmath=sse" -fi -TERMUX_PKG_KEEP_STATIC_LIBRARIES="true" -TERMUX_PKG_RM_AFTER_INSTALL="bin/gcc-ar bin/gcc-ranlib bin/c++ bin/gcc-nm bin/*-linux-* lib/gcc/*-linux-*/${TERMUX_PKG_VERSION}/plugin lib/gcc/*-linux-*/${TERMUX_PKG_VERSION}/include-fixed lib/gcc/*-linux-*/$TERMUX_PKG_VERSION/install-tools libexec/gcc/*-linux-*/${TERMUX_PKG_VERSION}/plugin libexec/gcc/*-linux-*/${TERMUX_PKG_VERSION}/install-tools share/man/man7" - -export AR_FOR_TARGET="$AR" -export AS_FOR_TARGET="$AS" -export CC_FOR_TARGET="$CC" -export CFLAGS_FOR_TARGET="$CFLAGS" -export CPP_FOR_TARGET="$CPP" -export CPPFLAGS_FOR_TARGET="$CPPFLAGS" -export CXXFLAGS_FOR_TARGET="$CXXFLAGS" -export CXX_FOR_TARGET="$CXX" -export LDFLAGS_FOR_TARGET="$LDFLAGS" -export LD_FOR_TARGET="$LD" -export PKG_CONFIG_FOR_TARGET="$PKG_CONFIG" -export RANLIB_FOR_TARGET="$RANLIB" - -unset AR -unset AS -unset CC -unset CFLAGS -unset CPP -unset CPPFLAGS -unset CXXFLAGS -unset CXX -unset LDFLAGS -unset LD -unset PKG_CONFIG -unset RANLIB - -# TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --host=x86-linux-android" - -termux_step_make () { - make -j $TERMUX_MAKE_PROCESSES all-gcc - make -j $TERMUX_MAKE_PROCESSES all-target-libgcc -} - -termux_step_make_install () { - make install-gcc - make install-target-libgcc -} - -termux_step_post_make_install () { - if [ $TERMUX_ARCH = "arm" ]; then - # Note that moving to $TERMUX_PREFIX/lib/gcc/arm-linux-androideabi/${TERMUX_PKG_VERSION}/ - # allows compilation but fails to link at runtime - mv $TERMUX_PREFIX/lib/armv7-a/hard/libgcc_s* $TERMUX_PREFIX/lib/ - fi - - # Android 5.0 only supports PIE binaries, so build that by default with a specs file: - cp $TERMUX_SCRIPTDIR/termux.spec $TERMUX_PREFIX/lib/gcc/$TERMUX_HOST_PLATFORM/$TERMUX_PKG_VERSION/specs -} diff --git a/disabled-packages/gcc5/g++.subpackage.sh b/disabled-packages/gcc5/g++.subpackage.sh deleted file mode 100644 index 4a6c964f0..000000000 --- a/disabled-packages/gcc5/g++.subpackage.sh +++ /dev/null @@ -1,3 +0,0 @@ -TERMUX_SUBPKG_INCLUDE="bin/g++ share/man/man1/g++.1 libexec/gcc/arm-linux-androideabi/4.9.2/cc1plus" -TERMUX_SUBPKG_DESCRIPTION="GNU C++ compiler" -TERMUX_SUBPKG_DEPENDS="gcc,ndk-stl" diff --git a/disabled-packages/gcc5/gcov.subpackage.sh b/disabled-packages/gcc5/gcov.subpackage.sh deleted file mode 100644 index 49dedd0c7..000000000 --- a/disabled-packages/gcc5/gcov.subpackage.sh +++ /dev/null @@ -1,3 +0,0 @@ -TERMUX_SUBPKG_INCLUDE="bin/gcov share/man/man1/gcov.1 lib/gcc/arm-linux-androideabi/4.9.1/libgcov.a" -TERMUX_SUBPKG_DESCRIPTION="GNU coverage testing tool" -TERMUX_SUBPKG_DEPENDS="gcc" diff --git a/disabled-packages/ghostscript/build.sh b/disabled-packages/ghostscript/build.sh index 70511e02b..7e2d7cfc7 100644 --- a/disabled-packages/ghostscript/build.sh +++ b/disabled-packages/ghostscript/build.sh @@ -3,12 +3,14 @@ TERMUX_PKG_DESCRIPTION="Interpreter for the PostScript language and for PDF" TERMUX_PKG_VERSION=9.18 TERMUX_PKG_SRCURL=http://downloads.ghostscript.com/public/ghostscript-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_DEPENDS="libtiff" -TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-system-libtiff" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-system-libtiff --enable-little-endian" # See " it possible to cross compile GhostPCL/GhostXPS" at bottom of # http://ghostscript.com/FAQ.html termux_step_pre_configure () { + export CCAUX=gcc + local _ARCHFILE=$TERMUX_PKG_BUILDER_DIR/arch-arm.h $TERMUX_TOUCH -d "next hour" $_ARCHFILE perl -p -i -e "s|TARGET_ARCH_FILE=.*|TARGET_ARCH_FILE=$_ARCHFILE|" $TERMUX_PKG_SRCDIR/Makefile.in diff --git a/disabled-packages/proot/src-arch.h.patch b/disabled-packages/proot/src-arch.h.patch deleted file mode 100644 index 8447f6b40..000000000 --- a/disabled-packages/proot/src-arch.h.patch +++ /dev/null @@ -1,15 +0,0 @@ -From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788113 - -diff -u -r ../PRoot-5.1.0/src/arch.h ./src/arch.h ---- ../PRoot-5.1.0/src/arch.h 2014-12-15 09:18:11.000000000 -0500 -+++ ./src/arch.h 2016-01-08 19:53:23.789378336 -0500 -@@ -125,6 +125,9 @@ - #define OFFSETOF_STAT_UID_32 0 - #define OFFSETOF_STAT_GID_32 0 - -+ #define EXEC_PIC_ADDRESS 0x500000000000 -+ #define INTERP_PIC_ADDRESS 0x6f0000000000 -+ - #elif defined(ARCH_X86) - - #define SYSNUMS_HEADER1 "syscall/sysnums-i386.h" diff --git a/disabled-packages/proot/src-loader-assemble-arm64.h.patch b/disabled-packages/proot/src-loader-assemble-arm64.h.patch deleted file mode 100644 index 9c8d2c04a..000000000 --- a/disabled-packages/proot/src-loader-assemble-arm64.h.patch +++ /dev/null @@ -1,99 +0,0 @@ -See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788113 - -diff -N -u -r ../PRoot-5.1.0/src/loader/assemble-arm64.h ./src/loader/assemble-arm64.h ---- ../PRoot-5.1.0/src/loader/assembly-arm64.h 1969-12-31 19:00:00.000000000 -0500 -+++ ./src/loader/assembly-arm64.h 2016-01-08 20:12:46.494779723 -0500 -@@ -0,0 +1,93 @@ -+/* -*- c-set-style: "K&R"; c-basic-offset: 8 -*- -+ * -+ * This file is part of PRoot. -+ * -+ * Copyright (C) 2014 STMicroelectronics -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License as -+ * published by the Free Software Foundation; either version 2 of the -+ * License, or (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, but -+ * WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -+ * 02110-1301 USA. -+ */ -+ -+#define BRANCH(stack_pointer, destination) do { \ -+ asm volatile ( \ -+ "// Restore initial stack pointer. \n\t" \ -+ "mov sp, %0 \n\t" \ -+ " \n\t" \ -+ "// Clear rtld_fini. \n\t" \ -+ "mov x0, #0 \n\t" \ -+ " \n\t" \ -+ "// Start the program. \n\t" \ -+ "br %1 \n" \ -+ : /* no output */ \ -+ : "r" (stack_pointer), "r" (destination) \ -+ : "memory", "sp", "x0"); \ -+ __builtin_unreachable(); \ -+ } while (0) -+ -+#define PREPARE_ARGS_1(arg1_) \ -+ register word_t arg1 asm("x0") = arg1_; \ -+ -+#define PREPARE_ARGS_3(arg1_, arg2_, arg3_) \ -+ PREPARE_ARGS_1(arg1_) \ -+ register word_t arg2 asm("x1") = arg2_; \ -+ register word_t arg3 asm("x2") = arg3_; \ -+ -+#define PREPARE_ARGS_4(arg1_, arg2_, arg3_, arg4_) \ -+ PREPARE_ARGS_3(arg1_, arg2_, arg3_) \ -+ register word_t arg4 asm("x3") = arg4_; -+ -+#define PREPARE_ARGS_6(arg1_, arg2_, arg3_, arg4_, arg5_, arg6_) \ -+ PREPARE_ARGS_3(arg1_, arg2_, arg3_) \ -+ register word_t arg4 asm("x3") = arg4_; \ -+ register word_t arg5 asm("x4") = arg5_; \ -+ register word_t arg6 asm("x5") = arg6_; -+ -+#define OUTPUT_CONTRAINTS_1 \ -+ "r" (arg1) -+ -+#define OUTPUT_CONTRAINTS_3 \ -+ OUTPUT_CONTRAINTS_1, \ -+ "r" (arg2), "r" (arg3) -+ -+#define OUTPUT_CONTRAINTS_4 \ -+ OUTPUT_CONTRAINTS_3, \ -+ "r" (arg4) -+ -+#define OUTPUT_CONTRAINTS_6 \ -+ OUTPUT_CONTRAINTS_3, \ -+ "r" (arg4), "r" (arg5), "r" (arg6) -+ -+#define SYSCALL(number_, nb_args, args...) \ -+ ({ \ -+ register word_t number asm("w8") = number_; \ -+ register word_t result asm("x0"); \ -+ PREPARE_ARGS_##nb_args(args) \ -+ asm volatile ( \ -+ "svc #0x00000000 \n\t" \ -+ : "=r" (result) \ -+ : "r" (number), \ -+ OUTPUT_CONTRAINTS_##nb_args \ -+ : "memory"); \ -+ result; \ -+ }) -+ -+#define OPENAT 56 -+#define CLOSE 57 -+#define MMAP 222 -+#define MMAP_OFFSET_SHIFT 0 -+#define EXECVE 221 -+#define EXIT 93 -+#define PRCTL 167 -+ diff --git a/disabled-packages/proot/src-loader-loader.c.patch b/disabled-packages/proot/src-loader-loader.c.patch deleted file mode 100644 index a8a5e2a7f..000000000 --- a/disabled-packages/proot/src-loader-loader.c.patch +++ /dev/null @@ -1,26 +0,0 @@ -See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788113 - -diff -N -u -r ../PRoot-5.1.0/src/loader/loader.c ./src/loader/loader.c ---- ../PRoot-5.1.0/src/loader/loader.c 2014-12-15 09:18:11.000000000 -0500 -+++ ./src/loader/loader.c 2016-01-08 20:16:54.746809929 -0500 -@@ -39,6 +39,8 @@ - # include "loader/assembly-x86_64.h" - #elif defined(ARCH_ARM_EABI) - # include "loader/assembly-arm.h" -+#elif defined(ARCH_ARM64) -+# include "loader/assembly-arm64.h" - #elif defined(ARCH_X86) - # include "loader/assembly-x86.h" - #else -@@ -134,7 +136,11 @@ - /* Fall through. */ - - case LOAD_ACTION_OPEN: -+#ifdef OPENAT -+ fd = SYSCALL(OPENAT, 4, AT_FDCWD, stmt->open.string_address, O_RDONLY, 0); -+#else - fd = SYSCALL(OPEN, 3, stmt->open.string_address, O_RDONLY, 0); -+#endif - if (unlikely((int) fd < 0)) - FATAL(); - diff --git a/ndk_patches/pwd.patch b/ndk_patches/pwd.patch index b302e8f8f..1447c38ea 100644 --- a/ndk_patches/pwd.patch +++ b/ndk_patches/pwd.patch @@ -1,6 +1,6 @@ diff -u -r /home/fornwall/lib/android-ndk/platforms/android-21/arch-arm/usr/include/pwd.h ./usr/include/pwd.h ---- /home/fornwall/lib/android-ndk/platforms/android-21/arch-arm/usr/include/pwd.h 2014-10-14 22:53:49.000000000 -0400 -+++ ./usr/include/pwd.h 2015-07-15 09:42:32.974621965 -0400 +--- /home/fornwall/lib/android-ndk/platforms/android-21/arch-arm/usr/include/pwd.h 2016-03-03 16:54:24.000000000 -0500 ++++ ./usr/include/pwd.h 2016-03-10 08:11:16.795710172 -0500 @@ -65,6 +65,10 @@ #include #include @@ -12,10 +12,11 @@ diff -u -r /home/fornwall/lib/android-ndk/platforms/android-21/arch-arm/usr/incl #define _PATH_PASSWD "/etc/passwd" #define _PATH_MASTERPASSWD "/etc/master.passwd" #define _PATH_MASTERPASSWD_LOCK "/etc/ptmp" -@@ -119,6 +122,36 @@ +@@ -119,7 +123,40 @@ int getpwnam_r(const char*, struct passwd*, char*, size_t, struct passwd**); int getpwuid_r(uid_t, struct passwd*, char*, size_t, struct passwd**); +-void endpwent(void); +static void android_setup_pwd(struct passwd* pw) { + static char realpath_buffer[4096/*PATH_MAX*/]; + char* result = realpath("@TERMUX_HOME@/.termux/shell", realpath_buffer); @@ -28,6 +29,9 @@ diff -u -r /home/fornwall/lib/android-ndk/platforms/android-21/arch-arm/usr/incl + } + pw->pw_dir = "@TERMUX_HOME@"; + pw->pw_passwd = "*"; ++#ifdef __LP64__ ++ pw->pw_gecos = ""; /* Avoid NULL field. */ ++#endif +} + +static struct passwd* android_polyfill_getpwuid(uid_t t) { @@ -46,6 +50,6 @@ diff -u -r /home/fornwall/lib/android-ndk/platforms/android-21/arch-arm/usr/incl + +#define getpwnam android_polyfill_getpwnam +#define getpwuid android_polyfill_getpwuid - void endpwent(void); ++static void endpwent(void) { /* Do nothing. */ } struct passwd* getpwent(void); int setpwent(void); diff --git a/ndk_patches/stdlib.h.patch b/ndk_patches/stdlib.h.patch new file mode 100644 index 000000000..c48d874ab --- /dev/null +++ b/ndk_patches/stdlib.h.patch @@ -0,0 +1,14 @@ +diff -u -r /home/fornwall/lib/android-ndk/platforms/android-21/arch-arm64/usr/include/stdlib.h ./usr/include/stdlib.h +--- /home/fornwall/lib/android-ndk/platforms/android-21/arch-arm64/usr/include/stdlib.h 2016-03-03 16:54:24.000000000 -0500 ++++ ./usr/include/stdlib.h 2016-03-22 16:38:58.589340159 -0400 +@@ -161,8 +161,8 @@ + extern int wctomb(char *, wchar_t); + extern size_t wcstombs(char *, const wchar_t *, size_t); + +-extern size_t __ctype_get_mb_cur_max(void); +-#define MB_CUR_MAX __ctype_get_mb_cur_max() ++/* Termux modification: Always utf-8. */ ++#define MB_CUR_MAX 4 + + __END_DECLS + diff --git a/ndk_patches/sys-user.h.patch b/ndk_patches/sys-user.h.patch index fa4861ba6..73f2578af 100644 --- a/ndk_patches/sys-user.h.patch +++ b/ndk_patches/sys-user.h.patch @@ -15,23 +15,3 @@ diff -u -r /home/fornwall/lib/android-ndk/platforms/android-21/arch-arm64/usr/in #elif defined(__x86_64__) struct user_fpregs_struct { -@@ -234,7 +240,18 @@ - - #elif defined(__aarch64__) - --// There are no user structures for 64 bit arm. -+/* From https://codereview.chromium.org/1291983003 */ -+struct user_regs_struct { -+ __u64 regs[31]; -+ __u64 sp; -+ __u64 pc; -+ __u64 pstate; -+}; -+struct user_fpsimd_struct { -+ __uint128_t vregs[32]; -+ __u32 fpsr; -+ __u32 fpcr; -+}; - - #else - diff --git a/packages/abduco/build.sh b/packages/abduco/build.sh index c6fe107a9..7912ef8e8 100644 --- a/packages/abduco/build.sh +++ b/packages/abduco/build.sh @@ -1,6 +1,6 @@ TERMUX_PKG_HOMEPAGE=http://www.brain-dump.org/projects/abduco/ TERMUX_PKG_DESCRIPTION="Clean and simple terminal session manager" -TERMUX_PKG_VERSION=0.5 +TERMUX_PKG_VERSION=0.6 TERMUX_PKG_SRCURL=http://www.brain-dump.org/projects/abduco/abduco-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_BUILD_IN_SRC=yes TERMUX_PKG_DEPENDS="libutil,dvtm" diff --git a/packages/apt/apt-pkg-deb-debindexfile.cc.patch b/packages/apt/apt-pkg-deb-debindexfile.cc.patch new file mode 100644 index 000000000..91a19e46e --- /dev/null +++ b/packages/apt/apt-pkg-deb-debindexfile.cc.patch @@ -0,0 +1,14 @@ +diff -u -r ../apt-1.2.3/apt-pkg/deb/debindexfile.cc ./apt-pkg/deb/debindexfile.cc +--- ../apt-1.2.3/apt-pkg/deb/debindexfile.cc 2016-02-10 12:02:45.000000000 -0500 ++++ ./apt-pkg/deb/debindexfile.cc 2016-02-18 02:44:56.707323056 -0500 +@@ -26,8 +26,10 @@ + + #include + #include ++#include + #include + #include ++#include + + #include + /*}}}*/ diff --git a/packages/apt/apt-pkg-edsp-edspsystem.cc.patch b/packages/apt/apt-pkg-edsp-edspsystem.cc.patch deleted file mode 100644 index f04bda05b..000000000 --- a/packages/apt/apt-pkg-edsp-edspsystem.cc.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -u -r ../apt-1.1.3/apt-pkg/edsp/edspsystem.cc ./apt-pkg/edsp/edspsystem.cc ---- ../apt-1.1.3/apt-pkg/edsp/edspsystem.cc 2015-11-30 03:08:24.000000000 -0500 -+++ ./apt-pkg/edsp/edspsystem.cc 2015-12-03 16:33:49.052450163 -0500 -@@ -21,6 +21,7 @@ - - #include - #include -+#include /* For mkdtemp */ - - #include - #include diff --git a/packages/apt/build.sh b/packages/apt/build.sh index 399fabff0..a4243fe0a 100644 --- a/packages/apt/build.sh +++ b/packages/apt/build.sh @@ -1,14 +1,14 @@ TERMUX_PKG_HOMEPAGE=https://packages.debian.org/apt TERMUX_PKG_DESCRIPTION="Front-end for the dpkg package manager" TERMUX_PKG_DEPENDS="liblzma, libgnustl, dpkg, gnupg" -TERMUX_PKG_VERSION=1.2.1 -TERMUX_PKG_BUILD_REVISION=1 +TERMUX_PKG_VERSION=1.2.6 TERMUX_PKG_SRCURL=http://ftp.debian.org/debian/pool/main/a/apt/apt_${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--host=${TERMUX_ARCH}-linux --disable-rpath acl_cv_rpath=$TERMUX_PREFIX/lib gt_cv_func_CFPreferencesCopyAppValue=no gt_cv_func_CFLocaleCopyCurrent=no ac_cv_c_bigendian=no --no-create" # When ready to drop bz2 support: TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" ac_cv_lib_bz2_BZ2_bzopen=no" TERMUX_PKG_FOLDERNAME=apt-${TERMUX_PKG_VERSION} TERMUX_PKG_ESSENTIAL=yes +TERMUX_PKG_CONFFILES="etc/apt/sources.list" # $NDK/docs/STANDALONE-TOOLCHAIN.html: "If you use the GNU libstdc++, you will need to explicitly link with libsupc++ if you use these features" export LDFLAGS="$LDFLAGS -lgnustl_shared" # -lsupc++" diff --git a/packages/aria2/a2io.h.patch b/packages/aria2/a2io.h.patch index 82d1beb20..750759797 100644 --- a/packages/aria2/a2io.h.patch +++ b/packages/aria2/a2io.h.patch @@ -1,12 +1,12 @@ -diff -u -r ../aria2-1.18.8/src/a2io.h ./src/a2io.h ---- ../aria2-1.18.8/src/a2io.h 2014-09-11 12:24:10.000000000 -0400 -+++ ./src/a2io.h 2014-12-21 13:11:23.147655665 -0500 -@@ -149,7 +149,7 @@ - # define a2fstat(fd, buf) fstat64(fd, buf) +diff -u -r ../aria2-1.20.0/src/a2io.h ./src/a2io.h +--- ../aria2-1.20.0/src/a2io.h 2016-02-15 10:36:34.000000000 -0500 ++++ ./src/a2io.h 2016-03-07 18:34:51.855777471 -0500 +@@ -148,7 +148,7 @@ + #define a2fstat(fd, buf) fstat64(fd, buf) // # define a2ftell(fd): No ftell64 and not used in aria2 - # define a2_struct_stat struct stat --# define a2stat(path, buf) stat64(path, buf) -+# define a2stat(path, buf) stat(path, buf) - # define a2mkdir(path, openMode) mkdir(path, openMode) - # define a2utimbuf utimbuf - # define a2utime(path, times) ::utime(path, times) + #define a2_struct_stat struct stat +-#define a2stat(path, buf) stat64(path, buf) ++#define a2stat(path, buf) stat(path, buf) + #define a2mkdir(path, openMode) mkdir(path, openMode) + #define a2utimbuf utimbuf + #define a2utime(path, times) ::utime(path, times) diff --git a/packages/aria2/build.sh b/packages/aria2/build.sh index 5b736d337..083ae01a1 100644 --- a/packages/aria2/build.sh +++ b/packages/aria2/build.sh @@ -1,7 +1,6 @@ TERMUX_PKG_HOMEPAGE=http://aria2.sourceforge.net/ TERMUX_PKG_DESCRIPTION="Multi-protocol & multi-source command-line download utility supporting HTTP/HTTPS, FTP, BitTorrent and Metalink" -TERMUX_PKG_VERSION=1.19.3 -TERMUX_PKG_BUILD_REVISION=1 +TERMUX_PKG_VERSION=1.20.0 TERMUX_PKG_SRCURL=https://github.com/tatsuhiro-t/aria2/releases/download/release-$TERMUX_PKG_VERSION/aria2-${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_DEPENDS="c-ares, openssl, libxml2, libgnustl" # sqlite3 is only used for loading cookies from firefox or chrome: diff --git a/packages/asciinema/Makefile.patch b/packages/asciinema/Makefile.patch index 0b1bd3b72..9c509540b 100644 --- a/packages/asciinema/Makefile.patch +++ b/packages/asciinema/Makefile.patch @@ -1,22 +1,14 @@ -diff -u -r ../asciinema-1.1.1/Makefile ./Makefile ---- ../asciinema-1.1.1/Makefile 2015-06-21 17:58:14.000000000 +0200 -+++ ./Makefile 2015-08-20 01:39:05.000000000 +0200 -@@ -1,6 +1,6 @@ - NAME=asciinema - VERSION=$(shell grep 'const Version' main.go | awk -F '"' '{print $$2}') --COMMIT=$(shell git rev-parse --short HEAD) -+COMMIT=1.1.1 - - DIRS=bin - INSTALL_DIRS=`find $(DIRS) -type d 2>/dev/null` -@@ -14,8 +14,8 @@ +diff -u -r ../asciinema-1.2.0/Makefile ./Makefile +--- ../asciinema-1.2.0/Makefile 2016-02-22 06:00:31.000000000 -0500 ++++ ./Makefile 2016-03-07 18:42:26.516807994 -0500 +@@ -13,8 +13,8 @@ all: build -build: test -- go build -o bin/asciinema -ldflags "-X main.GitCommit $(COMMIT)" +- go build -o bin/asciinema +build: -+ go build -o bin/asciinema -ldflags "-extldflags=-pie -X main.GitCommit $(COMMIT)" ++ go build -o bin/asciinema -ldflags "-extldflags=-pie" test: go test ./... diff --git a/packages/asciinema/build.sh b/packages/asciinema/build.sh index 6e4219fce..08a1ae43f 100644 --- a/packages/asciinema/build.sh +++ b/packages/asciinema/build.sh @@ -1,7 +1,6 @@ TERMUX_PKG_HOMEPAGE=https://asciinema.org/ TERMUX_PKG_DESCRIPTION="Record and share your terminal sessions, the right way" -TERMUX_PKG_VERSION=1.1.1 -TERMUX_PKG_BUILD_REVISION=1 +TERMUX_PKG_VERSION=1.2.0 TERMUX_PKG_SRCURL=https://github.com/asciinema/asciinema/archive/v${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_FOLDERNAME=asciinema-${TERMUX_PKG_VERSION} TERMUX_PKG_BUILD_IN_SRC=yes @@ -18,4 +17,7 @@ termux_step_make_install () { cd $GOPATH/src/github.com/asciinema/asciinema PREFIX=$TERMUX_PREFIX make build PREFIX=$TERMUX_PREFIX make install + + mkdir -p $TERMUX_PREFIX/share/man/man1/ + cp $TERMUX_PKG_SRCDIR/man/asciinema.1 $TERMUX_PREFIX/share/man/man1/ } diff --git a/packages/bash-completion/build.sh b/packages/bash-completion/build.sh index c01501367..e57896b6b 100644 --- a/packages/bash-completion/build.sh +++ b/packages/bash-completion/build.sh @@ -1,7 +1,7 @@ -TERMUX_PKG_HOMEPAGE=https://bash-completion.alioth.debian.org/ +TERMUX_PKG_HOMEPAGE=https://github.com/scop/bash-completion TERMUX_PKG_DESCRIPTION="Programmable completion for the bash shell" -TERMUX_PKG_VERSION=2.1 -TERMUX_PKG_BUILD_REVISION=1 -TERMUX_PKG_SRCURL=https://bash-completion.alioth.debian.org/files/bash-completion-${TERMUX_PKG_VERSION}.tar.bz2 +TERMUX_PKG_VERSION=2.2 +TERMUX_PKG_SRCURL=https://github.com/scop/bash-completion/releases/download/${TERMUX_PKG_VERSION}/bash-completion-${TERMUX_PKG_VERSION}.tar.xz +TERMUX_PKG_FOLDERNAME=bash-completion-${TERMUX_PKG_VERSION} TERMUX_PKG_DEPENDS="bash" TERMUX_PKG_PLATFORM_INDEPENDENT=yes diff --git a/packages/bash-completion/words-bad-array-subscript.patch b/packages/bash-completion/words-bad-array-subscript.patch deleted file mode 100644 index 7cbccedba..000000000 --- a/packages/bash-completion/words-bad-array-subscript.patch +++ /dev/null @@ -1,23 +0,0 @@ -From: Barry Warsaw -Subject: Fix bash: words: bad array subscript -Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/bash-completion/+bug/1289597 -Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=741479 -Origin: vendor, https://bugs.launchpad.net/ubuntu/+source/bash-completion/+bug/1289597 -Forwarded: yes, <20140312212729.17788.38099.reportbug@samba4.Chuck.local> - ---- - bash_completion | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- bash-completion.orig/bash_completion -+++ bash-completion/bash_completion -@@ -718,7 +718,7 @@ _init_completion() - fi - done - -- [[ $cword -eq 0 ]] && return 1 -+ [[ $cword -le 0 ]] && return 1 - prev=${words[cword-1]} - - [[ ${split-} ]] && _split_longopt && split=true - diff --git a/packages/bash/build.sh b/packages/bash/build.sh index a088bd2e4..081daac99 100755 --- a/packages/bash/build.sh +++ b/packages/bash/build.sh @@ -4,13 +4,16 @@ TERMUX_PKG_DEPENDS="ncurses, readline, libandroid-support, termux-tools, command _MAIN_VERSION=4.3 _PATCH_VERSION=42 TERMUX_PKG_VERSION=${_MAIN_VERSION}.${_PATCH_VERSION} -TERMUX_PKG_BUILD_REVISION=6 +TERMUX_PKG_BUILD_REVISION=7 TERMUX_PKG_SRCURL=http://ftp.gnu.org/gnu/bash/bash-${_MAIN_VERSION}.tar.gz TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--enable-multibyte --without-bash-malloc --with-installed-readline ac_cv_header_grp_h=no ac_cv_header_pwd_h=no ac_cv_rl_version=6.3" TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" bash_cv_job_control_missing=present" TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" bash_cv_sys_siglist=yes" TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" bash_cv_func_sigsetjmp=present" TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" bash_cv_unusable_rtsigs=no" +# Use bash_cv_dev_fd=whacky to use /proc/self/fd instead of /dev/fd. +# After making this change process substitution such as in 'cat <(ls)' works. +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" bash_cv_dev_fd=whacky" TERMUX_PKG_RM_AFTER_INSTALL="share/man/man1/bashbug.1 bin/bashbug" diff --git a/packages/bison/build.sh b/packages/bison/build.sh index 5a6c50c7f..6a7598876 100644 --- a/packages/bison/build.sh +++ b/packages/bison/build.sh @@ -1,6 +1,9 @@ TERMUX_PKG_HOMEPAGE=http://www.gnu.org/software/bison/ TERMUX_PKG_DESCRIPTION="General-purpose parser generator" TERMUX_PKG_VERSION=3.0.4 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=http://ftp.gnu.org/gnu/bison/bison-${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_BUILD_IN_SRC=yes TERMUX_PKG_HOSTBUILD=true + +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="M4=m4" diff --git a/packages/busybox/build.sh b/packages/busybox/build.sh index 5f73f8475..2a8ac8dce 100755 --- a/packages/busybox/build.sh +++ b/packages/busybox/build.sh @@ -2,7 +2,7 @@ TERMUX_PKG_HOMEPAGE=http://www.busybox.net/ TERMUX_PKG_DESCRIPTION="Tiny versions of many common UNIX utilities into a single small executable" TERMUX_PKG_ESSENTIAL=yes TERMUX_PKG_VERSION=1.24.1 -TERMUX_PKG_BUILD_REVISION=1 +TERMUX_PKG_BUILD_REVISION=3 TERMUX_PKG_SRCURL=http://www.busybox.net/downloads/busybox-${TERMUX_PKG_VERSION}.tar.bz2 TERMUX_PKG_BUILD_IN_SRC=yes diff --git a/packages/busybox/busybox.config b/packages/busybox/busybox.config index c9cd964d4..66df65191 100644 --- a/packages/busybox/busybox.config +++ b/packages/busybox/busybox.config @@ -586,7 +586,7 @@ CONFIG_HD=y CONFIG_LSUSB=y # CONFIG_MKSWAP is not set # CONFIG_FEATURE_MKSWAP_UUID is not set -# CONFIG_MORE is not set +CONFIG_MORE=y # CONFIG_MOUNT is not set # CONFIG_FEATURE_MOUNT_FAKE is not set # CONFIG_FEATURE_MOUNT_VERBOSE is not set diff --git a/packages/busybox/editors-diff.c.patch b/packages/busybox/editors-diff.c.patch new file mode 100644 index 000000000..fd5023c77 --- /dev/null +++ b/packages/busybox/editors-diff.c.patch @@ -0,0 +1,12 @@ +diff -u -r ../busybox-1.24.1/editors/diff.c ./editors/diff.c +--- ../busybox-1.24.1/editors/diff.c 2015-10-11 09:31:50.000000000 -0400 ++++ ./editors/diff.c 2016-02-08 05:23:45.890302334 -0500 +@@ -734,7 +734,7 @@ + * When we meet non-seekable file, we must make a temp copy. + */ + if (lseek(fd, 0, SEEK_SET) == -1 && errno == ESPIPE) { +- char name[] = "/tmp/difXXXXXX"; ++ char name[] = "@TERMUX_PREFIX@/tmp/difXXXXXX"; + int fd_tmp = xmkstemp(name); + + unlink(name); diff --git a/packages/busybox/include-platform.h.patch b/packages/busybox/include-platform.h.patch new file mode 100644 index 000000000..cd525a308 --- /dev/null +++ b/packages/busybox/include-platform.h.patch @@ -0,0 +1,18 @@ +The r11 of NDK removed dprintf. + +diff -u -r ../busybox-1.24.1/include/platform.h ./include/platform.h +--- ../busybox-1.24.1/include/platform.h 2015-07-13 04:18:47.000000000 +0200 ++++ ./include/platform.h 2016-03-10 11:47:06.000000000 +0100 +@@ -480,11 +480,7 @@ + #endif + + #if defined(ANDROID) || defined(__ANDROID__) +-# if __ANDROID_API__ < 8 +-# undef HAVE_DPRINTF +-# else +-# define dprintf fdprintf +-# endif ++# undef HAVE_DPRINTF + # if __ANDROID_API__ < 21 + # undef HAVE_TTYNAME_R + # undef HAVE_GETLINE diff --git a/packages/busybox/include-platform.h.patch64 b/packages/busybox/include-platform.h.patch64 deleted file mode 100644 index fa5b6e1b3..000000000 --- a/packages/busybox/include-platform.h.patch64 +++ /dev/null @@ -1,14 +0,0 @@ -fdprintf() does not exist in 64-bit bionic. - -diff -u -r ../busybox-1.24.1/include/platform.h ./include/platform.h ---- ../busybox-1.24.1/include/platform.h 2015-07-12 22:18:47.000000000 -0400 -+++ ./include/platform.h 2015-11-26 16:14:37.061610995 -0500 -@@ -480,7 +480,7 @@ - #endif - - #if defined(ANDROID) || defined(__ANDROID__) --# if __ANDROID_API__ < 8 -+# if __ANDROID_API__ < 8 || defined(__LP64__) - # undef HAVE_DPRINTF - # else - # define dprintf fdprintf diff --git a/packages/c-ares/build.sh b/packages/c-ares/build.sh index acc4e3d19..3a45a6229 100644 --- a/packages/c-ares/build.sh +++ b/packages/c-ares/build.sh @@ -1,5 +1,4 @@ TERMUX_PKG_HOMEPAGE=http://c-ares.haxx.se/ TERMUX_PKG_DESCRIPTION="C library for asynchronous DNS requests (including name resolves)" -TERMUX_PKG_VERSION=1.10.0 +TERMUX_PKG_VERSION=1.11.0 TERMUX_PKG_SRCURL=http://c-ares.haxx.se/download/c-ares-${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_BUILD_REVISION=1 diff --git a/packages/clang/Makefile.patch b/packages/clang/Makefile.patch new file mode 100644 index 000000000..e497da96f --- /dev/null +++ b/packages/clang/Makefile.patch @@ -0,0 +1,11 @@ +diff -u -r ../llvm-3.8.0.src/Makefile ./Makefile +--- ../llvm-3.8.0.src/Makefile 2014-03-25 17:45:41.000000000 -0400 ++++ ./Makefile 2016-03-10 16:28:00.142389801 -0500 +@@ -69,7 +69,6 @@ + ifeq ($(MAKECMDGOALS),install-clang) + DIRS := tools/clang/tools/driver tools/clang/lib/Headers \ + tools/clang/tools/libclang \ +- tools/clang/tools/c-index-test \ + tools/clang/include/clang-c \ + tools/clang/runtime tools/clang/docs \ + tools/lto diff --git a/packages/clang/build.sh b/packages/clang/build.sh index 91038e5cd..d4dd316ac 100644 --- a/packages/clang/build.sh +++ b/packages/clang/build.sh @@ -1,11 +1,12 @@ TERMUX_PKG_HOMEPAGE=http://clang.llvm.org/ TERMUX_PKG_DESCRIPTION="C and C++ frontend for the LLVM compiler" -_PKG_MAJOR_VERSION=3.7 -TERMUX_PKG_VERSION=${_PKG_MAJOR_VERSION}.1 +_PKG_MAJOR_VERSION=3.8 +TERMUX_PKG_VERSION=${_PKG_MAJOR_VERSION}.0 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=http://llvm.org/releases/${TERMUX_PKG_VERSION}/llvm-${TERMUX_PKG_VERSION}.src.tar.xz TERMUX_PKG_HOSTBUILD=true TERMUX_PKG_RM_AFTER_INSTALL="bin/macho-dump bin/bugpoint bin/llvm-tblgen lib/BugpointPasses.so lib/LLVMHello.so" -TERMUX_PKG_DEPENDS="binutils, libgnustl, ncurses, ndk-sysroot" +TERMUX_PKG_DEPENDS="binutils, libgnustl, ncurses, ndk-sysroot, libgcc" termux_step_post_extract_package () { CLANG_SRC_TAR=cfe-${TERMUX_PKG_VERSION}.src.tar.xz @@ -32,8 +33,6 @@ termux_step_host_build () { } termux_step_configure () { - CXXFLAGS+=" -fno-devirtualize" # Avoid hitting https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61659 - cd $TERMUX_PKG_BUILDDIR LLVM_DEFAULT_TARGET_TRIPLE=$TERMUX_HOST_PLATFORM LLVM_TARGET_ARCH=$TERMUX_ARCH diff --git a/packages/clang/dont-build-c-index-test.patch b/packages/clang/dont-build-c-index-test.patch index 3f4ce0af0..6558f9cf0 100644 --- a/packages/clang/dont-build-c-index-test.patch +++ b/packages/clang/dont-build-c-index-test.patch @@ -1,11 +1,11 @@ diff -u -r ../orig-src/tools/clang/tools/CMakeLists.txt ./tools/clang/tools/CMakeLists.txt ---- ../orig-src/tools/clang/tools/CMakeLists.txt 2014-03-06 11:07:50.000000000 +0100 -+++ ./tools/clang/tools/CMakeLists.txt 2014-03-06 11:06:10.000000000 +0100 -@@ -3,7 +3,6 @@ - add_subdirectory(clang-format) - add_subdirectory(clang-format-vs) +--- ../orig-src/tools/clang/tools/CMakeLists.txt 2016-01-12 21:03:50.000000000 -0500 ++++ ./tools/clang/tools/CMakeLists.txt 2016-03-10 16:32:04.320055824 -0500 +@@ -6,7 +6,6 @@ + add_clang_subdirectory(clang-format-vs) + add_clang_subdirectory(clang-fuzzer) --add_subdirectory(c-index-test) - add_subdirectory(libclang) +-add_clang_subdirectory(c-index-test) + add_clang_subdirectory(libclang) if(CLANG_ENABLE_ARCMT) diff --git a/packages/cmake/build.sh b/packages/cmake/build.sh index e02c8408c..69d0c59a3 100644 --- a/packages/cmake/build.sh +++ b/packages/cmake/build.sh @@ -1,7 +1,7 @@ TERMUX_PKG_HOMEPAGE=http://www.cmake.org/ TERMUX_PKG_DESCRIPTION="Family of tools designed to build, test and package software" _MAJOR_VERSION=3.4 -TERMUX_PKG_VERSION=${_MAJOR_VERSION}.1 +TERMUX_PKG_VERSION=${_MAJOR_VERSION}.3 TERMUX_PKG_SRCURL=http://www.cmake.org/files/v${_MAJOR_VERSION}/cmake-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_DEPENDS="libarchive, libcurl, libexpat, ncurses, jsoncpp" diff --git a/packages/command-not-found/build.sh b/packages/command-not-found/build.sh index 3abe6f154..4facef11d 100644 --- a/packages/command-not-found/build.sh +++ b/packages/command-not-found/build.sh @@ -1,6 +1,6 @@ TERMUX_PKG_HOMEPAGE=http://termux.com TERMUX_PKG_DESCRIPTION="Suggest installation of packages in interactive shell sessions" -TERMUX_PKG_VERSION=1.3 +TERMUX_PKG_VERSION=1.5 termux_step_make_install () { TERMUX_LIBEXEC_DIR=$TERMUX_PREFIX/libexec/termux diff --git a/packages/command-not-found/commands.h b/packages/command-not-found/commands.h index b00294930..51b4439c1 100644 --- a/packages/command-not-found/commands.h +++ b/packages/command-not-found/commands.h @@ -1,6 +1,8 @@ char const* const commands[] = { "aapt", " aapt", +"abduco", +" abduco", "angband", " angband", "apt", @@ -74,7 +76,7 @@ char const* const commands[] = { "clang", " clang", " clang++", -" clang-3.7", +" clang-3.8", " clang-check", " clang-cl", " clang-format", @@ -92,6 +94,7 @@ char const* const commands[] = { " llvm-dis", " llvm-dsymutil", " llvm-dwarfdump", +" llvm-dwp", " llvm-extract", " llvm-lib", " llvm-link", @@ -106,10 +109,14 @@ char const* const commands[] = { " llvm-readobj", " llvm-rtdyld", " llvm-size", +" llvm-split", " llvm-stress", " llvm-symbolizer", " obj2yaml", " opt", +" sancov", +" scan-build", +" scan-view", " verify-uselistorder", " yaml2obj", "cmake", @@ -130,7 +137,6 @@ char const* const commands[] = { " chgrp", " chmod", " chown", -" chroot", " cksum", " comm", " coreutils", @@ -225,6 +231,9 @@ char const* const commands[] = { " corkscrew", "cppi", " cppi", +"ctags", +" ctags", +" readtags", "curl", " curl", "curseofwar", @@ -271,8 +280,12 @@ char const* const commands[] = { " dropbearconvert", " dropbearkey", " dropbearmulti", +"dvtm", +" dvtm", +" dvtm-status", +"elinks", +" elinks", "emacs", -" ctags", " ebrowse", " emacs", " emacsclient", @@ -324,15 +337,14 @@ char const* const commands[] = { " fzf", " fzf-tmux", "g++", +" arm-linux-androideabi-g++", " g++", "gawk", " awk", " gawk", "gcc", -" arm-linux-androideabi-c++", -" arm-linux-androideabi-g++", " arm-linux-androideabi-gcc", -" arm-linux-androideabi-gcc-4.9.3", +" arm-linux-androideabi-gcc-5.3.0", " arm-linux-androideabi-gcc-ar", " arm-linux-androideabi-gcc-nm", " arm-linux-androideabi-gcc-ranlib", @@ -340,6 +352,7 @@ char const* const commands[] = { " gcc", "gcov", " gcov", +" gcov-tool", "gdb", " gcore", " gdb", @@ -397,7 +410,6 @@ char const* const commands[] = { " gpg-connect-agent", " gpg2", " gpgconf", -" gpgkey2ssh", " gpgparsemail", " gpgsm", " gpgtar", @@ -627,6 +639,8 @@ char const* const commands[] = { " lynx", "m4", " m4", +"macchanger", +" macchanger", "make", " make", "man", @@ -669,6 +683,10 @@ char const* const commands[] = { " tset", "neovim", " nvim", +"netcat", +" nc", +" ncat", +" netcat", "netpbm", " 411toppm", " anytopnm", @@ -1037,7 +1055,6 @@ char const* const commands[] = { " pkcs1-conv", " sexp-conv", "nmap", -" ncat", " nmap", " nping", "nodejs", @@ -1071,11 +1088,6 @@ char const* const commands[] = { " 7zr", "pango", " pango-view", -"parallel", -" niceload", -" parallel", -" sem", -" sql", "patch", " patch", "pathpicker", @@ -1115,9 +1127,6 @@ char const* const commands[] = { " xsubpp", " zipdetails", "php", -" pear", -" peardev", -" pecl", " phar", " phar.phar", " php", @@ -1164,6 +1173,9 @@ char const* const commands[] = { " vmstat", " w", " watch", +"proot", +" proot", +" termux-chroot", "protobuf", " protoc", "psmisc", @@ -1266,6 +1278,7 @@ char const* const commands[] = { "taskwarrior", " task", "tcl", +" sqlite3_analyzer", " tclsh", " tclsh8.6", "tcpdump", @@ -1291,8 +1304,13 @@ char const* const commands[] = { "termux-tools", " am", " chsh", +" dalvikvm", " df", +" getprop", +" logcat", +" ping", " pm", +" su", " termux-elf-cleaner", " termux-fix-shebang", " termux-open-url", @@ -1303,6 +1321,8 @@ char const* const commands[] = { " teseq", "tig", " tig", +"tinyscheme", +" tinyscheme", "tmux", " tmux", "toilet", @@ -1311,12 +1331,13 @@ char const* const commands[] = { " tracepath", " tracepath6", "transmission", -" transmission-cli", " transmission-create", " transmission-daemon", " transmission-edit", " transmission-remote", " transmission-show", +"tree", +" tree", "ttyrec", " ttyplay", " ttyrec", @@ -1324,8 +1345,6 @@ char const* const commands[] = { "units", " units", " units_cur", -"unnethack", -" unnethack", "unrar", " unrar", "unzip", @@ -1364,6 +1383,10 @@ char const* const commands[] = { " weechat", "wget", " wget", +"wol", +" wol", +" wol-bootptab", +" wol-dhcpdconf", "x264", " x264", "xmlstarlet", @@ -1418,6 +1441,13 @@ char const* const commands[] = { " ecj", "jack", " jack", +"parallel", +" niceload", +" parallel", +" sem", +" sql", +"pass", +" pass", "ranger", " ranger", " rifle", diff --git a/packages/coreutils/build.sh b/packages/coreutils/build.sh index 39e0f35ba..5b0f022bf 100755 --- a/packages/coreutils/build.sh +++ b/packages/coreutils/build.sh @@ -1,12 +1,13 @@ TERMUX_PKG_HOMEPAGE=http://www.gnu.org/software/coreutils/ TERMUX_PKG_DESCRIPTION="Basic file, shell and text manipulation utilities from the GNU project" TERMUX_PKG_VERSION=8.25 +TERMUX_PKG_BUILD_REVISION=2 TERMUX_PKG_SRCURL=http://ftp.gnu.org/gnu/coreutils/coreutils-${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_EXTRA_CONFIGURE_ARGS="ac_cv_func_mkfifo=yes gl_cv_host_operating_system=Android --without-gmp --enable-single-binary=symlinks ac_cv_func_endpwent=no" # pinky has no usage on Android. # realpath has permission denied problem with relative paths, let busybox version prevail. # df does not work either, let system binary prevail. -TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --enable-no-install-program=pinky,realpath,df" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --enable-no-install-program=pinky,realpath,df,chroot" TERMUX_PKG_EXTRA_HOSTBUILD_CONFIGURE_ARGS="$TERMUX_PKG_EXTRA_CONFIGURE_ARGS" TERMUX_PKG_BUILD_IN_SRC=yes # Host build for man pages generated by help2man, see makefile.patch: diff --git a/packages/ctags/build.sh b/packages/ctags/build.sh new file mode 100644 index 000000000..64ba434cb --- /dev/null +++ b/packages/ctags/build.sh @@ -0,0 +1,14 @@ +TERMUX_PKG_HOMEPAGE=https://ctags.io/ +TERMUX_PKG_DESCRIPTION="Universal ctags: Source code index builder" +TERMUX_PKG_VERSION=0.0.20160317 +_COMMIT=6126cb13375fd659e53e7cd9a943446f72048c07 +TERMUX_PKG_SRCURL=https://github.com/universal-ctags/ctags/archive/${_COMMIT}.zip +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--enable-tmpdir=$TERMUX_PREFIX/tmp" +TERMUX_PKG_FOLDERNAME=ctags-$_COMMIT +TERMUX_PKG_BUILD_IN_SRC="yes" + +termux_step_post_extract_package () { + export regcomp_works=yes + cd $TERMUX_PKG_SRCDIR + ./autogen.sh +} diff --git a/packages/dialog/build.sh b/packages/dialog/build.sh index ca81b007b..8f1d93dad 100755 --- a/packages/dialog/build.sh +++ b/packages/dialog/build.sh @@ -1,7 +1,7 @@ TERMUX_PKG_DESCRIPTION="Application used in shell scripts which displays text user interface widgets" TERMUX_PKG_HOMEPAGE=http://invisible-island.net/dialog/ TERMUX_PKG_DEPENDS="ncurses" -TERMUX_PKG_VERSION="1.3-20160126" +TERMUX_PKG_VERSION="1.3-20160209" TERMUX_PKG_SRCURL=http://invisible-island.net/datafiles/release/dialog.tar.gz # This will break when a new version is released (the URL unfortunately does not change) TERMUX_PKG_FOLDERNAME="dialog-$TERMUX_PKG_VERSION" diff --git a/packages/dnsutils/build.sh b/packages/dnsutils/build.sh index 5b52b5b61..466dfd5ed 100644 --- a/packages/dnsutils/build.sh +++ b/packages/dnsutils/build.sh @@ -2,10 +2,10 @@ TERMUX_PKG_HOMEPAGE=https://www.isc.org/downloads/bind/ TERMUX_PKG_DESCRIPTION="Clients provided with BIND" # NOTE: When changing this version, you also needo to change TERMUX_PKG_SRCURL # and TERMUX_PKG_FOLDERNAME. -TERMUX_PKG_VERSION=9.10.3.3 -# TERMUX_PKG_SRCURL="https://www.isc.org/downloads/file/bind-9-10-3-p2/?version=tar-gz" -TERMUX_PKG_SRCURL="https://ftp.isc.org/isc/bind/cur/9.10/bind-9.10.3-P3.tar.gz" -TERMUX_PKG_FOLDERNAME="bind-9.10.3-P3" +_PATCHLEVEL=4 +TERMUX_PKG_VERSION=9.10.3.$_PATCHLEVEL +TERMUX_PKG_SRCURL="https://ftp.isc.org/isc/bind/cur/9.10/bind-9.10.3-P${_PATCHLEVEL}.tar.gz" +TERMUX_PKG_FOLDERNAME="bind-9.10.3-P${_PATCHLEVEL}" TERMUX_PKG_DEPENDS="openssl, readline, resolv-conf" TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" --with-gssapi=no --with-randomdev=/dev/random -with-ecdsa=no --with-gost=no --with-libxml2=no --with-libtool" diff --git a/packages/dpkg/build.sh b/packages/dpkg/build.sh index b6840d705..a03d24567 100755 --- a/packages/dpkg/build.sh +++ b/packages/dpkg/build.sh @@ -1,6 +1,7 @@ TERMUX_PKG_HOMEPAGE=https://packages.debian.org/dpkg TERMUX_PKG_DESCRIPTION="Debian package management system" TERMUX_PKG_VERSION=1.18.4 +TERMUX_PKG_BUILD_REVISION=2 TERMUX_PKG_SRCURL=http://ftp.debian.org/debian/pool/main/d/dpkg/dpkg_${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-dselect --disable-shared --disable-start-stop-daemon --disable-largefile --disable-update-alternatives --host=${TERMUX_ARCH}-linux --without-selinux dpkg_cv_c99_snprintf=yes ac_cv_lib_selinux_setexecfilecon=no HAVE_SETEXECFILECON_FALSE=#" TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --without-bz2" diff --git a/packages/dpkg/lib-dpkg-atomic-file.c.patch b/packages/dpkg/lib-dpkg-atomic-file.c.patch index 79f0156f0..a4cf91a03 100644 --- a/packages/dpkg/lib-dpkg-atomic-file.c.patch +++ b/packages/dpkg/lib-dpkg-atomic-file.c.patch @@ -1,16 +1,19 @@ diff -u -r ../dpkg-1.18.2/lib/dpkg/atomic-file.c ./lib/dpkg/atomic-file.c --- ../dpkg-1.18.2/lib/dpkg/atomic-file.c 2015-07-12 22:38:47.000000000 -0400 +++ ./lib/dpkg/atomic-file.c 2015-08-25 18:06:51.689715379 -0400 -@@ -90,8 +90,11 @@ +@@ -90,8 +90,14 @@ if (unlink(name_old) && errno != ENOENT) ohshite(_("error removing old backup file '%s'"), name_old); - if (link(file->name, name_old) && errno != ENOENT) - ohshite(_("error creating new backup file '%s'"), name_old); ++#ifdef __ANDROID__ ++ /* Termux: Use rename(2) since Android does not support hardlinks. */ ++ if (rename(file->name, name_old) && errno != ENOENT) { ++#else + if (link(file->name, name_old) && errno != ENOENT) { -+ /* Termux modification: Try with rename(2) for systems not supporting hardlinks. */ -+ if (rename(file->name, name_old)) -+ ohshite(_("error creating new backup file '%s'"), name_old); ++#endif ++ ohshite(_("error creating new backup file '%s'"), name_old); + } free(name_old); diff --git a/packages/dpkg/lib-dpkg-dpkg.h.patch b/packages/dpkg/lib-dpkg-dpkg.h.patch new file mode 100644 index 000000000..a3a85e5cf --- /dev/null +++ b/packages/dpkg/lib-dpkg-dpkg.h.patch @@ -0,0 +1,12 @@ +diff -u -r ../dpkg-1.18.4/lib/dpkg/dpkg.h ./lib/dpkg/dpkg.h +--- ../dpkg-1.18.4/lib/dpkg/dpkg.h 2015-12-12 15:49:24.000000000 -0500 ++++ ./lib/dpkg/dpkg.h 2016-03-03 17:30:57.812372682 -0500 +@@ -92,7 +92,7 @@ + #define MAXUPDATES 250 + + #define DEFAULTSHELL "sh" +-#define DEFAULTPAGER "pager" ++#define DEFAULTPAGER "less" + + #define MD5HASHLEN 32 + #define MAXTRIGDIRECTIVE 256 diff --git a/packages/dpkg/src-configure.c.patch b/packages/dpkg/src-configure.c.patch new file mode 100644 index 000000000..b5863759d --- /dev/null +++ b/packages/dpkg/src-configure.c.patch @@ -0,0 +1,16 @@ +diff -u -r ../dpkg-1.18.4/src/configure.c ./src/configure.c +--- ../dpkg-1.18.4/src/configure.c 2015-11-26 18:53:41.000000000 -0500 ++++ ./src/configure.c 2016-03-03 17:41:42.494272593 -0500 +@@ -496,8 +496,10 @@ + pkg_name(pkg, pnaw_nonambig), cdr2.buf, + strerror(errno)); + if (!(what & CFOF_USER_DEL)) +- if (link(cdr.buf, cdr2.buf)) +- warning(_("%s: failed to link '%.250s' to '%.250s': %s"), ++ /** Termux modification: Use rename(2) instead of link(2), to avoid hard ++ links which does not work on Android 6.0 or later. */ ++ if (rename(cdr.buf, cdr2.buf)) ++ warning(_("%s: failed to rename '%.250s' to '%.250s': %s"), + pkg_name(pkg, pnaw_nonambig), cdr.buf, + cdr2.buf, strerror(errno)); + /* Fall through. */ diff --git a/packages/emacs/Makefile.in.patch b/packages/emacs/Makefile.in.patch deleted file mode 100644 index 89e1898d3..000000000 --- a/packages/emacs/Makefile.in.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -u -r ../emacs-24.5/Makefile.in ./Makefile.in ---- ../emacs-24.5/Makefile.in 2015-04-02 03:23:06.000000000 -0400 -+++ ./Makefile.in 2015-08-03 19:41:45.006522243 -0400 -@@ -307,7 +307,7 @@ - sed < ${srcdir}/src/epaths.in > epaths.h.$$$$ \ - -e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'"$${standardlisppath}"'";' \ - -e 's;\(#.*PATH_SITELOADSEARCH\).*$$;\1 "'"$${locallisppath}"'";' \ -- -e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "'"$${buildlisppath}"'";' \ -+ -e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "'"$${standardlisppath}"'";' \ - -e 's;\(#.*PATH_EXEC\).*$$;\1 "${archlibdir}";' \ - -e 's;\(#.*PATH_INFO\).*$$;\1 "${infodir}";' \ - -e 's;\(#.*PATH_DATA\).*$$;\1 "${etcdir}";' \ diff --git a/packages/emacs/build.sh b/packages/emacs/build.sh index 0118cfd59..bee625266 100644 --- a/packages/emacs/build.sh +++ b/packages/emacs/build.sh @@ -1,49 +1,35 @@ TERMUX_PKG_HOMEPAGE=http://www.gnu.org/software/emacs/ TERMUX_PKG_DESCRIPTION="Extensible, customizable text editor-and more" -TERMUX_PKG_VERSION=24.5 -TERMUX_PKG_BUILD_REVISION=2 -TERMUX_PKG_SRCURL=http://ftp.gnu.org/pub/gnu/emacs/emacs-${TERMUX_PKG_VERSION}.tar.xz +TERMUX_PKG_VERSION=25.0.92 +TERMUX_PKG_SRCURL=ftp://alpha.gnu.org/gnu/emacs/pretest/emacs-${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_DEPENDS="ncurses" TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--without-x --with-xpm=no --with-jpeg=no --with-png=no --with-gif=no --with-tiff=no --without-gconf --without-gsettings --without-all" +# Ensure use of system malloc: +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" emacs_cv_sanitize_address=yes" +# Prevent configure from adding -nopie: +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" emacs_cv_prog_cc_nopie=no" TERMUX_PKG_HOSTBUILD="yes" -# Note that we remove leim: -TERMUX_PKG_RM_AFTER_INSTALL="share/icons share/emacs/${TERMUX_PKG_VERSION}/etc/images share/applications/emacs.desktop share/emacs/${TERMUX_PKG_VERSION}/etc/emacs.desktop share/emacs/${TERMUX_PKG_VERSION}/etc/emacs.icon bin/grep-changelog share/man/man1/grep-changelog.1.gz share/emacs/${TERMUX_PKG_VERSION}/etc/refcards share/emacs/${TERMUX_PKG_VERSION}/etc/tutorials/TUTORIAL.* share/emacs/${TERMUX_PKG_VERSION}/leim" +# Remove some irrelevant files: +TERMUX_PKG_RM_AFTER_INSTALL="share/icons share/emacs/${TERMUX_PKG_VERSION}/etc/images share/applications/emacs.desktop share/emacs/${TERMUX_PKG_VERSION}/etc/emacs.desktop share/emacs/${TERMUX_PKG_VERSION}/etc/emacs.icon bin/grep-changelog share/man/man1/grep-changelog.1.gz share/emacs/${TERMUX_PKG_VERSION}/etc/refcards share/emacs/${TERMUX_PKG_VERSION}/etc/tutorials/TUTORIAL.*" -# http://www.gnu.org/software/emacs/manual/html_node/elisp/Building-Emacs.html#Building-Emacs -# "Compilation of the C source files in the src directory produces an executable file called temacs, also called a -# bare impure Emacs. It contains the Emacs Lisp interpreter and I/O routines, but not the editing commands. -# The command temacs -l loadup would run temacs and direct it to load loadup.el. The loadup library loads additional Lisp libraries, -# which set up the normal Emacs editing environment. After this step, the Emacs executable is no longer bare. -# Because it takes some time to load the standard Lisp files, the temacs executable usually isn't run directly by users. Instead, as -# one of the last steps of building Emacs, the command 'temacs -batch -l loadup dump' is run. The special 'dump' argument causes temacs -# to dump out an executable program, called emacs, which has all the standard Lisp files preloaded. (The '-batch' argument prevents -# temacs from trying to initialize any of its data on the terminal, so that the tables of terminal information are empty in the dumped Emacs.)" +# Remove ctags from the emacs package to prevent conflicting with +# the Universal Ctags from the 'ctags' package (the bin/etags +# program still remain in the emacs package): +TERMUX_PKG_RM_AFTER_INSTALL+=" bin/ctags share/man/man1/ctags.1" -########## FROM src/Makefile: -## The dumped Emacs is as functional and more efficient than -## bootstrap-emacs, so we replace the latter with the former. -## Strictly speaking, emacs does not depend directly on all of $lisp, -## since not all pieces are used on all platforms. But DOC depends -## on all of $lisp, and emacs depends on DOC, so it is ok to use $lisp here. -# emacs$(EXEEXT): temacs$(EXEEXT) $(etc)/DOC $(lisp) $(leimdir)/leim-list.el -# if test "$(CANNOT_DUMP)" = "yes"; then \ -# rm -f emacs$(EXEEXT); \ -# ln temacs$(EXEEXT) emacs$(EXEEXT); \ -# else \ -# LC_ALL=C $(RUN_TEMACS) -batch -l loadup dump || exit 1; \ -# test "X$(PAXCTL)" = X || $(PAXCTL) -zex emacs$(EXEEXT); \ -# rm -f bootstrap-emacs$(EXEEXT); \ -# ln emacs$(EXEEXT) bootstrap-emacs$(EXEEXT); \ -# fi - -# so emacs => temacs, and then it tries to execute emacs, leading to error - -# We can build without dump, but a bootstrap-emacs is still needed to produce bytecode-compiled (platform-independent) emacs lisp .elc files. +termux_step_post_extract_package () { + # XXX: We have to start with new host build each time + # to avoid build error when cross compiling. + rm -Rf $TERMUX_PKG_HOSTBUILD_DIR +} termux_step_host_build () { - $TERMUX_PKG_SRCDIR/configure $TERMUX_PKG_EXTRA_CONFIGURE_ARGS + # Build a bootstrap-emacs binary to be used in termux_step_post_configure. + $TERMUX_PKG_SRCDIR/configure --prefix=$TERMUX_PREFIX --without-x --with-xpm=no --with-jpeg=no \ + --with-png=no --with-tiff=no --without-gconf --without-gsettings --without-all make + export CANNOT_DUMP=yes } termux_step_post_configure () { @@ -54,10 +40,5 @@ termux_step_post_configure () { } termux_step_post_make_install () { - rm $TERMUX_PREFIX/bin/emacs $TERMUX_PREFIX/bin/emacs-$TERMUX_PKG_VERSION - echo "#!/$TERMUX_PREFIX/bin/sh" > $TERMUX_PREFIX/bin/emacs - echo "exec temacs -l loadup \$@" >> $TERMUX_PREFIX/bin/emacs - chmod +x $TERMUX_PREFIX/bin/emacs - cp $TERMUX_PKG_BUILDDIR/src/temacs $TERMUX_PREFIX/bin/temacs + cp $TERMUX_PKG_BUILDER_DIR/site-init.el $TERMUX_PREFIX/share/emacs/${TERMUX_PKG_VERSION}/lisp/emacs-lisp/ } - diff --git a/packages/emacs/lib-src-Makefile.in.patch b/packages/emacs/lib-src-Makefile.in.patch deleted file mode 100644 index b7c89541e..000000000 --- a/packages/emacs/lib-src-Makefile.in.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -u -r ../emacs-24.4/lib-src/Makefile.in ./lib-src/Makefile.in ---- ../emacs-24.4/lib-src/Makefile.in 2014-04-29 16:52:57.000000000 +0200 -+++ ./lib-src/Makefile.in 2014-11-01 12:29:44.881760880 +0100 -@@ -128,7 +128,7 @@ - UTILITIES = profile${EXEEXT} movemail${EXEEXT} hexl${EXEEXT} \ - update-game-score${EXEEXT} - --DONT_INSTALL= test-distrib${EXEEXT} make-docfile${EXEEXT} -+DONT_INSTALL= make-docfile${EXEEXT} - - # Like UTILITIES, but they're not system-dependent, and should not be - # deleted by the distclean target. -@@ -303,14 +303,6 @@ - TAGS: etags${EXEEXT} - etags *.[ch] - --## This verifies that the non-ASCII characters in the file \`testfile\' --## have not been clobbered by whatever means were used to copy and --## distribute Emacs. If they were clobbered, all the .elc files were --## clobbered too. --test-distrib${EXEEXT}: ${srcdir}/test-distrib.c -- $(CC) ${ALL_CFLAGS} -o test-distrib${EXEEXT} ${srcdir}/test-distrib.c -- ./test-distrib ${srcdir}/testfile -- - ../lib/libgnu.a: $(config_h) - cd ../lib && $(MAKE) libgnu.a - diff --git a/packages/emacs/lisp-loadup.el.patch.beforehostbuild b/packages/emacs/lisp-loadup.el.patch.beforehostbuild new file mode 100644 index 000000000..d76736222 --- /dev/null +++ b/packages/emacs/lisp-loadup.el.patch.beforehostbuild @@ -0,0 +1,32 @@ +diff -u -r ../emacs-25.0.92/lisp/loadup.el ./lisp/loadup.el +--- ../emacs-25.0.92/lisp/loadup.el 2016-03-02 05:21:42.000000000 -0500 ++++ ./lisp/loadup.el 2016-03-25 21:40:48.314906360 -0400 +@@ -1,3 +1,7 @@ ++;; Termux patch: See ++;; https://lists.gnu.org/archive/html/bug-gnu-emacs/2016-03/msg00471.html ++(setq-default bidi-display-reordering nil) ++ + ;;; loadup.el --- load up standardly loaded Lisp files for Emacs + + ;; Copyright (C) 1985-1986, 1992, 1994, 2001-2016 Free Software +@@ -110,6 +114,12 @@ + (load "format") + (load "bindings") + (load "window") ; Needed here for `replace-buffer-in-windows'. ++;; Termux patch: See ++;; https://lists.gnu.org/archive/html/bug-gnu-emacs/2016-03/msg00679.html ++;; We are now capable of resizing the mini-windows, so give the ++;; variable its advertised default value (it starts as nil, see ++;; xdisp.c). ++(setq resize-mini-windows 'grow-only) + (setq load-source-file-function 'load-with-code-conversion) + (load "files") + +@@ -465,3 +475,7 @@ + ;; End: + + ;;; loadup.el ends here ++ ++;; Termux patch: See ++;; https://lists.gnu.org/archive/html/bug-gnu-emacs/2016-03/msg00471.html ++(setq-default bidi-display-reordering t) diff --git a/packages/emacs/lisp-subr.el.patch.beforehostbuild b/packages/emacs/lisp-subr.el.patch.beforehostbuild new file mode 100644 index 000000000..28d90bdbc --- /dev/null +++ b/packages/emacs/lisp-subr.el.patch.beforehostbuild @@ -0,0 +1,21 @@ +diff -u -r ../emacs-25.0.92/lisp/subr.el ./lisp/subr.el +--- ../emacs-25.0.92/lisp/subr.el 2016-03-02 05:21:42.000000000 -0500 ++++ ./lisp/subr.el 2016-03-25 22:03:57.240066240 -0400 +@@ -2975,7 +2975,7 @@ + (declare (advertised-calling-convention (name buffer command) "23.1")) + (start-file-process + name buffer +- (if (file-remote-p default-directory) "/bin/sh" shell-file-name) ++ (if (file-remote-p default-directory) "@TERMUX_PREFIX@/bin/sh" shell-file-name) + (if (file-remote-p default-directory) "-c" shell-command-switch) + (mapconcat 'identity args " "))) + +@@ -3019,7 +3019,7 @@ + (declare (advertised-calling-convention + (command &optional infile buffer display) "24.5")) + (process-file +- (if (file-remote-p default-directory) "/bin/sh" shell-file-name) ++ (if (file-remote-p default-directory) "@TERMUX_PREFIX@/bin/sh" shell-file-name) + infile buffer display + (if (file-remote-p default-directory) "-c" shell-command-switch) + (mapconcat 'identity (cons command args) " "))) diff --git a/packages/emacs/lisp-term.el.patch.beforehostbuild b/packages/emacs/lisp-term.el.patch.beforehostbuild new file mode 100644 index 000000000..e025384b9 --- /dev/null +++ b/packages/emacs/lisp-term.el.patch.beforehostbuild @@ -0,0 +1,30 @@ +diff -u -r ../emacs-25.0.92/lisp/term.el ./lisp/term.el +--- ../emacs-25.0.92/lisp/term.el 2016-03-02 05:21:42.000000000 -0500 ++++ ./lisp/term.el 2016-03-25 22:01:42.366218150 -0400 +@@ -1346,7 +1346,7 @@ + (or explicit-shell-file-name + (getenv "ESHELL") + (getenv "SHELL") +- "/bin/sh")))) ++ "@TERMUX_PREFIX@/bin/sh")))) + (set-buffer (make-term "terminal" program)) + (term-mode) + (term-char-mode) +@@ -1466,7 +1466,7 @@ + ;; do the decoding by hand on the parts that are made of chars. + (coding-system-for-read 'binary)) + (apply 'start-process name buffer +- "/bin/sh" "-c" ++ "@TERMUX_PREFIX@/bin/sh" "-c" + (format "stty -nl echo rows %d columns %d sane 2>/dev/null;\ + if [ $1 = .. ]; then shift; fi; exec \"$@\"" + term-height term-width) +@@ -4108,7 +4108,7 @@ + (or explicit-shell-file-name + (getenv "ESHELL") + (getenv "SHELL") +- "/bin/sh")))) ++ "@TERMUX_PREFIX@/bin/sh")))) + + ;; Pick the name of the new buffer. + (setq term-ansi-buffer-name diff --git a/packages/emacs/site-init.el b/packages/emacs/site-init.el new file mode 100644 index 000000000..064a308b4 --- /dev/null +++ b/packages/emacs/site-init.el @@ -0,0 +1,2 @@ +; Enable terminal mouse events: +(xterm-mouse-mode 1) diff --git a/packages/emacs/src-Makefile.in.patch b/packages/emacs/src-Makefile.in.patch deleted file mode 100644 index b1e2f3040..000000000 --- a/packages/emacs/src-Makefile.in.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -u -r ../emacs-24.5/src/Makefile.in ./src/Makefile.in ---- ../emacs-24.5/src/Makefile.in 2015-04-02 03:23:06.000000000 -0400 -+++ ./src/Makefile.in 2015-08-03 19:25:48.870287123 -0400 -@@ -434,10 +434,7 @@ - rm -f emacs$(EXEEXT); \ - ln temacs$(EXEEXT) emacs$(EXEEXT); \ - else \ -- LC_ALL=C $(RUN_TEMACS) -batch -l loadup dump || exit 1; \ -- test "X$(PAXCTL)" = X || $(PAXCTL) -zex emacs$(EXEEXT); \ -- rm -f bootstrap-emacs$(EXEEXT); \ -- ln emacs$(EXEEXT) bootstrap-emacs$(EXEEXT); \ -+ cp temacs emacs; \ - fi - - ## We run make-docfile twice because the command line may get too long diff --git a/packages/emacs/src-callproc.c.patch b/packages/emacs/src-callproc.c.patch new file mode 100644 index 000000000..032c14306 --- /dev/null +++ b/packages/emacs/src-callproc.c.patch @@ -0,0 +1,12 @@ +diff -u -r ../emacs-25.0.92/src/callproc.c ./src/callproc.c +--- ../emacs-25.0.92/src/callproc.c 2016-03-02 05:21:43.000000000 -0500 ++++ ./src/callproc.c 2016-03-25 22:02:38.977310920 -0400 +@@ -1619,7 +1619,7 @@ + dir_warning ("arch-independent data dir", Vdata_directory); + + sh = getenv ("SHELL"); +- Vshell_file_name = build_string (sh ? sh : "/bin/sh"); ++ Vshell_file_name = build_string (sh ? sh : "@TERMUX_PREFIX@/bin/sh"); + + #ifdef DOS_NT + Vshared_game_score_directory = Qnil; diff --git a/packages/emacs/src-xdisp.c.patch b/packages/emacs/src-xdisp.c.patch new file mode 100644 index 000000000..614d66cd9 --- /dev/null +++ b/packages/emacs/src-xdisp.c.patch @@ -0,0 +1,21 @@ +See https://lists.gnu.org/archive/html/bug-gnu-emacs/2016-03/msg00679.html + +The other part of that patch is in lisp-loadup.el.patch + +diff -u -r ../emacs-25.0.92/src/xdisp.c ./src/xdisp.c +--- ../emacs-25.0.92/src/xdisp.c 2016-03-02 05:21:43.000000000 -0500 ++++ ./src/xdisp.c 2016-03-25 21:25:36.960819633 -0400 +@@ -31598,7 +31598,12 @@ + A value of `grow-only', the default, means let mini-windows grow only; + they return to their normal size when the minibuffer is closed, or the + echo area becomes empty. */); +- Vresize_mini_windows = Qgrow_only; ++ /* Contrary to the doc string, we initialize this to nil, so that ++ loading loadup.el won't try to resize windows before loading ++ window.el, where some functions we need to call for this live. ++ We assign the 'grow-only' value right after loading window.el ++ during loadup. */ ++ Vresize_mini_windows = Qnil; + + DEFVAR_LISP ("blink-cursor-alist", Vblink_cursor_alist, + doc: /* Alist specifying how to blink the cursor off. diff --git a/packages/emacs/unexelf.c.patch b/packages/emacs/unexelf.c.patch deleted file mode 100644 index 724d47369..000000000 --- a/packages/emacs/unexelf.c.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -u -r ../emacs-24.4/src/unexelf.c ./src/unexelf.c ---- ../emacs-24.4/src/unexelf.c 2014-03-21 01:34:40.000000000 -0400 -+++ ./src/unexelf.c 2015-01-01 15:26:13.000318635 -0500 -@@ -1323,7 +1323,7 @@ - if (stat (new_name, &stat_buf) != 0) - fatal ("Can't stat (%s): %s", new_name, strerror (errno)); - -- mask = umask (777); -+ mask = umask (0777); - umask (mask); - stat_buf.st_mode |= 0111 & ~mask; - if (chmod (new_name, stat_buf.st_mode) != 0) diff --git a/packages/ffmpeg/build.sh b/packages/ffmpeg/build.sh index a0692e429..1ad2ee033 100644 --- a/packages/ffmpeg/build.sh +++ b/packages/ffmpeg/build.sh @@ -1,32 +1,44 @@ TERMUX_PKG_HOMEPAGE=https://www.ffmpeg.org/ TERMUX_PKG_DESCRIPTION="Tools and libraries to manipulate a wide range of multimedia formats and protocols" -TERMUX_PKG_VERSION=2.8.5 -TERMUX_PKG_SRCURL=https://github.com/FFmpeg/FFmpeg/archive/n${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_FOLDERNAME=FFmpeg-n$TERMUX_PKG_VERSION +TERMUX_PKG_VERSION=3.0 +TERMUX_PKG_BUILD_REVISION=2 +TERMUX_PKG_SRCURL=https://github.com/FFmpeg/FFmpeg/releases/download/n${TERMUX_PKG_VERSION}/ffmpeg-${TERMUX_PKG_VERSION}.tar.xz +TERMUX_PKG_FOLDERNAME=ffmpeg-$TERMUX_PKG_VERSION # libbz2 is used by matroska decoder: -TERMUX_PKG_DEPENDS="openssl, libbz2, libx264, xvidcore, libvorbis, libfaac, liblzma" +TERMUX_PKG_DEPENDS="openssl, libbz2, libx264, xvidcore, libvorbis, libfaac, libmp3lame, liblzma" TERMUX_PKG_INCLUDE_IN_DEVPACKAGE="share/ffmpeg/examples" TERMUX_PKG_CONFLICTS="libav" termux_step_configure () { cd $TERMUX_PKG_BUILDDIR + + local _EXTRA_CONFIGURE_FLAGS="" if [ $TERMUX_ARCH = "arm" ]; then _ARCH="armeabi-v7a" + _EXTRA_CONFIGURE_FLAGS="--enable-neon" elif [ $TERMUX_ARCH = "i686" ]; then _ARCH="x86" - else + # Specify --disable-asm to prevent text relocations on i686, + # see https://trac.ffmpeg.org/ticket/4928 + _EXTRA_CONFIGURE_FLAGS="--disable-asm" + elif [ $TERMUX_ARCH = "aarch64" ]; then _ARCH=$TERMUX_ARCH + _EXTRA_CONFIGURE_FLAGS="--enable-neon" + else + echo "Unsupported arch $TERMUX_ARCH" + exit 1 fi - # --disable-asm to prevent text relocations + $TERMUX_PKG_SRCDIR/configure \ --arch=${_ARCH} \ --cross-prefix=${TERMUX_HOST_PLATFORM}- \ - --disable-asm \ + --disable-avdevice \ --disable-ffserver \ --disable-static \ --disable-symver \ --enable-cross-compile \ --enable-gpl \ + --enable-libmp3lame \ --enable-libfaac \ --enable-libvorbis \ --enable-libx264 \ @@ -35,6 +47,7 @@ termux_step_configure () { --enable-openssl \ --enable-shared \ --prefix=$TERMUX_PREFIX \ - --target-os=linux + --target-os=linux \ + $_EXTRA_CONFIGURE_FLAGS } diff --git a/packages/ffmpeg/configure.patch b/packages/ffmpeg/configure.patch new file mode 100644 index 000000000..48598fd2f --- /dev/null +++ b/packages/ffmpeg/configure.patch @@ -0,0 +1,19 @@ +Avoid issue with strtod on arm: + https://github.com/termux/termux-packages/issues/179 + +diff -u -r ../ffmpeg-3.0/configure ./configure +--- ../ffmpeg-3.0/configure 2016-02-14 21:29:37.000000000 -0500 ++++ ./configure 2016-03-24 20:44:33.472274113 -0400 +@@ -4814,12 +4814,6 @@ + probe_libc host_ + test -n "$host_libc_type" && enable host_libc_$host_libc_type + +-case $libc_type in +- bionic) +- add_compat strtod.o strtod=avpriv_strtod +- ;; +-esac +- + # hacks for compiler/libc/os combinations + + if enabled_all tms470 libc_glibc; then diff --git a/packages/fish/build.sh b/packages/fish/build.sh index 9aa9c8be5..499102ab0 100644 --- a/packages/fish/build.sh +++ b/packages/fish/build.sh @@ -1,12 +1,11 @@ TERMUX_PKG_HOMEPAGE=http://fishshell.com/ TERMUX_PKG_DESCRIPTION="Shell geared towards interactive use" -TERMUX_PKG_VERSION=2.2.`date "+%Y%m%d%H%M"` -# TERMUX_PKG_SRCURL=http://fishshell.com/files/${TERMUX_PKG_VERSION}/fish-${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_SRCURL=https://github.com/fish-shell/fish-shell/archive/master.zip -TERMUX_PKG_NO_SRC_CACHE=yes +_COMMIT=b1b2698a843b52ea18ae0f8fc1e5a2b6e003f409 +TERMUX_PKG_VERSION=2.2.201603181154 +TERMUX_PKG_SRCURL=https://github.com/fish-shell/fish-shell/archive/${_COMMIT}.zip TERMUX_PKG_DEPENDS="ncurses, libgnustl, libandroid-support" TERMUX_PKG_BUILD_IN_SRC=yes -TERMUX_PKG_FOLDERNAME=fish-shell-master +TERMUX_PKG_FOLDERNAME=fish-shell-$_COMMIT termux_step_pre_configure () { cd $TERMUX_PKG_SRCDIR diff --git a/packages/fish/env_universal_common.cpp.patch b/packages/fish/env_universal_common.cpp.patch index 73059c333..1e3bf8608 100644 --- a/packages/fish/env_universal_common.cpp.patch +++ b/packages/fish/env_universal_common.cpp.patch @@ -1,7 +1,16 @@ -diff -u -r ../fish-2.2.0/env_universal_common.cpp ./env_universal_common.cpp ---- ../fish-2.2.0/env_universal_common.cpp 2015-07-03 15:46:59.000000000 -0400 -+++ ./src/env_universal_common.cpp 2015-07-13 02:16:14.591286575 -0400 -@@ -1089,6 +1089,7 @@ +diff -u -r ../fish-shell-master/src/env_universal_common.cpp ./src/env_universal_common.cpp +--- ../fish-shell-master/src/env_universal_common.cpp 2016-03-09 07:07:04.000000000 -0500 ++++ ./src/env_universal_common.cpp 2016-03-12 15:47:14.502255105 -0500 +@@ -166,7 +166,7 @@ + } + + // /tmp/fish.user +- std::string tmpdir = "/tmp/fish."; ++ std::string tmpdir = "@TERMUX_PREFIX@/tmp/fish."; + tmpdir.append(uname); + if (check_runtime_path(tmpdir.c_str()) != 0) + { +@@ -1142,6 +1142,7 @@ return result; } @@ -9,7 +18,7 @@ diff -u -r ../fish-2.2.0/env_universal_common.cpp ./env_universal_common.cpp class universal_notifier_shmem_poller_t : public universal_notifier_t { /* This is what our shared memory looks like. Everything here is stored in network byte order (big-endian) */ -@@ -1251,6 +1252,7 @@ +@@ -1304,6 +1305,7 @@ } } }; @@ -17,7 +26,7 @@ diff -u -r ../fish-2.2.0/env_universal_common.cpp ./env_universal_common.cpp /* A notifyd-based notifier. Very straightforward. */ class universal_notifier_notifyd_t : public universal_notifier_t -@@ -1572,7 +1574,9 @@ +@@ -1625,7 +1627,9 @@ } options[] = { {"default", universal_notifier_t::strategy_default}, @@ -27,7 +36,7 @@ diff -u -r ../fish-2.2.0/env_universal_common.cpp ./env_universal_common.cpp {"pipe", universal_notifier_t::strategy_named_pipe}, {"notifyd", universal_notifier_t::strategy_notifyd} }; -@@ -1632,8 +1636,10 @@ +@@ -1687,8 +1691,10 @@ } switch (strat) { diff --git a/packages/fish/share-functions-fish_prompt.fish.patch b/packages/fish/share-functions-fish_prompt.fish.patch new file mode 100644 index 000000000..000cb36cd --- /dev/null +++ b/packages/fish/share-functions-fish_prompt.fish.patch @@ -0,0 +1,15 @@ +Avoid calling 'hostname' which may not exist (and will probably +return "localhost" anyway"). + +diff -u -r ../fish-shell-master/share/functions/fish_prompt.fish ./share/functions/fish_prompt.fish +--- ../fish-shell-master/share/functions/fish_prompt.fish 2016-03-12 15:26:01.000000000 -0500 ++++ ./share/functions/fish_prompt.fish 2016-03-13 17:49:30.550445275 -0400 +@@ -5,7 +5,7 @@ + function fish_prompt --description "Write out the prompt" + # Just calculate this once, to save a few cycles when displaying the prompt + if not set -q __fish_prompt_hostname +- set -g __fish_prompt_hostname (hostname|cut -d . -f 1) ++ set -g __fish_prompt_hostname "localhost" + end + + set -l color_cwd diff --git a/packages/fish/share-functions-help.fish.patch b/packages/fish/share-functions-help.fish.patch new file mode 100644 index 000000000..2e63a34b4 --- /dev/null +++ b/packages/fish/share-functions-help.fish.patch @@ -0,0 +1,12 @@ +diff -u -r ../fish-shell-master/share/functions/help.fish ./share/functions/help.fish +--- ../fish-shell-master/share/functions/help.fish 2016-03-12 15:26:01.000000000 -0500 ++++ ./share/functions/help.fish 2016-03-14 12:08:13.804718800 -0400 +@@ -125,7 +125,7 @@ + end + else + # Go to the web. Only include one dot in the version string +- set -l version_string (echo $FISH_VERSION| cut -d . -f 1,2) ++ set -l version_string current # Termux: We're building from git master for now. + set page_url http://fishshell.com/docs/$version_string/$fish_help_page + end + diff --git a/packages/freetype/build.sh b/packages/freetype/build.sh index b82856e55..b7025d3cd 100644 --- a/packages/freetype/build.sh +++ b/packages/freetype/build.sh @@ -1,6 +1,6 @@ TERMUX_PKG_HOMEPAGE=http://www.freetype.org/ TERMUX_PKG_DESCRIPTION="Software font engine capable of producing high-quality output" -TERMUX_PKG_VERSION=2.6.2 +TERMUX_PKG_VERSION=2.6.3 TERMUX_PKG_SRCURL=http://downloads.sourceforge.net/project/freetype/freetype2/${TERMUX_PKG_VERSION}/freetype-${TERMUX_PKG_VERSION}.tar.bz2 TERMUX_PKG_DEPENDS="libbz2, libpng" TERMUX_PKG_RM_AFTER_INSTALL="bin/freetype-config share/man/man1/freetype-config.1" diff --git a/packages/fzf/build.sh b/packages/fzf/build.sh index d3c38b2b5..768bf82ec 100644 --- a/packages/fzf/build.sh +++ b/packages/fzf/build.sh @@ -1,6 +1,6 @@ TERMUX_PKG_HOMEPAGE=https://github.com/junegunn/fzf TERMUX_PKG_DESCRIPTION="Command-line fuzzy finder" -TERMUX_PKG_VERSION=0.11.2 +TERMUX_PKG_VERSION=0.11.4 TERMUX_PKG_SRCURL=https://github.com/junegunn/fzf/archive/${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_FOLDERNAME=fzf-${TERMUX_PKG_VERSION} TERMUX_PKG_BUILD_IN_SRC="yes" @@ -45,7 +45,7 @@ termux_step_make_install () { cp $TERMUX_PKG_SRCDIR/plugin/fzf.vim $TERMUX_PREFIX/share/nvim/runtime/plugin/ } -termux_step_post_make_install () { +termux_step_post_massage () { # Remove so that the vim build doesn't add it to vim-runtime: rm $TERMUX_PREFIX/share/vim/vim74/plugin/fzf.vim } diff --git a/packages/gcc/build.sh b/packages/gcc/build.sh index 996436e1c..f98e07239 100755 --- a/packages/gcc/build.sh +++ b/packages/gcc/build.sh @@ -1,21 +1,27 @@ TERMUX_PKG_HOMEPAGE=http://gcc.gnu.org/ TERMUX_PKG_DESCRIPTION="GNU C compiler" -TERMUX_PKG_DEPENDS="binutils, libgmp, libmpfr, libmpc, ndk-sysroot" -TERMUX_PKG_VERSION=4.9.3 -TERMUX_PKG_BUILD_REVISION=5 +TERMUX_PKG_DEPENDS="binutils, libgmp, libmpfr, libmpc, ndk-sysroot, libgcc, libisl" +TERMUX_PKG_VERSION=5.3.0 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=ftp://ftp.fu-berlin.de/unix/languages/gcc/releases/gcc-${TERMUX_PKG_VERSION}/gcc-${TERMUX_PKG_VERSION}.tar.bz2 TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--enable-languages=c,c++ --with-system-zlib --disable-multilib --disable-lto" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --target=$TERMUX_HOST_PLATFORM" TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-gmp=$TERMUX_PREFIX --with-mpfr=$TERMUX_PREFIX --with-mpc=$TERMUX_PREFIX" # To build gcc as a PIE binary: TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-stage1-ldflags=\"-specs=$TERMUX_SCRIPTDIR/termux.spec\"" +# TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-isl-include=$TERMUX_PREFIX/include --with-isl-lib=$TERMUX_PREFIX/lib" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --disable-isl-version-check" + +# TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --without-headers --with-local-prefix=$TERMUX_PREFIX/include" # FIXME: gcc5 trying if [ "$TERMUX_ARCH" = "arm" ]; then TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-arch=armv7-a --with-fpu=neon --with-float=hard" +elif [ "$TERMUX_ARCH" = "aarch64" ]; then + TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-arch=armv8-a" elif [ "$TERMUX_ARCH" = "i686" ]; then # -mstackrealign -msse3 -m32 TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-arch=i686 --with-tune=atom --with-fpmath=sse" fi -TERMUX_PKG_KEEP_STATIC_LIBRARIES="true" -TERMUX_PKG_RM_AFTER_INSTALL="bin/gcc-ar bin/gcc-ranlib bin/c++ bin/gcc-nm lib/gcc/*-linux-*/${TERMUX_PKG_VERSION}/plugin lib/gcc/*-linux-*/${TERMUX_PKG_VERSION}/include-fixed lib/gcc/*-linux-*/$TERMUX_PKG_VERSION/install-tools libexec/gcc/*-linux-*/${TERMUX_PKG_VERSION}/plugin libexec/gcc/*-linux-*/${TERMUX_PKG_VERSION}/install-tools share/man/man7" +TERMUX_PKG_RM_AFTER_INSTALL="bin/gcc-ar bin/gcc-ranlib bin/*c++ bin/gcc-nm lib/gcc/*-linux-*/${TERMUX_PKG_VERSION}/plugin lib/gcc/*-linux-*/${TERMUX_PKG_VERSION}/include-fixed lib/gcc/*-linux-*/$TERMUX_PKG_VERSION/install-tools libexec/gcc/*-linux-*/${TERMUX_PKG_VERSION}/plugin libexec/gcc/*-linux-*/${TERMUX_PKG_VERSION}/install-tools share/man/man7" export AR_FOR_TARGET="$AR" export AS_FOR_TARGET="$AS" @@ -45,21 +51,13 @@ unset RANLIB termux_step_make () { make -j $TERMUX_MAKE_PROCESSES all-gcc - make -j $TERMUX_MAKE_PROCESSES all-target-libgcc } termux_step_make_install () { - make install-gcc - make install-target-libgcc + make install-gcc } termux_step_post_make_install () { - if [ $TERMUX_ARCH = "arm" ]; then - # Note that moving to $TERMUX_PREFIX/lib/gcc/arm-linux-androideabi/${TERMUX_PKG_VERSION}/ - # allows compilation but fails to link at runtime - mv $TERMUX_PREFIX/lib/armv7-a/hard/libgcc_s* $TERMUX_PREFIX/lib/ - fi - # Android 5.0 only supports PIE binaries, so build that by default with a specs file: local GCC_SPECS=$TERMUX_PREFIX/lib/gcc/$TERMUX_HOST_PLATFORM/$TERMUX_PKG_VERSION/specs cp $TERMUX_SCRIPTDIR/termux.spec $GCC_SPECS @@ -76,4 +74,10 @@ elf_i386 /system/bin/linker HERE fi + + # Replace hardlinks with symlinks: + cd $TERMUX_PREFIX/bin + rm ${TERMUX_HOST_PLATFORM}-g++; ln -s g++ ${TERMUX_HOST_PLATFORM}-g++ + rm ${TERMUX_HOST_PLATFORM}-gcc; ln -s gcc ${TERMUX_HOST_PLATFORM}-gcc + rm ${TERMUX_HOST_PLATFORM}-gcc-${TERMUX_PKG_VERSION}; ln -s gcc ${TERMUX_HOST_PLATFORM}-gcc-${TERMUX_PKG_VERSION} } diff --git a/packages/gcc/g++.subpackage.sh b/packages/gcc/g++.subpackage.sh index 4a6c964f0..f3d6e218d 100644 --- a/packages/gcc/g++.subpackage.sh +++ b/packages/gcc/g++.subpackage.sh @@ -1,3 +1,3 @@ -TERMUX_SUBPKG_INCLUDE="bin/g++ share/man/man1/g++.1 libexec/gcc/arm-linux-androideabi/4.9.2/cc1plus" +TERMUX_SUBPKG_INCLUDE="bin/g++ bin/*-g++ share/man/man1/g++.1" TERMUX_SUBPKG_DESCRIPTION="GNU C++ compiler" TERMUX_SUBPKG_DEPENDS="gcc,ndk-stl" diff --git a/packages/gcc/gcc-Makefile.in.patch b/packages/gcc/gcc-Makefile.in.patch deleted file mode 100644 index 2ef035c5b..000000000 --- a/packages/gcc/gcc-Makefile.in.patch +++ /dev/null @@ -1,58 +0,0 @@ -The first block is to install aliases such as arm-linux-androideabi-gcc->gcc -as symlinks instead of hard links. - -diff -u -r ../gcc-4.9.3/gcc/Makefile.in ./gcc/Makefile.in ---- ../gcc-4.9.3/gcc/Makefile.in 2014-10-16 09:50:42.000000000 -0400 -+++ ./gcc/Makefile.in 2015-08-16 18:12:44.446098799 -0400 -@@ -260,7 +260,7 @@ - INSTALL = @INSTALL@ - # Some systems may be missing symbolic links, regular links, or both. - # Allow configure to check this and use "ln -s", "ln", or "cp" as appropriate. --LN=@LN@ -+LN=@LN_S@ - LN_S=@LN_S@ - # These permit overriding just for certain files. - INSTALL_PROGRAM = @INSTALL_PROGRAM@ -@@ -2430,27 +2430,29 @@ - - gengtype-lex.o build/gengtype-lex.o : gengtype-lex.c gengtype.h $(SYSTEM_H) - gengtype-lex.o: $(CONFIG_H) $(BCONFIG_H) --CFLAGS-gengtype-lex.o += -DGENERATOR_FILE -+CFLAGS-build/gengtype-lex.o += -DGENERATOR_FILE - build/gengtype-lex.o: $(BCONFIG_H) - - gengtype-parse.o build/gengtype-parse.o : gengtype-parse.c gengtype.h \ - $(SYSTEM_H) - gengtype-parse.o: $(CONFIG_H) --CFLAGS-gengtype-parse.o += -DGENERATOR_FILE -+CFLAGS-build/gengtype-parse.o += -DGENERATOR_FILE - build/gengtype-parse.o: $(BCONFIG_H) - - gengtype-state.o build/gengtype-state.o: gengtype-state.c $(SYSTEM_H) \ - gengtype.h errors.h double-int.h version.h $(HASHTAB_H) $(OBSTACK_H) \ - $(XREGEX_H) - gengtype-state.o: $(CONFIG_H) --CFLAGS-gengtype-state.o += -DGENERATOR_FILE -+CFLAGS-gengtype-state.o += -DGENERATOR_FILE2 -+CFLAGS-build/gengtype-state.o += -DGENERATOR_FILE - build/gengtype-state.o: $(BCONFIG_H) - - gengtype.o build/gengtype.o : gengtype.c $(SYSTEM_H) gengtype.h \ - rtl.def insn-notes.def errors.h double-int.h version.h $(HASHTAB_H) \ - $(OBSTACK_H) $(XREGEX_H) - gengtype.o: $(CONFIG_H) --CFLAGS-gengtype.o += -DGENERATOR_FILE -+CFLAGS-gengtype.o += -DGENERATOR_FILE2 -+CFLAGS-build/gengtype.o += -DGENERATOR_FILE - build/gengtype.o: $(BCONFIG_H) - - build/genmddeps.o: genmddeps.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h \ -@@ -2515,7 +2517,7 @@ - # any system header is included. - gengtype-lex.c : gengtype-lex.l - -$(FLEX) $(FLEXFLAGS) -o$@ $< && { \ -- echo '#include "bconfig.h"' > $@.tmp; \ -+ echo '' > $@.tmp; \ - cat $@ >> $@.tmp; \ - mv $@.tmp $@; \ - } diff --git a/packages/gcc/gcc-config-aarch64-aarch64-linux-android.h.patch b/packages/gcc/gcc-config-aarch64-aarch64-linux-android.h.patch new file mode 100644 index 000000000..5a10924ec --- /dev/null +++ b/packages/gcc/gcc-config-aarch64-aarch64-linux-android.h.patch @@ -0,0 +1,65 @@ +From https://github.com/crystax/android-toolchain-gcc-5/commit/1e57465b9b81699ce8eb603dd4794a839a74c635 + +diff -N -u -r ../gcc-5.3.0/gcc/config/aarch64/aarch64-linux-android.h ./gcc/config/aarch64/aarch64-linux-android.h +--- ../gcc-5.3.0/gcc/config/aarch64/aarch64-linux-android.h 1969-12-31 19:00:00.000000000 -0500 ++++ ./gcc/config/aarch64/aarch64-linux-android.h 2016-03-19 21:08:15.423913071 -0400 +@@ -0,0 +1,59 @@ ++/* Machine description for AArch64 architecture. ++ Copyright (C) 2014 Free Software Foundation, Inc. ++ ++ This file is part of GCC. ++ ++ GCC is free software; you can redistribute it and/or modify it ++ under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 3, or (at your option) ++ any later version. ++ ++ GCC is distributed in the hope that it will be useful, but ++ WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with GCC; see the file COPYING3. If not see ++ . */ ++ ++#ifndef GCC_AARCH64_LINUX_ANDROID_H ++#define GCC_AARCH64_LINUX_ANDROID_H ++ ++ ++#undef TARGET_OS_CPP_BUILTINS ++#define TARGET_OS_CPP_BUILTINS() \ ++ do \ ++ { \ ++ GNU_USER_TARGET_OS_CPP_BUILTINS(); \ ++ ANDROID_TARGET_OS_CPP_BUILTINS(); \ ++ } \ ++ while (0) ++ ++#undef LINK_SPEC ++#define LINK_SPEC \ ++ LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC, \ ++ LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC) ++ ++#undef CC1_SPEC ++#define CC1_SPEC \ ++ LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ ++ GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC) ++ ++#define CC1PLUS_SPEC \ ++ LINUX_OR_ANDROID_CC ("", ANDROID_CC1PLUS_SPEC) ++ ++#undef LIB_SPEC ++#define LIB_SPEC \ ++ LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LIB_SPEC, \ ++ GNU_USER_TARGET_NO_PTHREADS_LIB_SPEC " " ANDROID_LIB_SPEC) ++ ++#undef STARTFILE_SPEC ++#define STARTFILE_SPEC \ ++ LINUX_OR_ANDROID_LD (GNU_USER_TARGET_STARTFILE_SPEC, ANDROID_STARTFILE_SPEC) ++ ++#undef ENDFILE_SPEC ++#define ENDFILE_SPEC \ ++ LINUX_OR_ANDROID_LD (GNU_USER_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC) ++ ++#endif /* GCC_AARCH64_LINUX_ANDROID_H */ diff --git a/packages/gcc/gcc-config-aarch64-aarch64-linux.h.patch b/packages/gcc/gcc-config-aarch64-aarch64-linux.h.patch new file mode 100644 index 000000000..11f2a8aab --- /dev/null +++ b/packages/gcc/gcc-config-aarch64-aarch64-linux.h.patch @@ -0,0 +1,18 @@ +From https://github.com/crystax/android-toolchain-gcc-5/commit/1e57465b9b81699ce8eb603dd4794a839a74c635 + +diff -u -r ../gcc-5.3.0/gcc/config/aarch64/aarch64-linux.h ./gcc/config/aarch64/aarch64-linux.h +--- ../gcc-5.3.0/gcc/config/aarch64/aarch64-linux.h 2015-07-24 12:00:26.000000000 -0400 ++++ ./gcc/config/aarch64/aarch64-linux.h 2016-03-19 21:35:07.467502590 -0400 +@@ -23,6 +23,12 @@ + + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" + ++/* Use /sysystem/bin/linker64 as linker instead of 32-bit /system/bin/linker */ ++#ifdef BIONIC_DYNAMIC_LINKER ++# undef BIONIC_DYNAMIC_LINKER ++#endif ++#define BIONIC_DYNAMIC_LINKER "/system/bin/linker64" ++ + #undef ASAN_CC1_SPEC + #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}" + diff --git a/packages/gcc/gcc-config.gcc.patch b/packages/gcc/gcc-config.gcc.patch new file mode 100644 index 000000000..d39fc1604 --- /dev/null +++ b/packages/gcc/gcc-config.gcc.patch @@ -0,0 +1,22 @@ +diff -u -r ../gcc-5.3.0/gcc/config.gcc ./gcc/config.gcc +--- ../gcc-5.3.0/gcc/config.gcc 2015-09-10 10:17:53.000000000 -0400 ++++ ./gcc/config.gcc 2016-03-19 21:07:44.888339715 -0400 +@@ -910,13 +910,17 @@ + TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'` + ;; + aarch64*-*-linux*) +- tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h" ++ tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h" + tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h" ++ extra_options="${extra_options} linux-android.opt" + tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux" + case $target in + aarch64_be-*) + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" + ;; ++ aarch64*-*-linux-android*) ++ tm_file="${tm_file} aarch64/aarch64-linux-android.h" ++ ;; + esac + aarch64_multilibs="${with_multilib_list}" + if test "$aarch64_multilibs" = "default"; then diff --git a/packages/gcc/gcc.patch b/packages/gcc/gcc.patch deleted file mode 100644 index e597de021..000000000 --- a/packages/gcc/gcc.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff -u -r ../gcc-4.8.2/libcpp/files.c ./libcpp/files.c ---- ../gcc-4.8.2/libcpp/files.c 2013-03-06 17:18:40.000000000 +0100 -+++ ./libcpp/files.c 2014-01-09 00:29:34.940181542 +0100 -@@ -716,11 +716,13 @@ - cpp_error (pfile, CPP_DL_WARNING, - "%s is shorter than expected", file->path); - -+ off_t ot = (off_t) &file->st.st_size; - file->buffer = _cpp_convert_input (pfile, - CPP_OPTION (pfile, input_charset), - buf, size + 16, total, - &file->buffer_start, -- &file->st.st_size); -+ &ot); -+ file->st.st_size = ot; - file->buffer_valid = true; - - return true; -diff -u -r ../gcc-4.8.2/libcpp/macro.c ./libcpp/macro.c ---- ../gcc-4.8.2/libcpp/macro.c 2013-01-14 19:13:59.000000000 +0100 -+++ ./libcpp/macro.c 2014-01-09 00:30:49.416179764 +0100 -@@ -245,8 +245,10 @@ - looks like "Sun Sep 16 01:03:52 1973". */ - struct tm *tb = NULL; - struct stat *st = _cpp_get_file_stat (file); -- if (st) -- tb = localtime (&st->st_mtime); -+ if (st) { -+ const time_t mtime = (const time_t) st->st_mtime; -+ tb = localtime (&mtime); -+ } - if (tb) - { - char *str = asctime (tb); -Index: gcc-4.8.1/gcc/double-int.h -=================================================================== ---- ../gcc-4.8.1.orig/gcc/double-int.h 2013-01-30 11:04:30.000000000 +0000 -+++ ./gcc/double-int.h 2013-08-19 11:41:51.564012719 +0000 -@@ -448,10 +448,12 @@ - - - #ifndef GENERATOR_FILE -+#ifndef GENERATOR_FILE2 - /* Conversion to and from GMP integer representations. */ - - void mpz_set_double_int (mpz_t, double_int, bool); - double_int mpz_get_double_int (const_tree, mpz_t, bool); - #endif -+#endif - - #endif /* DOUBLE_INT_H */ diff --git a/packages/gcc/gcov.subpackage.sh b/packages/gcc/gcov.subpackage.sh index 49dedd0c7..3d26c4c41 100644 --- a/packages/gcc/gcov.subpackage.sh +++ b/packages/gcc/gcov.subpackage.sh @@ -1,3 +1,3 @@ -TERMUX_SUBPKG_INCLUDE="bin/gcov share/man/man1/gcov.1 lib/gcc/arm-linux-androideabi/4.9.1/libgcov.a" +TERMUX_SUBPKG_INCLUDE="bin/gcov bin/gcov-tool share/man/man1/gcov.1 lib/gcc/arm-linux-androideabi/4.9.1/libgcov.a" TERMUX_SUBPKG_DESCRIPTION="GNU coverage testing tool" TERMUX_SUBPKG_DEPENDS="gcc" diff --git a/disabled-packages/gcc5/gcc.patch b/packages/gcc/libcpp-files.c.patch similarity index 52% rename from disabled-packages/gcc5/gcc.patch rename to packages/gcc/libcpp-files.c.patch index e86025746..832afe1c5 100644 --- a/disabled-packages/gcc5/gcc.patch +++ b/packages/gcc/libcpp-files.c.patch @@ -16,19 +16,3 @@ diff -u -r ../gcc-4.8.2/libcpp/files.c ./libcpp/files.c file->buffer_valid = true; return true; -diff -u -r ../gcc-4.8.2/libcpp/macro.c ./libcpp/macro.c ---- ../gcc-4.8.2/libcpp/macro.c 2013-01-14 19:13:59.000000000 +0100 -+++ ./libcpp/macro.c 2014-01-09 00:30:49.416179764 +0100 -@@ -245,8 +245,10 @@ - looks like "Sun Sep 16 01:03:52 1973". */ - struct tm *tb = NULL; - struct stat *st = _cpp_get_file_stat (file); -- if (st) -- tb = localtime (&st->st_mtime); -+ if (st) { -+ const time_t mtime = (const time_t) st->st_mtime; -+ tb = localtime (&mtime); -+ } - if (tb) - { - char *str = asctime (tb); diff --git a/packages/gcc/libcpp-macro.c.patch b/packages/gcc/libcpp-macro.c.patch new file mode 100644 index 000000000..0e00b41ed --- /dev/null +++ b/packages/gcc/libcpp-macro.c.patch @@ -0,0 +1,16 @@ +diff -u -r ../gcc-4.8.2/libcpp/macro.c ./libcpp/macro.c +--- ../gcc-4.8.2/libcpp/macro.c 2013-01-14 19:13:59.000000000 +0100 ++++ ./libcpp/macro.c 2014-01-09 00:30:49.416179764 +0100 +@@ -245,8 +245,10 @@ + looks like "Sun Sep 16 01:03:52 1973". */ + struct tm *tb = NULL; + struct stat *st = _cpp_get_file_stat (file); +- if (st) +- tb = localtime (&st->st_mtime); ++ if (st) { ++ const time_t mtime = (const time_t) st->st_mtime; ++ tb = localtime (&mtime); ++ } + if (tb) + { + char *str = asctime (tb); diff --git a/disabled-packages/gcc5/system.h.patch b/packages/gcc/system.h.patch similarity index 100% rename from disabled-packages/gcc5/system.h.patch rename to packages/gcc/system.h.patch diff --git a/packages/gdb/build.sh b/packages/gdb/build.sh index fbd73c4f4..e5c6b948c 100755 --- a/packages/gdb/build.sh +++ b/packages/gdb/build.sh @@ -1,7 +1,7 @@ TERMUX_PKG_HOMEPAGE=https://www.gnu.org/software/gdb/ TERMUX_PKG_DESCRIPTION="The standard GNU Debugger that runs on many Unix-like systems and works for many programming languages" TERMUX_PKG_DEPENDS="liblzma, libexpat, readline" -TERMUX_PKG_VERSION=7.10.1 +TERMUX_PKG_VERSION=7.11 TERMUX_PKG_SRCURL=http://ftp.gnu.org/gnu/gdb/gdb-${TERMUX_PKG_VERSION}.tar.xz # gdb can not build with our normal --disable-static: https://sourceware.org/bugzilla/show_bug.cgi?id=15916 TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-system-readline --with-curses --enable-static ac_cv_func_getpwent=no ac_cv_func_getpwnam=no" @@ -12,3 +12,15 @@ TERMUX_PKG_BUILD_IN_SRC="yes" # For frexp(3) usage: LDFLAGS+=" -lm" + +# Fix "undefined reference to 'rpl_gettimeofday'" when building on x86: +export gl_cv_func_gettimeofday_clobber=no +export gl_cv_func_gettimeofday_posix_signature=yes + +termux_step_post_extract_package () { + if [ $TERMUX_ARCH = aarch64 ]; then + # Fix problem with including : + mv $TERMUX_PKG_SRCDIR/sim/aarch64/{memory.h,memory_sim.h} + perl -p -i -e 's/memory.h/memory_sim.h/' $TERMUX_PKG_SRCDIR/sim/aarch64/*c + fi +} diff --git a/packages/gdb/gdb-arm-linux-nac.c.patch b/packages/gdb/gdb-arm-linux-nac.c.patch index 9fd6c5c4a..4f5838da2 100644 --- a/packages/gdb/gdb-arm-linux-nac.c.patch +++ b/packages/gdb/gdb-arm-linux-nac.c.patch @@ -1,14 +1,6 @@ diff -u -r ../gdb-7.10/gdb/arm-linux-nat.c ./gdb/arm-linux-nat.c --- ../gdb-7.10/gdb/arm-linux-nat.c 2015-08-28 17:22:07.000000000 -0400 +++ ./gdb/arm-linux-nat.c 2015-08-29 08:06:52.000680658 -0400 -@@ -34,7 +34,6 @@ - #include - #include - #include --#include - - #include "nat/linux-ptrace.h" - @@ -63,6 +62,10 @@ #define PTRACE_SETHBPREGS 30 #endif diff --git a/packages/gdb/gdb-gdbserver-configure.patch b/packages/gdb/gdb-gdbserver-configure.patch new file mode 100644 index 000000000..3ede86d36 --- /dev/null +++ b/packages/gdb/gdb-gdbserver-configure.patch @@ -0,0 +1,21 @@ +diff -u -r ../gdb-7.11/gdb/gdbserver/configure ./gdb/gdbserver/configure +--- ../gdb-7.11/gdb/gdbserver/configure 2016-02-09 22:19:39.000000000 -0500 ++++ ./gdb/gdbserver/configure 2016-03-10 10:17:40.111988028 -0500 +@@ -6735,17 +6735,6 @@ + + + case "${target}" in +- *-android*) +- # Starting with NDK version 9, actually includes definitions +- # of Elf32_auxv_t and Elf64_auxv_t. But sadly, includes +- # which defines some of the ELF types incorrectly, +- # leading to conflicts with the defintions from . +- # This makes it impossible for us to include both and +- # , which means that, in practice, we do not have +- # access to Elf32_auxv_t and Elf64_auxv_t on this platform. +- # Therefore, do not try to auto-detect availability, as it would +- # get it wrong on this platform. +- ;; + *) + ac_fn_c_check_type "$LINENO" "Elf32_auxv_t" "ac_cv_type_Elf32_auxv_t" "#include + diff --git a/packages/gdb/gdb-inflow.c.patch b/packages/gdb/gdb-inflow.c.patch new file mode 100644 index 000000000..4d9d8ebad --- /dev/null +++ b/packages/gdb/gdb-inflow.c.patch @@ -0,0 +1,18 @@ +diff -u -r ../gdb-7.10.1/gdb/inflow.c ./gdb/inflow.c +--- ../gdb-7.10.1/gdb/inflow.c 2015-12-05 10:16:45.000000000 -0500 ++++ ./gdb/inflow.c 2016-02-07 19:28:38.979181296 -0500 +@@ -862,10 +862,10 @@ + { + #if defined (HAVE_TERMIOS) || defined (TIOCGPGRP) + #ifdef HAVE_SETPGID +- /* The call setpgid (0, 0) is supposed to work and mean the same +- thing as this, but on Ultrix 4.2A it fails with EPERM (and +- setpgid (getpid (), getpid ()) succeeds). */ +- retval = setpgid (getpid (), getpid ()); ++ /* Termux change: setpgid(getpid(), getpid()), which is used upstream ++ for working around Ultrix 4.2A issue, does not work on Android but ++ fails with ESRCH. So revert back to simple setpgid(0,0). */ ++ retval = setpgid (0, 0); + #else + #ifdef HAVE_SETPGRP + #ifdef SETPGRP_VOID diff --git a/packages/gdb/gdb-solib.c.patch b/packages/gdb/gdb-solib.c.patch new file mode 100644 index 000000000..998b7ef04 --- /dev/null +++ b/packages/gdb/gdb-solib.c.patch @@ -0,0 +1,20 @@ +diff -u -r ../gdb-7.10.1/gdb/solib.c ./gdb/solib.c +--- ../gdb-7.10.1/gdb/solib.c 2015-12-05 10:16:45.000000000 -0500 ++++ ./gdb/solib.c 2016-02-07 17:29:11.431584611 -0500 +@@ -1703,6 +1703,16 @@ + add_alias_cmd ("solib-absolute-prefix", "sysroot", class_support, 0, + &showlist); + ++#ifdef __ANDROID__ ++ /* Termux modification to find system shared libraries. */ ++ solib_search_path = ++# ifdef __LP64__ ++ "/system/lib64:/system/vendor/lib64"; ++# else ++ "/system/lib:/system/vendor/lib"; ++# endif ++#endif ++ + add_setshow_optional_filename_cmd ("solib-search-path", class_support, + &solib_search_path, _("\ + Set the search path for loading non-absolute shared library symbol files."), diff --git a/packages/gdb/gdbserver_gdb_proc_service.h.patch b/packages/gdb/gdbserver_gdb_proc_service.h.patch deleted file mode 100644 index 2b71d3166..000000000 --- a/packages/gdb/gdbserver_gdb_proc_service.h.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -u -r ../gdb-7.8.1/gdb/gdbserver/gdb_proc_service.h ./gdb/gdbserver/gdb_proc_service.h ---- ../gdb-7.8.1/gdb/gdbserver/gdb_proc_service.h 2014-06-11 12:34:41.000000000 -0400 -+++ ./gdb/gdbserver/gdb_proc_service.h 2014-12-22 07:53:22.855702229 -0500 -@@ -38,6 +38,8 @@ - # endif - #endif - -+#include "../gregset.h" /* for elf_gregset_t */ -+ - typedef enum - { - PS_OK, /* Success. */ diff --git a/packages/gdb/i386-linux-nat.c.patch b/packages/gdb/i386-linux-nat.c.patch deleted file mode 100644 index cb67b2f38..000000000 --- a/packages/gdb/i386-linux-nat.c.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -u -r ../gdb-7.9/gdb/i386-linux-nat.c ./gdb/i386-linux-nat.c ---- ../gdb-7.9/gdb/i386-linux-nat.c 2015-02-19 06:58:07.000000000 -0500 -+++ ./gdb/i386-linux-nat.c 2015-03-17 18:14:06.728805213 -0400 -@@ -35,6 +35,11 @@ - - #include "x86-linux-nat.h" - -+#ifdef __ANDROID__ -+#include -+typedef fpregset_t elf_fpxregset_t; -+#endif -+ - /* The register sets used in GNU/Linux ELF core-dumps are identical to - the register sets in `struct user' that is used for a.out - core-dumps, and is also used by `ptrace'. The corresponding types diff --git a/packages/gdb/linux-arm-low.c.patch b/packages/gdb/linux-arm-low.c.patch deleted file mode 100644 index aded24b8f..000000000 --- a/packages/gdb/linux-arm-low.c.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -u -r ../gdb-7.8.1/gdb/gdbserver/linux-arm-low.c ./gdb/gdbserver/linux-arm-low.c ---- ../gdb-7.8.1/gdb/gdbserver/linux-arm-low.c 2014-10-29 15:45:50.000000000 -0400 -+++ ./gdb/gdbserver/linux-arm-low.c 2014-12-22 07:57:06.035702383 -0500 -@@ -26,6 +26,7 @@ - #endif - #include - #include -+#include /* for AT_HWCAP define */ - - /* Defined in auto-generated files. */ - void init_registers_arm (void); diff --git a/packages/gdb/linux-x86-low.c.patch b/packages/gdb/linux-x86-low.c.patch deleted file mode 100644 index 34653b75e..000000000 --- a/packages/gdb/linux-x86-low.c.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -u -r ../gdb-7.9/gdb/gdbserver/linux-x86-low.c ./gdb/gdbserver/linux-x86-low.c ---- ../gdb-7.9/gdb/gdbserver/linux-x86-low.c 2015-02-19 06:58:07.000000000 -0500 -+++ ./gdb/gdbserver/linux-x86-low.c 2015-03-17 18:29:50.412805866 -0400 -@@ -38,6 +38,11 @@ - #include "tracepoint.h" - #include "ax.h" - -+#ifdef __ANDROID__ -+#include -+typedef fpregset_t elf_fpxregset_t; -+#endif -+ - #ifdef __x86_64__ - /* Defined in auto-generated file amd64-linux.c. */ - void init_registers_amd64_linux (void); -@@ -113,7 +118,6 @@ - #endif - - #include --#include - #include - #include - diff --git a/packages/gdb/linux_low.patch b/packages/gdb/linux_low.patch deleted file mode 100644 index fb8d534e8..000000000 --- a/packages/gdb/linux_low.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff -u -r ../gdb-7.8.1/gdb/gdbserver/linux-low.c ./gdb/gdbserver/linux-low.c ---- ../gdb-7.8.1/gdb/gdbserver/linux-low.c 2014-10-29 15:45:50.000000000 -0400 -+++ ./gdb/gdbserver/linux-low.c 2014-12-22 07:51:39.355702157 -0500 -@@ -47,6 +47,7 @@ - #include "filestuff.h" - #include "tracepoint.h" - #include "hostio.h" -+#include /* For AT_PHDR and AT_PHNUM defines */ - #ifndef ELFMAG0 - /* Don't include here. If it got included by gdb_proc_service.h - then ELFMAG0 will have been defined. If it didn't get included by -@@ -108,7 +109,6 @@ - # include "linux-btrace.h" - #endif - --#ifndef HAVE_ELF32_AUXV_T - /* Copied from glibc's elf.h. */ - typedef struct - { -@@ -121,9 +121,7 @@ - on 64-bit platforms and vice versa. */ - } a_un; - } Elf32_auxv_t; --#endif - --#ifndef HAVE_ELF64_AUXV_T - /* Copied from glibc's elf.h. */ - typedef struct - { -@@ -136,7 +134,6 @@ - on 64-bit platforms and vice versa. */ - } a_un; - } Elf64_auxv_t; --#endif - - /* A list of all unknown processes which receive stop signals. Some - other process will presumably claim each of these as forked diff --git a/packages/gdb/linux_nat.patch b/packages/gdb/linux_nat.patch index 30671c907..276eef9be 100644 --- a/packages/gdb/linux_nat.patch +++ b/packages/gdb/linux_nat.patch @@ -1,14 +1,6 @@ diff -u -r ../gdb-7.7/gdb/linux-nat.c ./gdb/linux-nat.c --- ../gdb-7.7/gdb/linux-nat.c 2014-02-06 03:21:29.000000000 +0100 +++ ./gdb/linux-nat.c 2014-02-12 01:55:15.000000000 +0100 -@@ -41,7 +41,6 @@ - #include "inf-child.h" - #include "inf-ptrace.h" - #include "auxv.h" --#include /* for elf_gregset etc. */ - #include "elf-bfd.h" /* for elfcore_write_* */ - #include "gregset.h" /* for gregset */ - #include "gdbcore.h" /* for get_exec_file */ @@ -68,6 +67,10 @@ #include "target-descriptions.h" #include "filestuff.h" @@ -20,12 +12,3 @@ diff -u -r ../gdb-7.7/gdb/linux-nat.c ./gdb/linux-nat.c #ifndef SPUFS_MAGIC #define SPUFS_MAGIC 0x23c9b64e #endif -@@ -3789,7 +3792,7 @@ - if (last.kind == TARGET_WAITKIND_FORKED - || last.kind == TARGET_WAITKIND_VFORKED) - { -- ptrace (PT_KILL, ptid_get_pid (last.value.related_pid), 0, 0); -+ ptrace (PTRACE_KILL, ptid_get_pid (last.value.related_pid), 0, 0); - wait (&status); - - /* Let the arch-specific native code know this process is diff --git a/packages/gdb/nm-linux.h.patch b/packages/gdb/nm-linux.h.patch deleted file mode 100644 index 0a551a783..000000000 --- a/packages/gdb/nm-linux.h.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -u -r ../gdb-7.8.1/gdb/config/nm-linux.h ./gdb/config/nm-linux.h ---- ../gdb-7.8.1/gdb/config/nm-linux.h 2014-06-11 12:34:41.000000000 -0400 -+++ ./gdb/config/nm-linux.h 2014-12-22 07:45:14.127701891 -0500 -@@ -20,5 +20,20 @@ - /* Use elf_gregset_t and elf_fpregset_t, rather than - gregset_t and fpregset_t. */ - -+#ifndef NM_CONFIG_LINUX_H -+#define NM_CONFIG_LINUX_H -+ -+#include -+ -+#ifdef __arm__ -+/* Structure to describe FPU registers. */ -+typedef struct fpregset { } fpregset_t; -+#endif -+ -+typedef gregset_t elf_gregset_t; -+typedef fpregset_t elf_fpregset_t; -+ - #define GDB_GREGSET_T elf_gregset_t - #define GDB_FPREGSET_T elf_fpregset_t -+ -+#endif diff --git a/packages/gdb/proc_server_c_procfs.patch b/packages/gdb/proc_server_c_procfs.patch deleted file mode 100644 index 530bd738a..000000000 --- a/packages/gdb/proc_server_c_procfs.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -u -r ../gdb-7.6.2/gdb/proc-service.c ./gdb/proc-service.c ---- ../gdb-7.6.2/gdb/proc-service.c 2013-12-08 05:33:13.000000000 +0100 -+++ ./gdb/proc-service.c 2014-01-07 16:43:01.866311352 +0100 -@@ -27,7 +27,6 @@ - - #include "gdb_proc_service.h" - --#include - - /* Prototypes for supply_gregset etc. */ - #include "gregset.h" diff --git a/packages/gdb/x86-linux-nat.c.patch b/packages/gdb/x86-linux-nat.c.patch deleted file mode 100644 index 3f455c2f4..000000000 --- a/packages/gdb/x86-linux-nat.c.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -u -r ../gdb-7.9/gdb/x86-linux-nat.c ./gdb/x86-linux-nat.c ---- ../gdb-7.9/gdb/x86-linux-nat.c 2015-02-20 12:11:44.000000000 -0500 -+++ ./gdb/x86-linux-nat.c 2015-03-17 18:20:50.044805492 -0400 -@@ -23,7 +23,6 @@ - #include "gdb_proc_service.h" - #include - #include --#include - #include - - #include "x86-nat.h" -@@ -39,6 +38,11 @@ - #include "x86-xstate.h" - #include "nat/linux-btrace.h" - -+#ifdef __ANDROID__ -+#include -+typedef fpregset_t elf_fpxregset_t; -+#endif -+ - /* Per-thread arch-specific data we want to keep. */ - - struct arch_lwp_info diff --git a/packages/gdk-pixbuf/build.sh b/packages/gdk-pixbuf/build.sh index 3192f3e79..ac11fff6f 100644 --- a/packages/gdk-pixbuf/build.sh +++ b/packages/gdk-pixbuf/build.sh @@ -1,6 +1,6 @@ TERMUX_PKG_HOMEPAGE=https://developer.gnome.org/gdk-pixbuf/ TERMUX_PKG_DESCRIPTION="Library for image loading and manipulation" -TERMUX_PKG_VERSION=2.32.1 +TERMUX_PKG_VERSION=2.32.3 TERMUX_PKG_SRCURL=ftp://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.32/gdk-pixbuf-${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_DEPENDS="glib, libpng, libtiff, libjpeg-turbo" # Avoid runtime test which does not work when cross compiling: diff --git a/packages/git/build.sh b/packages/git/build.sh index 42cd02ce9..50e3c343b 100755 --- a/packages/git/build.sh +++ b/packages/git/build.sh @@ -2,21 +2,30 @@ TERMUX_PKG_HOMEPAGE=http://git-scm.com/ TERMUX_PKG_DESCRIPTION="Distributed version control system designed to handle everything from small to very large projects with speed and efficiency" # less is required as a pager for git log, and the busybox less does not handle used escape sequences. TERMUX_PKG_DEPENDS="libcurl, less" -TERMUX_PKG_VERSION=2.7.0 -TERMUX_PKG_BUILD_REVISION=2 +TERMUX_PKG_VERSION=2.7.4 TERMUX_PKG_SRCURL=https://www.kernel.org/pub/software/scm/git/git-${TERMUX_PKG_VERSION}.tar.xz ## This requires a working $TERMUX_PREFIX/bin/sh on the host building: TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--without-tcltk --with-curl --with-shell=$TERMUX_PREFIX/bin/sh ac_cv_header_libintl_h=no ac_cv_fread_reads_directories=yes ac_cv_snprintf_returns_bogus=yes" # expat is only used by git-http-push for remote lock management over DAV, so disable: # NO_INSTALL_HARDLINKS to use symlinks instead of hardlinks (which does not work on Android M): -TERMUX_PKG_EXTRA_MAKE_ARGS="NO_NSEC=1 NO_PERL=1 NO_GETTEXT=1 NO_EXPAT=1 NO_INSTALL_HARDLINKS=1 PERL_PATH=$TERMUX_PREFIX/bin/perl" +TERMUX_PKG_EXTRA_MAKE_ARGS="NO_NSEC=1 NO_GETTEXT=1 NO_EXPAT=1 NO_INSTALL_HARDLINKS=1 PERL_PATH=$TERMUX_PREFIX/bin/perl" TERMUX_PKG_BUILD_IN_SRC="yes" # Things to remove to save space: # bin/git-cvsserver - server emulating CVS # bin/git-shell - restricted login shell for Git-only SSH access -# lib/perl5 - perl scripts -TERMUX_PKG_RM_AFTER_INSTALL="bin/git-cvsserver bin/git-shell lib/perl5 Library" +TERMUX_PKG_RM_AFTER_INSTALL="bin/git-cvsserver bin/git-shell Library" + +termux_step_pre_configure () { + # Setup perl so that the build process can execute it: + rm -f $TERMUX_PREFIX/bin/perl + ln -s `which perl` $TERMUX_PREFIX/bin/perl + + # Force fresh perl files (otherwise files from earlier builds + # remains without bumped modification times, so are not picked + # up by the package): + rm -Rf $TERMUX_PREFIX/share/git-perl +} termux_step_post_make_install () { # Installing man requires asciidoc and xmlto, so git uses separate make targets for man pages @@ -25,6 +34,12 @@ termux_step_post_make_install () { mkdir -p $TERMUX_PREFIX/etc/bash_completion.d/ cp $TERMUX_PKG_SRCDIR/contrib/completion/git-completion.bash \ $TERMUX_PREFIX/etc/bash_completion.d/ + + # Remove the build machine perl setup in termux_step_pre_configure to avoid it being packaged: + rm $TERMUX_PREFIX/bin/perl + + # Remove clutter: + rm -Rf $TERMUX_PREFIX/lib/*-linux*/perl } termux_step_post_massage () { diff --git a/packages/git/makefile.patch b/packages/git/makefile.patch index 4f601ac1f..771348a5a 100644 --- a/packages/git/makefile.patch +++ b/packages/git/makefile.patch @@ -1,7 +1,13 @@ -diff -u -r ../git-2.5.0/Makefile ./Makefile ---- ../git-2.5.0/Makefile 2015-07-27 16:34:56.000000000 -0400 -+++ ./Makefile 2015-07-30 03:43:04.011455306 -0400 -@@ -1431,7 +1431,6 @@ +The librt functionality is built into libc on Android. + +The Termux git package installs git perl files to $PREFIX/share/git-perl +by patching perl/Makefile.PL, so setup that path when building perl +files in this Makefile. + +diff -u -r ../git-2.7.4/Makefile ./Makefile +--- ../git-2.7.4/Makefile 2016-03-17 16:47:59.000000000 -0400 ++++ ./Makefile 2016-03-24 22:46:20.335193973 -0400 +@@ -1455,7 +1455,6 @@ ifdef HAVE_CLOCK_GETTIME BASIC_CFLAGS += -DHAVE_CLOCK_GETTIME @@ -9,3 +15,12 @@ diff -u -r ../git-2.5.0/Makefile ./Makefile endif ifdef HAVE_CLOCK_MONOTONIC +@@ -1789,7 +1788,7 @@ + sed -e '1{' \ + -e ' s|#!.*perl|#!$(PERL_PATH_SQ)|' \ + -e ' h' \ +- -e ' s=.*=use lib (split(/$(pathsep)/, $$ENV{GITPERLLIB} || "'"$$INSTLIBDIR"'"));=' \ ++ -e ' s=.*=use lib (split(/$(pathsep)/, $$ENV{GITPERLLIB} || "'"@TERMUX_PREFIX@/share/git-perl"'"));=' \ + -e ' H' \ + -e ' x' \ + -e '}' \ diff --git a/packages/git/perl-Makefile.PL.patch b/packages/git/perl-Makefile.PL.patch new file mode 100644 index 000000000..07bc374ef --- /dev/null +++ b/packages/git/perl-Makefile.PL.patch @@ -0,0 +1,24 @@ +Install git perl files to a local git-specific folder and +be sure to bring the private Error.pm copy with it. + +diff -u -r ../git-2.7.4/perl/Makefile.PL ./perl/Makefile.PL +--- ../git-2.7.4/perl/Makefile.PL 2016-03-17 16:47:59.000000000 -0400 ++++ ./perl/Makefile.PL 2016-03-24 22:38:12.222059955 -0400 +@@ -38,15 +38,13 @@ + my $pm_path = $File::Find::name; + $pm_path =~ s{^\./}{}; + +- $pm{$pm_path} = '$(INST_LIBDIR)/'.$pm_path; ++ $pm{$pm_path} = '@TERMUX_PREFIX@/share/git-perl/'.$pm_path; + }, "Git", "Git.pm"; + + + # We come with our own bundled Error.pm. It's not in the set of default + # Perl modules so install it if it's not available on the system yet. +-if ( !eval { require Error } || $Error::VERSION < 0.15009) { +- $pm{'private-Error.pm'} = '$(INST_LIBDIR)/Error.pm'; +-} ++ $pm{'private-Error.pm'} = '@TERMUX_PREFIX@/share/git-perl/Error.pm'; + + # redirect stdout, otherwise the message "Writing perl.mak for Git" + # disrupts the output for the target 'instlibdir' diff --git a/packages/glib/build.sh b/packages/glib/build.sh index 68c7f427f..cf721505e 100755 --- a/packages/glib/build.sh +++ b/packages/glib/build.sh @@ -2,12 +2,15 @@ TERMUX_PKG_HOMEPAGE=https://developer.gnome.org/glib/ TERMUX_PKG_DESCRIPTION="Library providing core building blocks for libraries and applications written in C" _TERMUX_GLIB_MAJOR_VERSION=2.46 TERMUX_PKG_VERSION=${_TERMUX_GLIB_MAJOR_VERSION}.2 -TERMUX_PKG_BUILD_REVISION=1 +TERMUX_PKG_BUILD_REVISION=2 TERMUX_PKG_SRCURL=http://ftp.gnome.org/pub/gnome/sources/glib/${_TERMUX_GLIB_MAJOR_VERSION}/glib-${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_DEPENDS="libffi, pcre" # --enable-compile-warnings=no to get rid of format strings causing errors TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-compile-warnings --disable-gtk-doc --disable-gtk-doc-html --cache-file=termux_configure.cache --with-pcre=system" +# --disable-znodelete to avoid DF_1_NODELETE which most Android 5.0 linkers +# does not support: +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --disable-znodelete" TERMUX_PKG_RM_AFTER_INSTALL="share/gtk-doc share/locale share/glib-2.0/gettext share/gdb/auto-load share/glib-2.0/codegen share/glib-2.0/gdb lib/glib-2.0/include bin/gtester-report bin/glib-mkenums bin/glib-gettextize bin/gdbus-codegen" # glib checks for __BIONIC__ instead of __ANDROID__ diff --git a/packages/gnupg2/build.sh b/packages/gnupg2/build.sh index a6c5973fd..7a564b6d4 100755 --- a/packages/gnupg2/build.sh +++ b/packages/gnupg2/build.sh @@ -1,6 +1,7 @@ TERMUX_PKG_HOMEPAGE=http://www.gnupg.org/ TERMUX_PKG_DESCRIPTION="Implementation of the OpenPGP standard for encrypting and signing data and communication" TERMUX_PKG_VERSION=2.1.11 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-${TERMUX_PKG_VERSION}.tar.bz2 TERMUX_PKG_DEPENDS="libassuan,libbz2,libgcrypt,libksba,libnpth,readline,pinentry" TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-ldap --disable-sqlite" diff --git a/packages/gnuplot/build.sh b/packages/gnuplot/build.sh index 34c86e96f..13ff320bc 100644 --- a/packages/gnuplot/build.sh +++ b/packages/gnuplot/build.sh @@ -1,6 +1,6 @@ TERMUX_PKG_HOMEPAGE=http://www.gnuplot.info/ TERMUX_PKG_DESCRIPTION="Command-line driven graphing utility" -TERMUX_PKG_VERSION=4.6.6 +TERMUX_PKG_VERSION=4.6.7 TERMUX_PKG_SRCURL=http://downloads.sourceforge.net/project/gnuplot/gnuplot/${TERMUX_PKG_VERSION}/gnuplot-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--without-x --with-lua=no" TERMUX_PKG_DEPENDS="libandroid-support, readline, pango" diff --git a/packages/golang/build.sh b/packages/golang/build.sh index 9d6316705..8f3d23855 100644 --- a/packages/golang/build.sh +++ b/packages/golang/build.sh @@ -1,8 +1,8 @@ TERMUX_PKG_HOMEPAGE=https://golang.org/ TERMUX_PKG_DESCRIPTION="Go programming language compiler" -_MAJOR_VERSION=1.6rc1 -# Need to be considered a higher version than "1.5rc1": -TERMUX_PKG_VERSION=1:$_MAJOR_VERSION +_MAJOR_VERSION=1.6 +# Use the ~ deb versioning construct in the future: +TERMUX_PKG_VERSION=2:$_MAJOR_VERSION TERMUX_PKG_SRCURL=https://storage.googleapis.com/golang/go${_MAJOR_VERSION}.src.tar.gz TERMUX_PKG_FOLDERNAME=go TERMUX_PKG_KEEP_STATIC_LIBRARIES=true diff --git a/packages/grep/build.sh b/packages/grep/build.sh index 0cecf9d40..292659006 100644 --- a/packages/grep/build.sh +++ b/packages/grep/build.sh @@ -1,5 +1,5 @@ TERMUX_PKG_HOMEPAGE=http://www.gnu.org/software/grep/ TERMUX_PKG_DESCRIPTION="Command which searches one or more input files for lines containing a match to a specified pattern" TERMUX_PKG_DEPENDS="pcre" -TERMUX_PKG_VERSION=2.23 +TERMUX_PKG_VERSION=2.24 TERMUX_PKG_SRCURL=http://ftp.gnu.org/gnu/grep/grep-${TERMUX_PKG_VERSION}.tar.xz diff --git a/packages/harfbuzz/Makefile.am.patch b/packages/harfbuzz/Makefile.am.patch index f251aa15b..69fdfad1d 100644 --- a/packages/harfbuzz/Makefile.am.patch +++ b/packages/harfbuzz/Makefile.am.patch @@ -1,11 +1,11 @@ -diff -u -r ../harfbuzz-1.1.2/Makefile.am ./Makefile.am ---- ../harfbuzz-1.1.2/Makefile.am 2015-10-20 14:39:37.693898804 -0400 -+++ ./Makefile.am 2015-12-27 06:30:53.823981337 -0500 +diff -u -r ../harfbuzz-1.2.3/Makefile.am ./Makefile.am +--- ../harfbuzz-1.2.3/Makefile.am 2016-02-24 01:15:35.735056866 -0500 ++++ ./Makefile.am 2016-03-07 19:07:30.254020923 -0500 @@ -4,7 +4,7 @@ ACLOCAL_AMFLAGS = -I m4 --SUBDIRS = src util test docs +-SUBDIRS = src util test docs win32 +SUBDIRS = src util docs EXTRA_DIST = \ diff --git a/packages/harfbuzz/build.sh b/packages/harfbuzz/build.sh index f1e24115f..65b068a1a 100644 --- a/packages/harfbuzz/build.sh +++ b/packages/harfbuzz/build.sh @@ -1,6 +1,6 @@ TERMUX_PKG_HOMEPAGE=http://www.freedesktop.org/wiki/Software/HarfBuzz/ TERMUX_PKG_DESCRIPTION="OpenType text shaping engine" -TERMUX_PKG_VERSION=1.1.2 +TERMUX_PKG_VERSION=1.2.3 TERMUX_PKG_SRCURL=http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${TERMUX_PKG_VERSION}.tar.bz2 TERMUX_PKG_DEPENDS="freetype,glib,libbz2,libpng" TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-icu=no" diff --git a/packages/htop/build.sh b/packages/htop/build.sh index fc051648f..6fc74e07e 100644 --- a/packages/htop/build.sh +++ b/packages/htop/build.sh @@ -1,9 +1,11 @@ TERMUX_PKG_HOMEPAGE=http://hisham.hm/htop/ TERMUX_PKG_DESCRIPTION="Interactive process viewer for Linux" TERMUX_PKG_DEPENDS="ncurses, libandroid-support" -TERMUX_PKG_VERSION=1.0.3 +TERMUX_PKG_VERSION=2.0.1 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=http://hisham.hm/htop/releases/${TERMUX_PKG_VERSION}/htop-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_BUILD_IN_SRC="yes" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="ac_cv_lib_ncursesw6_addnwstr=yes" TERMUX_PKG_RM_AFTER_INSTALL="share/applications share/pixmaps" # htop checks setlocale() return value for UTF-8 support, so use libandroid-support. diff --git a/packages/htop/meter-h.patch b/packages/htop/meter-h.patch deleted file mode 100644 index a94805696..000000000 --- a/packages/htop/meter-h.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -u -r ../htop-1.0.3/Meter.h ./Meter.h ---- ../htop-1.0.3/Meter.h 2014-04-21 23:59:02.000000000 +0200 -+++ ./Meter.h 2014-05-04 01:58:24.365877532 +0200 -@@ -13,6 +13,7 @@ - - #include "ListItem.h" - #include "ProcessList.h" -+#include - - typedef struct Meter_ Meter; - diff --git a/packages/hunspell-en-us/build.sh b/packages/hunspell-en-us/build.sh index 7d09989b0..59826d848 100644 --- a/packages/hunspell-en-us/build.sh +++ b/packages/hunspell-en-us/build.sh @@ -1,7 +1,8 @@ TERMUX_PKG_HOMEPAGE=http://sourceforge.net/projects/hunspell/files/Spelling%20dictionaries/en_US/ TERMUX_PKG_DESCRIPTION="American english dictionary for hunspell" TERMUX_PKG_VERSION=1.1 -TERMUX_PKG_DEPENDS="hunspell" +TERMUX_PKG_BUILD_REVISION=1 +TERMUX_PKG_PLATFORM_INDEPENDENT=yes termux_step_make_install () { curl -L http://downloads.sourceforge.net/project/hunspell/Spelling%20dictionaries/en_US/en_US.zip > en_US.zip diff --git a/packages/hunspell/build.sh b/packages/hunspell/build.sh index 0db9c87ad..95dcaf278 100644 --- a/packages/hunspell/build.sh +++ b/packages/hunspell/build.sh @@ -1,6 +1,7 @@ TERMUX_PKG_HOMEPAGE=http://hunspell.sourceforge.net/ TERMUX_PKG_DESCRIPTION="Spell checker" TERMUX_PKG_VERSION=1.3.3 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=http://downloads.sourceforge.net/project/hunspell/Hunspell/${TERMUX_PKG_VERSION}/hunspell-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-ui --with-readline" -TERMUX_PKG_DEPENDS="ncurses, readline" +TERMUX_PKG_DEPENDS="ncurses, readline, hunspell-en-us" diff --git a/packages/hunspell/hunspell.cxx.patch b/packages/hunspell/hunspell.cxx.patch index c146d734e..7d87a3da3 100644 --- a/packages/hunspell/hunspell.cxx.patch +++ b/packages/hunspell/hunspell.cxx.patch @@ -1,6 +1,6 @@ diff -u -r ../hunspell-1.3.3/src/tools/hunspell.cxx ./src/tools/hunspell.cxx ---- ../hunspell-1.3.3/src/tools/hunspell.cxx 2014-06-02 13:35:50.000000000 +0200 -+++ ./src/tools/hunspell.cxx 2014-07-02 13:14:52.000000000 +0200 +--- ../hunspell-1.3.3/src/tools/hunspell.cxx 2014-06-02 07:35:50.000000000 -0400 ++++ ./src/tools/hunspell.cxx 2016-03-06 02:28:02.031833160 -0500 @@ -68,7 +68,7 @@ #include "odfparser.hxx" @@ -19,3 +19,37 @@ diff -u -r ../hunspell-1.3.3/src/tools/hunspell.cxx ./src/tools/hunspell.cxx #define DIRSEPCH '/' #define DIRSEP "/" #define PATHSEP ":" +@@ -1423,7 +1423,13 @@ + } + } + ++#ifdef __ANDROID__ ++ char tmpfile_template[] = "@TERMUX_PREFIX@/tmp/hunspell.XXXXXX"; ++ int tmpfile_fd = mkstemp(tmpfile_template); ++ FILE *tempfile = fdopen(tmpfile_fd, "w+"); ++#else + FILE *tempfile = tmpfile(); ++#endif + + if (!tempfile) + { +@@ -1443,6 +1449,9 @@ + clear(); + refresh(); + fclose(tempfile); //automatically deleted when closed ++#ifdef __ANDROID__ ++ unlink(tmpfile_template); ++#endif + if (is_zipped_odf(parser, extension)) { + sprintf(buf, "rm %s; rmdir %s", filename, odftempdir); + if (system(buf) != 0) +@@ -1493,6 +1502,9 @@ + + delete parser; + fclose(tempfile); //automatically deleted when closed ++#ifdef __ANDROID__ ++ unlink(tmpfile_template); ++#endif + } + + #endif diff --git a/packages/hunspell/hzip.c.patch b/packages/hunspell/hzip.c.patch new file mode 100644 index 000000000..1ea5c5a55 --- /dev/null +++ b/packages/hunspell/hzip.c.patch @@ -0,0 +1,47 @@ +diff -u -r ../hunspell-1.3.3/src/tools/hzip.c ./src/tools/hzip.c +--- ../hunspell-1.3.3/src/tools/hzip.c 2012-06-30 07:18:47.000000000 -0400 ++++ ./src/tools/hzip.c 2016-03-06 02:30:47.121570946 -0500 +@@ -272,7 +272,13 @@ + strcat(out, EXTENSION); + f = fopen(filename, "r"); + if (!f) return fail("hzip: %s: Permission denied\n", filename); ++#ifdef __ANDROID__ ++ char tmpfile_template[] = "@TERMUX_PREFIX@/tmp/hunspell.XXXXXX"; ++ int tmpfile_fd = mkstemp(tmpfile_template); ++ tempfile = fdopen(tmpfile_fd, "w+"); ++#else + tempfile = tmpfile(); ++#endif + if (!tempfile) { + fclose(f); + return fail("hzip: cannot create temporary file\n", NULL); +@@ -280,6 +286,9 @@ + f2 = fopen(out, "wb"); + if (!f2) { + fclose(tempfile); ++#ifdef __ANDROID__ ++ unlink(tmpfile_template); ++#endif + fclose(f); + return fail("hzip: %s: Permission denied\n", out); + } +@@ -287,6 +296,9 @@ + if (prefixcompress(f, tempfile) != 0) { + fclose(f2); + fclose(tempfile); ++#ifdef __ANDROID__ ++ unlink(tmpfile_template); ++#endif + fclose(f); + return fail("hzip: cannot write file\n", NULL); + } +@@ -297,6 +309,9 @@ + n = encode_file(table, n, tempfile, f2, termword, key); + fclose(f2); + fclose(tempfile); ++#ifdef __ANDROID__ ++ unlink(tmpfile_template); ++#endif + fclose(f); + if (n != 0) return fail("hzip: cannot write file\n", NULL); + return n; diff --git a/packages/imagemagick/build.sh b/packages/imagemagick/build.sh index aab5539bd..ed3f6d9a0 100644 --- a/packages/imagemagick/build.sh +++ b/packages/imagemagick/build.sh @@ -1,6 +1,6 @@ TERMUX_PKG_HOMEPAGE=http://www.imagemagick.org/ TERMUX_PKG_DESCRIPTION="Suite to create, edit, compose, or convert images in a variety of formats" -TERMUX_PKG_VERSION="6.9.3-2" +TERMUX_PKG_VERSION="6.9.3-7" TERMUX_PKG_SRCURL=http://www.imagemagick.org/download/ImageMagick-${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-largefile --without-x --with-magick-plus-plus=no --with-bzlib=no --with-xml=yes --with-lzma ac_cv_func_ftime=no ac_cv_header_complex_h=no" TERMUX_PKG_RM_AFTER_INSTALL="bin/Magick-config bin/MagickCore-config bin/MagickWand-config bin/Wand-config share/ImageMagick-6/francais.xml share/man/man1/Magick-config.1 share/man/man1/MagickCore-config.1 share/man/man1/MagickWand-config.1 share/man/man1/Wand-config.1" diff --git a/packages/inetutils/build.sh b/packages/inetutils/build.sh index 87191870f..3933c335c 100644 --- a/packages/inetutils/build.sh +++ b/packages/inetutils/build.sh @@ -3,7 +3,7 @@ TERMUX_PKG_DESCRIPTION="Collection of common network programs" TERMUX_PKG_VERSION=1.9.4 TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=http://ftp.gnu.org/gnu/inetutils/inetutils-${TERMUX_PKG_VERSION}.tar.xz -TERMUX_PKG_DEPENDS="readline" +TERMUX_PKG_DEPENDS="readline, libutil" # These are old cruft / not suited for android: TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-ifconfig --disable-rcp --disable-rlogin --disable-rsh --disable-rexecd --disable-uucpd --disable-rexec --disable-ping --disable-hostname" diff --git a/packages/iperf3/build.sh b/packages/iperf3/build.sh index c0b15b9e4..752f44bec 100644 --- a/packages/iperf3/build.sh +++ b/packages/iperf3/build.sh @@ -1,4 +1,4 @@ TERMUX_PKG_HOMEPAGE=https://github.com/esnet/iperf TERMUX_PKG_DESCRIPTION="TCP, UDP, and SCTP network bandwidth measurement tool" -TERMUX_PKG_VERSION=3.1.1 +TERMUX_PKG_VERSION=3.1.2 TERMUX_PKG_SRCURL=http://downloads.es.net/pub/iperf/iperf-${TERMUX_PKG_VERSION}.tar.gz diff --git a/packages/irssi/build.sh b/packages/irssi/build.sh index 5c0183f26..466114d62 100755 --- a/packages/irssi/build.sh +++ b/packages/irssi/build.sh @@ -1,10 +1,9 @@ TERMUX_PKG_HOMEPAGE=http://www.irssi.org/ TERMUX_PKG_DESCRIPTION="Terminal based IRC client for UNIX systems" TERMUX_PKG_DEPENDS="ncurses, openssl, glib, libandroid-glob" -TERMUX_PKG_VERSION=0.8.17 -# 2015-06-30: Using mirror since main site down: -# TERMUX_PKG_SRCURL=http://www.irssi.org/files/irssi-${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_SRCURL=https://fossies.org/linux/privat/irssi-${TERMUX_PKG_VERSION}.tar.gz +TERMUX_PKG_VERSION=0.8.18 +TERMUX_PKG_SRCURL=https://github.com/irssi/irssi/releases/download/${TERMUX_PKG_VERSION}/irssi-${TERMUX_PKG_VERSION}.tar.xz +TERMUX_PKG_FOLDERNAME=irssi-${TERMUX_PKG_VERSION} TERMUX_PKG_BUILD_IN_SRC=yes TERMUX_PKG_RM_AFTER_INSTALL=share/irssi/scripts # perl scripts diff --git a/packages/libandroid-support/build.sh b/packages/libandroid-support/build.sh index 30ab92cff..ada9d5fbc 100755 --- a/packages/libandroid-support/build.sh +++ b/packages/libandroid-support/build.sh @@ -1,42 +1,24 @@ TERMUX_PKG_HOMEPAGE=https://developer.android.com/tools/sdk/ndk/index.html TERMUX_PKG_DESCRIPTION="Library extending the Android C library (Bionic) for additional multibyte, locale and math support" # Increase last digit each time a patch changes. -TERMUX_PKG_VERSION=${TERMUX_NDK_VERSION}.4 +TERMUX_PKG_VERSION=${TERMUX_NDK_VERSION}.8 TERMUX_PKG_BUILD_IN_SRC=yes TERMUX_PKG_ESSENTIAL=yes termux_step_post_extract_package () { cd $TERMUX_PKG_SRCDIR - if [ "$TERMUX_ARCH_BITS" = "64" ]; then - # https://android.googlesource.com/platform/ndk.git/+/7c811775212f8ae0ecdcf60d05fefb1582207038 - # For 64-bit bionic has almost everything except the following: - mkdir -p src/musl-locale/ src/musl-multibyte/ include/ - cp $NDK/sources/android/support/src/musl-multibyte/mblen.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} src/musl-locale/ - 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/ - else - cp -Rf $NDK/sources/android/support/* . - # See Android.mk for files not to build: - rm src/musl-stdio/vwscanf.c \ - src/musl-stdio/wscanf.c \ - src/musl-locale/newlocale.c \ - src/musl-locale/nl_langinfo_l.c \ - src/musl-locale/strcoll_l.c \ - src/musl-locale/strxfrm_l.c \ - src/musl-locale/wcscoll_l.c \ - src/musl-locale/wcsxfrm_l.c \ - src/locale/uselocale.c - fi + 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/ } termux_step_make_install () { - if [ "$TERMUX_ARCH_BITS" = "64" ]; then - _C_FILES="src/musl-*/*.c" - else - _C_FILES="src/locale/*.c src/musl-*/*.c src/stdio/*.c src/*.c" - fi + _C_FILES="src/musl-*/*.c" # Link against libm to avoid linkers having to do it $CC $CFLAGS -std=c99 -DNULL=0 $CPPFLAGS $LDFLAGS -lm \ -Iinclude -Isrc/locale \ diff --git a/packages/libandroid-support/langinfo.h.patch b/packages/libandroid-support/langinfo.h.patch index c4658bd46..91b60f711 100644 --- a/packages/libandroid-support/langinfo.h.patch +++ b/packages/libandroid-support/langinfo.h.patch @@ -1,13 +1,27 @@ 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 2014-07-29 04:23:14.000000000 -0400 -+++ ./include/langinfo.h 2014-11-27 12:46:17.606220352 -0500 -@@ -31,6 +31,7 @@ +--- /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/setlocale.c.patch32 b/packages/libandroid-support/setlocale.c.patch32 deleted file mode 100644 index e2edef3d0..000000000 --- a/packages/libandroid-support/setlocale.c.patch32 +++ /dev/null @@ -1,35 +0,0 @@ -diff -u -r /home/fornwall/lib/android-ndk/sources/android/support/src/locale/setlocale.c ./src/locale/setlocale.c ---- /home/fornwall/lib/android-ndk/sources/android/support/src/locale/setlocale.c 2013-07-26 23:37:59.000000000 -0400 -+++ ./src/locale/setlocale.c 2015-01-01 17:16:29.488323212 -0500 -@@ -25,23 +25,18 @@ - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ --#include -+#include - #include "locale_impl.h" - - char *setlocale(int category, const char *locale) { -- // Sanity check. -- if (locale == NULL) { -- errno = EINVAL; -- return NULL; -- } -- // Only accept "", "C" or "POSIX", all equivalent on Android. -- if (*locale && strcmp(locale, "C") && strcmp(locale, "POSIX")) { -- errno = EINVAL; -- return NULL; -- } -+ // setlocale(3): "If locale is NULL, the current locale is only queried, not modified." -+ if (locale == NULL) return "en_US.UTF-8"; -+ -+ // Only accept "", "C" or "POSIX", all equivalent on Android, and any locale with UTF-8/UTF8 in it. -+ if (*locale && strcmp(locale, "C") && strcmp(locale, "POSIX") && strstr(locale, "UTF-8") == 0 && strstr(locale, "UTF8") == 0) return NULL; -+ - // The function returns a char* but the caller is not supposed to - // modify it. Just to a type cast. If the caller tries to write to - // it, it will simply segfault. -- static const char C_LOCALE_SETTING[] = "C"; -- return (char*) C_LOCALE_SETTING; -+ return "en_US.UTF-8"; - } diff --git a/packages/libandroid-support/stdlib.h.patch b/packages/libandroid-support/stdlib.h.patch deleted file mode 100644 index b66371b39..000000000 --- a/packages/libandroid-support/stdlib.h.patch +++ /dev/null @@ -1,19 +0,0 @@ -From MB_CUR_MAX(3): "The MB_CUR_MAX macro defines an integer expression giving the maximum number of -bytes needed to represent a single wide character in the current locale. It is locale dependent and -therefore not a compile-time constant." - -Since libandroid-support.so supports multibyte characters we override the platform value of 1. - -diff -N -u -r /home/fornwall/lib/android-ndk/sources/android/support/include/stdlib.h ./include/stdlib.h ---- /home/fornwall/lib/android-ndk/sources/android/support/include/stdlib.h 2014-10-15 21:46:32.000000000 -0400 -+++ ./include/stdlib.h 2014-11-27 10:48:54.634215480 -0500 -@@ -36,6 +36,9 @@ - - #include - -+#undef MB_CUR_MAX -+#define MB_CUR_MAX 4 -+ - #ifdef __cplusplus - extern "C" { - #endif diff --git a/packages/libassuan/build.sh b/packages/libassuan/build.sh index b208b361b..7f4e7e209 100644 --- a/packages/libassuan/build.sh +++ b/packages/libassuan/build.sh @@ -1,6 +1,7 @@ TERMUX_PKG_HOMEPAGE=http://www.gnupg.org/related_software/libassuan/ TERMUX_PKG_DESCRIPTION="Library implementing the Assuan IPC protocol used between most newer GnuPG components" TERMUX_PKG_VERSION=2.4.2 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=ftp://ftp.gnupg.org/gcrypt/libassuan/libassuan-${TERMUX_PKG_VERSION}.tar.bz2 TERMUX_PKG_RM_AFTER_INSTALL="bin/libassuan-config" TERMUX_PKG_DEPENDS="libgpg-error" diff --git a/packages/libav/build.sh b/packages/libav/build.sh index 31d2deae9..b9c9f44ea 100644 --- a/packages/libav/build.sh +++ b/packages/libav/build.sh @@ -1,32 +1,43 @@ TERMUX_PKG_HOMEPAGE=http://libav.org/ TERMUX_PKG_DESCRIPTION="Tools and libraries to manipulate a wide range of multimedia formats and protocols" -TERMUX_PKG_VERSION=11.4 +TERMUX_PKG_VERSION=11.6 TERMUX_PKG_BUILD_REVISION=3 TERMUX_PKG_SRCURL=http://libav.org/releases/libav-${TERMUX_PKG_VERSION}.tar.xz # libbz2 is used by matroska decoder: -TERMUX_PKG_DEPENDS="openssl, libbz2, libx264, xvidcore, libvorbis, libfaac" +TERMUX_PKG_DEPENDS="openssl, libbz2, libx264, xvidcore, libvorbis, libfaac, libmp3lame" TERMUX_PKG_CONFLICTS="ffmpeg" termux_step_configure () { cd $TERMUX_PKG_BUILDDIR + + # Specify --disable-asm to prevent text relocations on i686, + # see https://trac.ffmpeg.org/ticket/4928 + # For libav we do it also for arm and aarch64 since text + # relocations happens there as well (while ffmpeg doesn't + # create text relocations even with asm for those). + local _EXTRA_CONFIGURE_FLAGS="--disable-asm" + if [ $TERMUX_ARCH = "arm" ]; then _ARCH="armeabi-v7a" elif [ $TERMUX_ARCH = "i686" ]; then _ARCH="x86" - else + elif [ $TERMUX_ARCH = "aarch64" ]; then _ARCH=$TERMUX_ARCH + else + echo "Unsupported arch $TERMUX_ARCH" + exit 1 fi - # --disable-asm to prevent text relocations + $TERMUX_PKG_SRCDIR/configure \ --arch=${_ARCH} \ --cross-prefix=${TERMUX_HOST_PLATFORM}- \ - --disable-asm \ --disable-avdevice \ --disable-avserver \ --disable-static \ --disable-symver \ --enable-cross-compile \ --enable-gpl \ + --enable-libmp3lame \ --enable-libfaac \ --enable-libvorbis \ --enable-libx264 \ @@ -35,6 +46,7 @@ termux_step_configure () { --enable-openssl \ --enable-shared \ --prefix=$TERMUX_PREFIX \ - --target-os=linux + --target-os=linux \ + $_EXTRA_CONFIGURE_FLAGS } diff --git a/packages/libav/configure.patch b/packages/libav/configure.patch new file mode 100644 index 000000000..faa289c0a --- /dev/null +++ b/packages/libav/configure.patch @@ -0,0 +1,19 @@ +Avoid issue with strtod on arm: + https://github.com/termux/termux-packages/issues/179 + +diff -u -r ../libav-11.6/configure ./configure +--- ../libav-11.6/configure 2016-02-26 18:05:55.000000000 -0500 ++++ ./configure 2016-03-24 20:59:15.095178594 -0400 +@@ -3673,12 +3673,6 @@ + probe_libc host_ + test -n "$host_libc_type" && enable host_libc_$host_libc_type + +-case $libc_type in +- bionic) +- add_compat strtod.o strtod=avpriv_strtod +- ;; +-esac +- + # hacks for compiler/libc/os combinations + + if enabled_all tms470 libc_glibc; then diff --git a/packages/libcairo/build.sh b/packages/libcairo/build.sh index ac535eafb..efdfd68a5 100644 --- a/packages/libcairo/build.sh +++ b/packages/libcairo/build.sh @@ -1,6 +1,7 @@ TERMUX_PKG_HOMEPAGE=http://cairographics.org/ TERMUX_PKG_DESCRIPTION="Cairo 2D vector graphics library" TERMUX_PKG_VERSION=1.14.6 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=http://cairographics.org/releases/cairo-${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_DEPENDS="libandroid-support, libpixman, fontconfig, freetype" TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-gtk-doc-html --enable-xlib=no" diff --git a/packages/libcurl/build.sh b/packages/libcurl/build.sh index 3ed54111e..f1dc74cb7 100755 --- a/packages/libcurl/build.sh +++ b/packages/libcurl/build.sh @@ -1,7 +1,7 @@ TERMUX_PKG_HOMEPAGE=http://curl.haxx.se/ TERMUX_PKG_DESCRIPTION="Easy-to-use client-side URL transfer library" TERMUX_PKG_DEPENDS="openssl" -TERMUX_PKG_VERSION=7.46.0 +TERMUX_PKG_VERSION=7.47.1 TERMUX_PKG_SRCURL=http://curl.haxx.se/download/curl-${TERMUX_PKG_VERSION}.tar.bz2 export TERMUX_CA_BUNDLE=$TERMUX_PREFIX/etc/tls/cert.pem TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-ssl --without-libidn --with-ca-bundle=$TERMUX_CA_BUNDLE" diff --git a/packages/libgc/build.sh b/packages/libgc/build.sh index 9967cc4ce..18e67d49d 100644 --- a/packages/libgc/build.sh +++ b/packages/libgc/build.sh @@ -1,11 +1,11 @@ TERMUX_PKG_HOMEPAGE=http://www.hboehm.info/gc/ TERMUX_PKG_DESCRIPTION="Library providing the Boehm-Demers-Weiser conservative garbage collector" -# The latest release 7.4.2 is too old for aarch64, use the version -# https://github.com/ivmai/bdwgc/tree/c861ec3d1825b5bb450d20bf9091562fa8a81a4d -# from 2016-0-114 21:34 for now. -TERMUX_PKG_VERSION=7.4.201601142134 -TERMUX_PKG_SRCURL=https://github.com/ivmai/bdwgc/archive/c861ec3d1825b5bb450d20bf9091562fa8a81a4d.zip -TERMUX_PKG_FOLDERNAME=bdwgc-c861ec3d1825b5bb450d20bf9091562fa8a81a4d +# The latest release 7.4.2 is too old for aarch64, use commit on master for now. +# (update below commit and date in version when necessary): +_GC_COMMIT=9ddff68a20c064288da73a4316cabaef661948ab +TERMUX_PKG_VERSION=7.4.201603041111 +TERMUX_PKG_SRCURL=https://github.com/ivmai/bdwgc/archive/${_GC_COMMIT}.zip +TERMUX_PKG_FOLDERNAME=bdwgc-$_GC_COMMIT TERMUX_PKG_RM_AFTER_INSTALL="share/gc" # Avoid defining structs already defined in api level 21 or beyond diff --git a/packages/libgc/pthread_stop_world.c.patch b/packages/libgc/pthread_stop_world.c.patch new file mode 100644 index 000000000..28f66bc07 --- /dev/null +++ b/packages/libgc/pthread_stop_world.c.patch @@ -0,0 +1,14 @@ +The tkill(2) function was removed from libc in NDK r11. + +diff -u -r ../bdwgc-c861ec3d1825b5bb450d20bf9091562fa8a81a4d/pthread_stop_world.c ./pthread_stop_world.c +--- ../bdwgc-c861ec3d1825b5bb450d20bf9091562fa8a81a4d/pthread_stop_world.c 2016-01-13 03:34:56.000000000 -0500 ++++ ./pthread_stop_world.c 2016-03-10 07:09:03.607785056 -0500 +@@ -450,7 +450,7 @@ + #endif + + #ifdef USE_TKILL_ON_ANDROID +- extern int tkill(pid_t tid, int sig); /* from sys/linux-unistd.h */ ++ static int tkill(pid_t tid, int sig) { return tgkill(-1, tid, sig); } + + static int android_thread_kill(pid_t tid, int sig) + { diff --git a/packages/libgcc/build.sh b/packages/libgcc/build.sh new file mode 100644 index 000000000..712ae9751 --- /dev/null +++ b/packages/libgcc/build.sh @@ -0,0 +1,9 @@ +TERMUX_PKG_HOMEPAGE=https://gcc.gnu.org/onlinedocs/gccint/Libgcc.html +TERMUX_PKG_DESCRIPTION="GCC low-level runtime library" +TERMUX_PKG_VERSION=4.9 +TERMUX_PKG_KEEP_STATIC_LIBRARIES="true" + +termux_step_extract_into_massagedir () { + mkdir -p $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/lib/ + cp $TERMUX_STANDALONE_TOOLCHAIN/lib/gcc/$TERMUX_HOST_PLATFORM/4.9/libgcc.a $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/lib/ +} diff --git a/packages/libgcrypt/build.sh b/packages/libgcrypt/build.sh index 211405716..f6288ea11 100755 --- a/packages/libgcrypt/build.sh +++ b/packages/libgcrypt/build.sh @@ -1,5 +1,5 @@ -TERMUX_PKG_VERSION=1.6.4 -TERMUX_PKG_BUILD_REVISION=2 +TERMUX_PKG_VERSION=1.6.5 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_HOMEPAGE=http://www.gnu.org/software/libgcrypt/ TERMUX_PKG_DESCRIPTION="General purpose cryptographic library based on the code from GnuPG" TERMUX_PKG_SRCURL=ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-${TERMUX_PKG_VERSION}.tar.bz2 diff --git a/packages/libgnutls/build.sh b/packages/libgnutls/build.sh index 379194488..889e94488 100644 --- a/packages/libgnutls/build.sh +++ b/packages/libgnutls/build.sh @@ -2,7 +2,7 @@ TERMUX_PKG_HOMEPAGE=http://www.gnutls.org/ TERMUX_PKG_DESCRIPTION="Secure communications library implementing the SSL, TLS and DTLS protocols and technologies around them" TERMUX_PKG_DEPENDS="libgmp, libnettle, ca-certificates, libidn" _TERMUX_PKG_MAJOR_VERSION=3.4 -TERMUX_PKG_VERSION=${_TERMUX_PKG_MAJOR_VERSION}.9 +TERMUX_PKG_VERSION=${_TERMUX_PKG_MAJOR_VERSION}.10 TERMUX_PKG_SRCURL=ftp://ftp.gnutls.org/gcrypt/gnutls/v${_TERMUX_PKG_MAJOR_VERSION}/gnutls-${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-hardware-acceleration --disable-cxx --disable-openssl-compatibility --with-included-libtasn1 --without-p11-kit --with-default-trust-store-file=$TERMUX_PREFIX/etc/tls/cert.pem" diff --git a/packages/libgpg-error/build.sh b/packages/libgpg-error/build.sh index abdf5eac5..30f577915 100755 --- a/packages/libgpg-error/build.sh +++ b/packages/libgpg-error/build.sh @@ -1,12 +1,21 @@ -TERMUX_PKG_VERSION=1.21 TERMUX_PKG_HOMEPAGE=http://www.gnupg.org/related_software/libgpg-error/ TERMUX_PKG_DESCRIPTION="Small library that defines common error values for all GnuPG components" +TERMUX_PKG_VERSION=1.21 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-${TERMUX_PKG_VERSION}.tar.bz2 TERMUX_PKG_RM_AFTER_INSTALL="share/common-lisp" -termux_step_post_configure () { - # To fix non-arm builds, see: - # https://lists.gnupg.org/pipermail/gnupg-devel/2014-January/028203.html - # https://gitorious.org/vlc/vlc/commit/3054560987971aff19c496db38834458f8c29377 - cp $TERMUX_PKG_SRCDIR/src/syscfg/lock-obj-pub.arm-unknown-linux-androideabi.h $TERMUX_PKG_SRCDIR/src/syscfg/lock-obj-pub.linux-android.h +termux_step_post_extract_package () { + # Upstream only has Android definitions for platform-specific lock objects. + # See https://lists.gnupg.org/pipermail/gnupg-devel/2014-January/028203.html + # for how to generate a lock-obj header file on devices. + + # For aarch64 this was generated on a device: + cp $TERMUX_PKG_BUILDER_DIR/lock-obj-pub.aarch64-unknown-linux-android.h $TERMUX_PKG_SRCDIR/src/syscfg/ + + if [ $TERMUX_ARCH = i686 ]; then + # Android i686 has same config as arm (verified by generating a file on a i686 device): + cp $TERMUX_PKG_SRCDIR/src/syscfg/lock-obj-pub.arm-unknown-linux-androideabi.h \ + $TERMUX_PKG_SRCDIR/src/syscfg/lock-obj-pub.linux-android.h + fi } diff --git a/packages/libgpg-error/lock-obj-pub.aarch64-unknown-linux-android.h b/packages/libgpg-error/lock-obj-pub.aarch64-unknown-linux-android.h new file mode 100644 index 000000000..6a0fe2ce2 --- /dev/null +++ b/packages/libgpg-error/lock-obj-pub.aarch64-unknown-linux-android.h @@ -0,0 +1,25 @@ +## lock-obj-pub.armv8l-unknown-linux-gnu.h +## File created by gen-posix-lock-obj - DO NOT EDIT +## To be included by mkheader into gpg-error.h + +typedef struct +{ + long _vers; + union { + volatile char _priv[40]; + long _x_align; + long *_xp_align; + } u; +} gpgrt_lock_t; + +#define GPGRT_LOCK_INITIALIZER {1,{{0,0,0,0,0,0,0,0, \ + 0,0,0,0,0,0,0,0, \ + 0,0,0,0,0,0,0,0, \ + 0,0,0,0,0,0,0,0, \ + 0,0,0,0,0,0,0,0}}} +## +## Local Variables: +## mode: c +## buffer-read-only: t +## End: +## diff --git a/packages/libksba/build.sh b/packages/libksba/build.sh index ce2e062c9..dbe641adc 100755 --- a/packages/libksba/build.sh +++ b/packages/libksba/build.sh @@ -1,7 +1,7 @@ TERMUX_PKG_HOMEPAGE=http://gnupg.org/related_software/libksba/ TERMUX_PKG_DESCRIPTION="Library for using X.509 certificates and CMS (Cryptographic Message Syntax) easily accessible" TERMUX_PKG_VERSION=1.3.3 -TERMUX_PKG_BUILD_REVISION=1 +TERMUX_PKG_BUILD_REVISION=2 TERMUX_PKG_SRCURL=ftp://ftp.gnupg.org/gcrypt/libksba/libksba-${TERMUX_PKG_VERSION}.tar.bz2 TERMUX_PKG_DEPENDS="libgpg-error" TERMUX_PKG_RM_AFTER_INSTALL=bin/ksba-config diff --git a/packages/libluajit/build.sh b/packages/libluajit/build.sh index f3cdc9851..8589617b6 100644 --- a/packages/libluajit/build.sh +++ b/packages/libluajit/build.sh @@ -1,7 +1,7 @@ TERMUX_PKG_HOMEPAGE=http://luajit.org/ TERMUX_PKG_DESCRIPTION="Just-In-Time Compiler for Lua" -TERMUX_PKG_VERSION=2.0.90 -TERMUX_PKG_SRCURL=http://luajit.org/download/LuaJIT-2.1.0-beta1.tar.gz +TERMUX_PKG_VERSION=2.1.0~beta2 +TERMUX_PKG_SRCURL=http://luajit.org/download/LuaJIT-2.1.0-beta2.tar.gz TERMUX_PKG_EXTRA_MAKE_ARGS="amalg PREFIX=$TERMUX_PREFIX" TERMUX_PKG_BUILD_IN_SRC=yes diff --git a/packages/libmpfr/build.sh b/packages/libmpfr/build.sh index 8bde336b2..c8f4eeba7 100755 --- a/packages/libmpfr/build.sh +++ b/packages/libmpfr/build.sh @@ -1,7 +1,6 @@ TERMUX_PKG_HOMEPAGE=http://www.mpfr.org/ TERMUX_PKG_DESCRIPTION="C library for multiple-precision floating-point computations with correct rounding" TERMUX_PKG_DEPENDS="libgmp" -TERMUX_PKG_VERSION=3.1.3 -TERMUX_PKG_BUILD_REVISION=1 +TERMUX_PKG_VERSION=3.1.4 TERMUX_PKG_SRCURL=http://ftp.gnu.org/gnu/mpfr/mpfr-${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_EXTRA_CONFIGURE_ARGS="ac_cv_header_locale_h=no" diff --git a/packages/libmsgpack/build.sh b/packages/libmsgpack/build.sh index 02a2dbcb7..be13a3d6b 100644 --- a/packages/libmsgpack/build.sh +++ b/packages/libmsgpack/build.sh @@ -1,5 +1,5 @@ TERMUX_PKG_HOMEPAGE=https://github.com/msgpack/msgpack-c/ TERMUX_PKG_DESCRIPTION="MessagePack implementation for C and C++" -TERMUX_PKG_VERSION=1.3.0 +TERMUX_PKG_VERSION=1.4.1 TERMUX_PKG_SRCURL=https://github.com/msgpack/msgpack-c/releases/download/cpp-${TERMUX_PKG_VERSION}/msgpack-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_BUILD_IN_SRC=yes diff --git a/packages/libopus/build.sh b/packages/libopus/build.sh index 871bd5e42..06de46d52 100644 --- a/packages/libopus/build.sh +++ b/packages/libopus/build.sh @@ -1,4 +1,4 @@ TERMUX_PKG_HOMEPAGE=http://www.opus-codec.org/ TERMUX_PKG_DESCRIPTION="Reference implementation of the Opus codec" -TERMUX_PKG_VERSION=1.1.1 +TERMUX_PKG_VERSION=1.1.2 TERMUX_PKG_SRCURL=http://downloads.xiph.org/releases/opus/opus-${TERMUX_PKG_VERSION}.tar.gz diff --git a/packages/libpixman/build.sh b/packages/libpixman/build.sh index bb12449bd..135eae8f6 100644 --- a/packages/libpixman/build.sh +++ b/packages/libpixman/build.sh @@ -1,4 +1,4 @@ TERMUX_PKG_HOMEPAGE=http://www.pixman.org/ TERMUX_PKG_DESCRIPTION="Low-level library for pixel manipulation" -TERMUX_PKG_VERSION=0.32.8 +TERMUX_PKG_VERSION=0.34.0 TERMUX_PKG_SRCURL=http://cairographics.org/releases/pixman-${TERMUX_PKG_VERSION}.tar.gz diff --git a/packages/librsvg/build.sh b/packages/librsvg/build.sh index cd09280be..bc47e5dfb 100644 --- a/packages/librsvg/build.sh +++ b/packages/librsvg/build.sh @@ -1,6 +1,6 @@ TERMUX_PKG_HOMEPAGE=https://wiki.gnome.org/action/show/Projects/LibRsvg TERMUX_PKG_DESCRIPTION="Library to render SVG files using cairo" -TERMUX_PKG_VERSION=2.40.12 +TERMUX_PKG_VERSION=2.40.13 TERMUX_PKG_SRCURL=http://ftp.gnome.org/pub/GNOME/sources/librsvg/2.40/librsvg-${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_DEPENDS="libcroco,pango,gdk-pixbuf" TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-introspection" diff --git a/packages/libsqlite/build.sh b/packages/libsqlite/build.sh index fb6ac8165..804323ff4 100755 --- a/packages/libsqlite/build.sh +++ b/packages/libsqlite/build.sh @@ -1,4 +1,5 @@ TERMUX_PKG_HOMEPAGE=http://www.sqlite.org/ TERMUX_PKG_DESCRIPTION="Software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine" -TERMUX_PKG_VERSION=3.10.1 -TERMUX_PKG_SRCURL=http://www.sqlite.org/2015/sqlite-autoconf-3080803.tar.gz +TERMUX_PKG_VERSION=3.11.1 +TERMUX_PKG_SRCURL=https://www.sqlite.org/2016/sqlite-autoconf-3110100.tar.gz +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--enable-readline" diff --git a/disabled-packages/libtalloc/build.sh b/packages/libtalloc/build.sh similarity index 92% rename from disabled-packages/libtalloc/build.sh rename to packages/libtalloc/build.sh index 4c2829191..59db4da35 100644 --- a/disabled-packages/libtalloc/build.sh +++ b/packages/libtalloc/build.sh @@ -1,13 +1,16 @@ # Compiles, but unused (proot will perhaps use it) TERMUX_PKG_HOMEPAGE=https://talloc.samba.org/talloc/doc/html/index.html TERMUX_PKG_DESCRIPTION="Hierarchical, reference counted memory pool system with destructors" -TERMUX_PKG_VERSION=2.1.5 +TERMUX_PKG_VERSION=2.1.6 TERMUX_PKG_SRCURL=https://www.samba.org/ftp/talloc/talloc-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_BUILD_IN_SRC="yes" termux_step_configure () { + # Force fresh install: + rm -f $TERMUX_PREFIX/include/talloc.h + # Make sure symlinks are installed: - rm $TERMUX_PREFIX/lib/libtalloc* + rm $TERMUX_PREFIX/lib/libtalloc* || true cd $TERMUX_PKG_SRCDIR diff --git a/disabled-packages/libtalloc/wscript.patch b/packages/libtalloc/wscript.patch similarity index 100% rename from disabled-packages/libtalloc/wscript.patch rename to packages/libtalloc/wscript.patch diff --git a/packages/linux-man-pages/build.sh b/packages/linux-man-pages/build.sh index c0788b55e..31311c76d 100644 --- a/packages/linux-man-pages/build.sh +++ b/packages/linux-man-pages/build.sh @@ -1,6 +1,7 @@ TERMUX_PKG_HOMEPAGE=https://www.kernel.org/doc/man-pages/ TERMUX_PKG_DESCRIPTION="Man pages for linux kernel and C library interfaces" -TERMUX_PKG_VERSION=4.03 +TERMUX_PKG_DEPENDS="man" +TERMUX_PKG_VERSION=4.04 TERMUX_PKG_SRCURL=https://www.kernel.org/pub/linux/docs/man-pages/man-pages-${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_EXTRA_MAKE_ARGS="prefix=$TERMUX_PREFIX" # man.7 and mdoc.7 is included with mandoc: diff --git a/packages/luarocks/build.sh b/packages/luarocks/build.sh index 4f430aa1b..8944bd186 100644 --- a/packages/luarocks/build.sh +++ b/packages/luarocks/build.sh @@ -1,6 +1,6 @@ TERMUX_PKG_HOMEPAGE=http://luarocks.org/ TERMUX_PKG_DESCRIPTION="Deployment and management system for Lua modules" -TERMUX_PKG_VERSION=2.2.2 +TERMUX_PKG_VERSION=2.3.0 TERMUX_PKG_SRCURL=http://luarocks.org/releases/luarocks-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_DEPENDS="curl, luajit" TERMUX_PKG_BUILD_IN_SRC=yes diff --git a/packages/lynx/build.sh b/packages/lynx/build.sh index 05adda10c..1666ee8e2 100644 --- a/packages/lynx/build.sh +++ b/packages/lynx/build.sh @@ -2,8 +2,7 @@ TERMUX_PKG_HOMEPAGE=http://lynx.isc.org/ TERMUX_PKG_DESCRIPTION="The text web browser" TERMUX_PKG_VERSION=2.8.8rel.2 TERMUX_PKG_SRCURL=http://invisible-mirror.net/archives/lynx/tarballs/lynx${TERMUX_PKG_VERSION}.tar.bz2 -#http://lynx.isc.org/lynx${TERMUX_PKG_VERSION}/lynx${TERMUX_PKG_VERSION}.tar.bz2 -TERMUX_PKG_DEPENDS="ncurses, openssl, libbz2" +TERMUX_PKG_DEPENDS="ncurses, openssl, libbz2, libidn" TERMUX_PKG_FOLDERNAME="lynx2-8-8" TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-screen=ncursesw --enable-widec --enable-scrollbar --enable-nested-tables --enable-htmlized-cfg --with-ssl --with-zlib --with-bzlib --enable-cjk --enable-japanese-utf8 --enable-progressbar --enable-prettysrc --enable-forms-options --enable-8bit-toupper --enable-ascii-ctypes --disable-font-switch" diff --git a/packages/mc/build.sh b/packages/mc/build.sh index 04ccc8fb3..70d9618b7 100755 --- a/packages/mc/build.sh +++ b/packages/mc/build.sh @@ -1,9 +1,9 @@ -TERMUX_PKG_VERSION=4.8.15 -TERMUX_PKG_BUILD_REVISION=1 +TERMUX_PKG_VERSION=4.8.16 +TERMUX_PKG_BUILD_REVISION=4 TERMUX_PKG_HOMEPAGE=https://www.midnight-commander.org/ TERMUX_PKG_DESCRIPTION="Midnight Commander - a powerful file manager" TERMUX_PKG_SRCURL="http://ftp.midnight-commander.org/mc-${TERMUX_PKG_VERSION}.tar.xz" -TERMUX_PKG_DEPENDS="ncurses, glib" +TERMUX_PKG_DEPENDS="libandroid-support, ncurses, glib" TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-ncurses-libs=$TERMUX_PREFIX/lib --with-screen=ncurses" # mc uses the deprecated S_IWRITE definition, which android does not define: # https://code.google.com/p/android/issues/detail?id=19710 diff --git a/packages/mc/filemanager_usermenu.c.patch b/packages/mc/filemanager_usermenu.c.patch index 41194d3f7..c7705afa2 100644 --- a/packages/mc/filemanager_usermenu.c.patch +++ b/packages/mc/filemanager_usermenu.c.patch @@ -1,7 +1,7 @@ -diff -u -r ../mc-4.8.12/src/filemanager/usermenu.c ./src/filemanager/usermenu.c ---- ../mc-4.8.12/src/filemanager/usermenu.c 2014-04-01 12:54:01.000000000 +0200 -+++ ./src/filemanager/usermenu.c 2014-06-05 16:27:09.221997381 +0200 -@@ -453,7 +453,7 @@ +diff -u -r ../mc-4.8.16/src/filemanager/usermenu.c ./src/filemanager/usermenu.c +--- ../mc-4.8.16/src/filemanager/usermenu.c 2016-03-12 10:45:48.000000000 -0500 ++++ ./src/filemanager/usermenu.c 2016-03-14 20:34:12.523712672 -0400 +@@ -448,7 +448,7 @@ return; } cmd_file = fdopen (cmd_file_fd, "w"); @@ -9,4 +9,13 @@ diff -u -r ../mc-4.8.12/src/filemanager/usermenu.c ./src/filemanager/usermenu.c + fputs ("#! @TERMUX_PREFIX@/bin/sh\n", cmd_file); commands++; - for (col = 0; *commands; commands++) + for (col = 0; *commands != '\0'; commands++) +@@ -554,7 +554,7 @@ + * on no-exec filesystems. */ + char *cmd; + +- cmd = g_strconcat ("/bin/sh ", vfs_path_as_str (file_name_vpath), (char *) NULL); ++ cmd = g_strconcat ("@TERMUX_PREFIX@/bin/sh ", vfs_path_as_str (file_name_vpath), (char *) NULL); + if (!show_prompt) + { + if (system (cmd) == -1) diff --git a/packages/mc/fix-small-mode-t.patch b/packages/mc/fix-small-mode-t.patch new file mode 100644 index 000000000..396f49cbd --- /dev/null +++ b/packages/mc/fix-small-mode-t.patch @@ -0,0 +1,35 @@ +Following compiler warning: + +/home/fornwall/termux/mc/src/lib/vfs/interface.c: In function 'mc_open': +/home/fornwall/termux/mc/src/lib/vfs/interface.c:203:28: warning: 'mode_t' is promoted to 'int' when passed through '...' + mode = va_arg (ap, mode_t); + ^ +/home/fornwall/termux/mc/src/lib/vfs/interface.c:203:28: note: (so you should pass 'int' not 'mode_t' to 'va_arg') +/home/fornwall/termux/mc/src/lib/vfs/interface.c:203:28: note: if this code is reached, the program will abort + +which causes crash on arm devices due to mode_t being unsigned int. + +diff -u -r ../mc-4.8.16/lib/vfs/interface.c ./lib/vfs/interface.c +--- ../mc-4.8.16/lib/vfs/interface.c 2016-03-12 10:45:47.000000000 -0500 ++++ ./lib/vfs/interface.c 2016-03-14 22:03:41.417524612 -0400 +@@ -200,7 +200,7 @@ + { + va_list ap; + va_start (ap, flags); +- mode = va_arg (ap, mode_t); ++ mode = (mode_t) va_arg (ap, unsigned int); + va_end (ap); + } + +diff -u -r ../mc-4.8.16/src/editor/editcmd.c ./src/editor/editcmd.c +--- ../mc-4.8.16/src/editor/editcmd.c 2016-03-12 10:45:47.000000000 -0500 ++++ ./src/editor/editcmd.c 2016-03-14 22:03:02.094128021 -0400 +@@ -301,7 +301,7 @@ + (void) mc_chown (savename_vpath, edit->stat1.st_uid, edit->stat1.st_gid); + (void) mc_chmod (savename_vpath, edit->stat1.st_mode); + +- fd = mc_open (savename_vpath, O_CREAT | O_WRONLY | O_TRUNC | O_BINARY, edit->stat1.st_mode); ++ fd = mc_open (savename_vpath, O_CREAT | O_WRONLY | O_TRUNC | O_BINARY, (unsigned int) edit->stat1.st_mode); + if (fd == -1) + goto error_save; + diff --git a/packages/mc/lib-shell.c.patch b/packages/mc/lib-shell.c.patch new file mode 100644 index 000000000..4fa2a4dca --- /dev/null +++ b/packages/mc/lib-shell.c.patch @@ -0,0 +1,35 @@ +diff -u -r ../mc-4.8.16/lib/shell.c ./lib/shell.c +--- ../mc-4.8.16/lib/shell.c 2016-03-12 10:45:47.000000000 -0500 ++++ ./lib/shell.c 2016-03-14 20:31:50.981985797 -0400 +@@ -64,18 +64,14 @@ + mc_shell = g_new0 (mc_shell_t, 1); + + /* 3rd choice: look for existing shells supported as MC subshells. */ +- if (access ("/bin/bash", X_OK) == 0) ++ if (access ("@TERMUX_PREFIX@/bin/bash", X_OK) == 0) + mc_shell->path = g_strdup ("/bin/bash"); +- else if (access ("/bin/ash", X_OK) == 0) ++ else if (access ("@TERMUX_PREFIX@/bin/applets/ash", X_OK) == 0) + mc_shell->path = g_strdup ("/bin/ash"); +- else if (access ("/bin/dash", X_OK) == 0) ++ else if (access ("@TERMUX_PREFIX@/bin/dash", X_OK) == 0) + mc_shell->path = g_strdup ("/bin/dash"); +- else if (access ("/bin/busybox", X_OK) == 0) +- mc_shell->path = g_strdup ("/bin/busybox"); +- else if (access ("/bin/zsh", X_OK) == 0) ++ else if (access ("@TERMUX_PREFIX/bin/zsh", X_OK) == 0) + mc_shell->path = g_strdup ("/bin/zsh"); +- else if (access ("/bin/tcsh", X_OK) == 0) +- mc_shell->path = g_strdup ("/bin/tcsh"); + /* No fish as fallback because it is so much different from other shells and + * in a way exotic (even though user-friendly by name) that we should not + * present it as a subshell without the user's explicit intention. We rather +@@ -85,7 +81,7 @@ + */ + else + /* Fallback and last resort: system default shell */ +- mc_shell->path = g_strdup ("/bin/sh"); ++ mc_shell->path = g_strdup ("@TERMUX_PREFIX@/bin/sh"); + + return mc_shell; + } diff --git a/packages/mc/main.c.patch b/packages/mc/main.c.patch deleted file mode 100644 index 1451f7dbc..000000000 --- a/packages/mc/main.c.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -u -r ../mc-4.8.12/src/main.c ./src/main.c ---- ../mc-4.8.12/src/main.c 2014-04-01 12:54:01.000000000 +0200 -+++ ./src/main.c 2014-06-05 16:29:02.609994281 +0200 -@@ -140,7 +140,7 @@ - if ((mc_global.tty.shell == NULL) || (mc_global.tty.shell[0] == '\0')) - { - g_free (mc_global.tty.shell); -- mc_global.tty.shell = g_strdup ("/bin/sh"); -+ mc_global.tty.shell = g_strdup ("@TERMUX_PREFIX@/bin/sh"); - } - - /* This is the directory, where MC was installed, on Unix this is DATADIR */ diff --git a/packages/mc/mc-3611-fish-fix-perl-ls-helper.patch b/packages/mc/mc-3611-fish-fix-perl-ls-helper.patch new file mode 100644 index 000000000..4010bd058 --- /dev/null +++ b/packages/mc/mc-3611-fish-fix-perl-ls-helper.patch @@ -0,0 +1,34 @@ +From e274e58cb7dff1683480f5538fd1bfa41a85c0c7 Mon Sep 17 00:00:00 2001 +From: Andreas Mohr +Date: Sun, 13 Mar 2016 20:59:47 +0000 +Subject: [PATCH] Fish: fix perl ls helper + +With #3599 I introduce a perl warning in fish_list_perl() +so fish_list_perl() was skipped (return code 255) and fallback ls +function was used instead. + +Plus all % chars must quoted because of g_strconcat() after reading +script file into string. + +Fix it! + +Signed-off-by: Andreas Mohr +--- + src/vfs/fish/helpers/ls | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/vfs/fish/helpers/ls b/src/vfs/fish/helpers/ls +index 1284e17..909a77d 100755 +--- a/src/vfs/fish/helpers/ls ++++ b/src/vfs/fish/helpers/ls +@@ -138,8 +138,8 @@ while((my $filename = readdir (DIR))){ + my $linkname = readlink ("$dirname/$filename"); + $linkname =~ $strutils_shell_escape_regex; + printf("R%%o %%o $uid.$gid\nS$size\nd$mloctime\n:\"%%s\" -> \"%%s\"\n\n", S_IMODE($mode), S_IFMT($mode), $e_filename, $linkname); +- } elseif (S_ISCHR ($mode) || S_ISBLK ($mode)) { +- my $minor = $rdev % 256; ++ } elsif (S_ISCHR ($mode) || S_ISBLK ($mode)) { ++ my $minor = $rdev %% 256; + my $major = int( $rdev / 256 ); + printf("R%%o %%o $uid.$gid\nE$major,$minor\nd$mloctime\n:\"%%s\"\n\n", S_IMODE($mode), S_IFMT($mode), $e_filename); + } else { diff --git a/packages/mc/src-vfs-sfs-sfs.c.patch b/packages/mc/src-vfs-sfs-sfs.c.patch new file mode 100644 index 000000000..0121b6aa2 --- /dev/null +++ b/packages/mc/src-vfs-sfs-sfs.c.patch @@ -0,0 +1,12 @@ +diff -u -r ../mc-4.8.16/src/vfs/sfs/sfs.c ./src/vfs/sfs/sfs.c +--- ../mc-4.8.16/src/vfs/sfs/sfs.c 2016-03-12 10:45:48.000000000 -0500 ++++ ./src/vfs/sfs/sfs.c 2016-03-14 20:36:48.293235351 -0400 +@@ -206,7 +206,7 @@ + + g_free (pqname); + open_error_pipe (); +- if (my_system (EXECUTE_AS_SHELL, "/bin/sh", pad)) ++ if (my_system (EXECUTE_AS_SHELL, "@TERMUX_PREFIX@/bin/sh", pad)) + { + close_error_pipe (D_ERROR, NULL); + return -1; diff --git a/packages/mc/strutil.patch b/packages/mc/strutil.patch deleted file mode 100644 index 010057ddd..000000000 --- a/packages/mc/strutil.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff -u -r ../mc-4.8.11/lib/strutil/strutil.c ./lib/strutil/strutil.c ---- ../mc-4.8.11/lib/strutil/strutil.c 2013-11-29 19:27:07.000000000 +0100 -+++ ./lib/strutil/strutil.c 2014-02-07 01:55:53.000000000 +0100 -@@ -26,7 +26,9 @@ - #include - - #include -+#ifndef __ANDROID__ - #include -+#endif - #include - #include - -@@ -306,6 +308,9 @@ - const char * - str_detect_termencoding (void) - { -+#ifdef __ANDROID__ -+ return "utf-8"; -+#else - if (term_encoding == NULL) - { - /* On Linux, nl_langinfo (CODESET) returns upper case UTF-8 whether the LANG is set -@@ -316,6 +321,7 @@ - } - - return term_encoding; -+#endif - } - - static int diff --git a/packages/mc/strutilutf8.patch b/packages/mc/strutilutf8.patch deleted file mode 100644 index d6513edf8..000000000 --- a/packages/mc/strutilutf8.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -u -r ../mc-4.8.11/lib/strutil/strutilutf8.c ./lib/strutil/strutilutf8.c ---- ../mc-4.8.11/lib/strutil/strutilutf8.c 2013-11-29 19:27:07.000000000 +0100 -+++ ./lib/strutil/strutilutf8.c 2014-02-07 01:56:32.000000000 +0100 -@@ -26,7 +26,9 @@ - #include - - #include -+#ifndef __ANDROID__ - #include -+#endif - #include - - #include "lib/global.h" diff --git a/packages/mlocate/build.sh b/packages/mlocate/build.sh index 7026c285e..3854fce12 100644 --- a/packages/mlocate/build.sh +++ b/packages/mlocate/build.sh @@ -1,6 +1,7 @@ TERMUX_PKG_HOMEPAGE=https://fedorahosted.org/mlocate/ TERMUX_PKG_DESCRIPTION="Tool to find files anywhere in the filesystem based on their name" TERMUX_PKG_VERSION=0.26 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=https://fedorahosted.org/releases/m/l/mlocate/mlocate-${TERMUX_PKG_VERSION}.tar.xz CPPFLAGS+=" -DLINE_MAX=_POSIX2_LINE_MAX" diff --git a/packages/mlocate/conf.c.patch b/packages/mlocate/conf.c.patch index 3bd28d887..37ad76e97 100644 --- a/packages/mlocate/conf.c.patch +++ b/packages/mlocate/conf.c.patch @@ -6,7 +6,7 @@ diff -u -r ../mlocate-0.26/src/conf.c ./src/conf.c if (conf_scan_root == NULL) { - static char root[] = "/"; -+ static char root[] = "@TERMUX_PREFIX@"; ++ static char root[] = "/data/data/com.termux/files/"; conf_scan_root = root; } diff --git a/packages/mutt/build.sh b/packages/mutt/build.sh index d2299a1f5..063f43472 100644 --- a/packages/mutt/build.sh +++ b/packages/mutt/build.sh @@ -1,13 +1,14 @@ TERMUX_PKG_HOMEPAGE=http://www.mutt.org/ TERMUX_PKG_DESCRIPTION="Mail client" TERMUX_PKG_VERSION=1.5.24 -TERMUX_PKG_BUILD_REVISION=2 +TERMUX_PKG_BUILD_REVISION=3 TERMUX_PKG_SRCURL=https://bitbucket.org/mutt/mutt/downloads/mutt-${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_DEPENDS="libandroid-support, ncurses, gdbm, openssl, libsasl" +TERMUX_PKG_DEPENDS="libandroid-support, ncurses, gdbm, openssl, libsasl, gpgme" TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--enable-smtp --enable-imap --enable-pop --with-mailpath=$TERMUX_PREFIX/var/mail --with-ssl --enable-compressed --without-idn --enable-hcache --with-sasl" TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-exec-shell=$TERMUX_PREFIX/bin/sh" # The mutt autoconf guesses no for working (v)snprintf and uses broken local versions - avoid that: TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" mutt_cv_c99_snprintf=yes mutt_cv_c99_vsnprintf=yes" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --enable-gpgme" # TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-sasl" # bin/{flea,muttbug}: File bug against mutt: TERMUX_PKG_RM_AFTER_INSTALL="bin/flea bin/muttbug" diff --git a/packages/nano/build.sh b/packages/nano/build.sh index c3890d7a8..ba423c244 100644 --- a/packages/nano/build.sh +++ b/packages/nano/build.sh @@ -1,7 +1,8 @@ TERMUX_PKG_HOMEPAGE=http://www.nano-editor.org/ TERMUX_PKG_DESCRIPTION="Small, free and friendly text editor" TERMUX_PKG_DEPENDS="ncurses" -TERMUX_PKG_VERSION=2.5.1 +TERMUX_PKG_VERSION=2.5.3 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=http://www.nano-editor.org/dist/v2.5/nano-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_DEPENDS="libandroid-support,libandroid-glob,ncurses" TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--enable-utf8 --disable-libmagic" diff --git a/packages/ncdc/build.sh b/packages/ncdc/build.sh index 71950f8eb..84be58b59 100644 --- a/packages/ncdc/build.sh +++ b/packages/ncdc/build.sh @@ -1,6 +1,7 @@ TERMUX_PKG_HOMEPAGE=http://dev.yorhel.nl/ncdc TERMUX_PKG_DESCRIPTION="Modern and lightweight direct connect client with a friendly ncurses interface" TERMUX_PKG_VERSION=1.19.1 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=http://dev.yorhel.nl/download/ncdc-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_DEPENDS="libandroid-support, libgnutls, libsqlite, bzip2, glib, ncurses" diff --git a/packages/ndk-stl/build.sh b/packages/ndk-stl/build.sh index 71fcc408b..33220aceb 100644 --- a/packages/ndk-stl/build.sh +++ b/packages/ndk-stl/build.sh @@ -11,7 +11,7 @@ termux_step_extract_into_massagedir () { #cp $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/lib/gcc/arm-linux-androideabi/4.9.0/include/arm-linux-androideabi/bits/* $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/lib/gcc/arm-linux-androideabi/4.9.0/include/bits/ mkdir -p $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/include/ - cp -Rf $TERMUX_STANDALONE_TOOLCHAIN/include/c++/$TERMUX_GCC_VERSION/* $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/include/ + cp -Rf $TERMUX_STANDALONE_TOOLCHAIN/include/c++/4.9/* $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/include/ if [ $TERMUX_ARCH = arm ]; then cp $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/include/arm-linux-androideabi/armv7-a/bits/* \ $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/include/bits diff --git a/packages/neovim/runtime-autoload-provider-clipboard.vim.patch b/packages/neovim/runtime-autoload-provider-clipboard.vim.patch new file mode 100644 index 000000000..b91a6dba4 --- /dev/null +++ b/packages/neovim/runtime-autoload-provider-clipboard.vim.patch @@ -0,0 +1,14 @@ +--- ../neovim-master/runtime/autoload/provider/clipboard.vim 2016-02-17 20:56:48.362733600 -0600 ++++ ./runtime/autoload/provider/clipboard.vim 2016-02-17 20:56:23.022486500 -0600 +@@ -47,6 +47,11 @@ + let s:paste['+'] = 'xclip -o -selection clipboard' + let s:copy['*'] = 'xclip -quiet -i -selection primary' + let s:paste['*'] = 'xclip -o -selection primary' ++elseif executable('termux-clipboard-set') ++ let s:copy['+'] = 'termux-clipboard-set' ++ let s:paste['+'] = 'termux-clipboard-get' ++ let s:copy['*'] = 'termux-clipboard-set' ++ let s:paste['*'] = 'termux-clipboard-get' + else + echom 'clipboard: No clipboard tool available. See :help nvim-clipboard' + finish diff --git a/packages/netpbm/build.sh b/packages/netpbm/build.sh index 0d870ca16..753b244e5 100644 --- a/packages/netpbm/build.sh +++ b/packages/netpbm/build.sh @@ -4,7 +4,7 @@ TERMUX_PKG_DESCRIPTION="Toolkit for manipulation of graphic images, including co # and are divided among (1) Development, (2) Advanced, (3) Stable and (4) Super Stable. # Only Super Stable is distributed as a tar ball, but is outdated and does not compile with modern libpng. # So use revisions from http://svn.code.sf.net/p/netpbm/code/advanced for packages. -_SVN_REVISION=2665 +_SVN_REVISION=2683 TERMUX_PKG_VERSION=${_SVN_REVISION} TERMUX_PKG_DEPENDS="libpng, libxml2" TERMUX_PKG_BUILD_IN_SRC=yes diff --git a/packages/nmap/build.sh b/packages/nmap/build.sh index 18ee00daa..0e8dea760 100644 --- a/packages/nmap/build.sh +++ b/packages/nmap/build.sh @@ -1,12 +1,26 @@ TERMUX_PKG_HOMEPAGE=https://nmap.org/ TERMUX_PKG_DESCRIPTION="Utility for network discovery and security auditing" -TERMUX_PKG_VERSION=7.01 -TERMUX_PKG_BUILD_REVISION=1 +TERMUX_PKG_VERSION=7.10 +TERMUX_PKG_BUILD_REVISION=2 TERMUX_PKG_SRCURL=https://nmap.org/dist/nmap-${TERMUX_PKG_VERSION}.tar.bz2 -TERMUX_PKG_DEPENDS="libpcap, pcre, openssl, resolv-conf" +# Depend on netcat so that it gets installed automatically when installing +# nmap, since the ncat program is usually distributed as part of nmap. +TERMUX_PKG_DEPENDS="libpcap, pcre, openssl, resolv-conf, netcat" # --without-nmap-update to avoid linking against libsvn_client: # --without-zenmap to avoid python scripts for graphical gtk frontend: # --with-liblua=included to use internal liblua, since only lua 5.2 supported: # --without-ndiff to avoid python2-using ndiff utility: TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--enable-static --with-liblua=included --without-nmap-update --without-zenmap --without-ndiff" TERMUX_PKG_BUILD_IN_SRC="yes" + + +termux_step_post_make_install () { + # Setup 'netcat' and 'nc' as symlink to 'ncat', since the other netcat implementations + # are outdated (gnu-netcat) or non-portable (openbsd-netcat). + for prog in netcat nc; do + cd $TERMUX_PREFIX/bin + ln -s -f ncat $prog + cd $TERMUX_PREFIX/share/man/man1 + ln -s -f ncat.1 ${prog}.1 + done +} diff --git a/packages/nmap/netcat.subpackage.sh b/packages/nmap/netcat.subpackage.sh new file mode 100644 index 000000000..1ff2ce46e --- /dev/null +++ b/packages/nmap/netcat.subpackage.sh @@ -0,0 +1,3 @@ +TERMUX_SUBPKG_INCLUDE="bin/ncat bin/netcat bin/nc share/man/man1/ncat.1 share/man/man1/netcat.1 share/man/man1/nc.1" +TERMUX_SUBPKG_DESCRIPTION="Feature-packed networking utility which reads and writes data across networks from the command line" +TERMUX_SUBPKG_DEPENDS="libpcap, openssl" diff --git a/packages/nodejs/build.sh b/packages/nodejs/build.sh index 5ec39c0eb..449d97e77 100644 --- a/packages/nodejs/build.sh +++ b/packages/nodejs/build.sh @@ -1,6 +1,6 @@ TERMUX_PKG_HOMEPAGE=http://nodejs.org/ TERMUX_PKG_DESCRIPTION="Platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications" -TERMUX_PKG_VERSION=5.5.0 +TERMUX_PKG_VERSION=5.9.0 TERMUX_PKG_SRCURL=https://nodejs.org/dist/v${TERMUX_PKG_VERSION}/node-v${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_DEPENDS="openssl, libuv" TERMUX_PKG_RM_AFTER_INSTALL="lib/node_modules/npm/html lib/node_modules/npm/make.bat share/systemtap lib/dtrace" diff --git a/packages/openssh/build.sh b/packages/openssh/build.sh index a7d5fb215..7ecaf2747 100755 --- a/packages/openssh/build.sh +++ b/packages/openssh/build.sh @@ -1,6 +1,6 @@ TERMUX_PKG_HOMEPAGE=http://www.openssh.com/ TERMUX_PKG_DESCRIPTION="Secure shell for logging into a remote machine" -TERMUX_PKG_VERSION=7.1p2 +TERMUX_PKG_VERSION=7.2p2 TERMUX_PKG_SRCURL=http://ftp.eu.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_DEPENDS="libandroid-support, ldns, openssl" # --disable-strip to prevent host "install" command to use "-s", which won't work for target binaries: @@ -21,7 +21,7 @@ termux_step_pre_make () { termux_step_post_make_install () { # OpenSSH 7.0 disabled ssh-dss by default, keep it for a while in Termux: - echo -e "UsePrivilegeSeparation no\nPubkeyAcceptedKeyTypes +ssh-dss" > $TERMUX_PREFIX/etc/ssh/sshd_config + echo -e "UsePrivilegeSeparation no\nPubkeyAcceptedKeyTypes +ssh-dss\nSubsystem sftp $TERMUX_PREFIX/libexec/sftp-server" > $TERMUX_PREFIX/etc/ssh/sshd_config echo "PubkeyAcceptedKeyTypes +ssh-dss" > $TERMUX_PREFIX/etc/ssh/ssh_config cp $TERMUX_PKG_BUILDER_DIR/source-ssh-agent.sh $TERMUX_PREFIX/bin/source-ssh-agent cp $TERMUX_PKG_BUILDER_DIR/ssh-with-agent.sh $TERMUX_PREFIX/bin/ssha diff --git a/packages/openssh/sshd.c.patch b/packages/openssh/sshd.c.patch index 71d463b5e..86c70e440 100644 --- a/packages/openssh/sshd.c.patch +++ b/packages/openssh/sshd.c.patch @@ -2,21 +2,21 @@ Avoid calling setgroups(2). Hardcode and do not require absolute path. -diff -u -r ../openssh-6.6p1/sshd.c ./sshd.c ---- ../openssh-6.6p1/sshd.c 2014-02-27 00:20:08.000000000 +0100 -+++ ./sshd.c 2014-06-04 13:25:00.476658070 +0200 -@@ -647,8 +647,10 @@ - do_setusercontext(privsep_pw); - #else - gidset[0] = privsep_pw->pw_gid; +diff -u -r ../openssh-7.2p1/sshd.c ./sshd.c +--- ../openssh-7.2p1/sshd.c 2016-02-25 22:40:04.000000000 -0500 ++++ ./sshd.c 2016-02-29 02:36:00.863344328 -0500 +@@ -644,8 +644,10 @@ + debug3("privsep user:group %u:%u", (u_int)privsep_pw->pw_uid, + (u_int)privsep_pw->pw_gid); + gidset[0] = privsep_pw->pw_gid; +#ifndef __ANDROID__ - if (setgroups(1, gidset) < 0) - fatal("setgroups: %.100s", strerror(errno)); + if (setgroups(1, gidset) < 0) + fatal("setgroups: %.100s", strerror(errno)); +#endif - permanently_set_uid(privsep_pw); - #endif + permanently_set_uid(privsep_pw); + } } -@@ -1403,7 +1405,8 @@ +@@ -1487,7 +1489,8 @@ saved_argc = ac; rexec_argc = ac; saved_argv = xcalloc(ac + 1, sizeof(*saved_argv)); @@ -26,7 +26,7 @@ diff -u -r ../openssh-6.6p1/sshd.c ./sshd.c saved_argv[i] = xstrdup(av[i]); saved_argv[i] = NULL; -@@ -1413,8 +1416,10 @@ +@@ -1497,8 +1500,10 @@ av = saved_argv; #endif @@ -37,7 +37,7 @@ diff -u -r ../openssh-6.6p1/sshd.c ./sshd.c /* Ensure that fds 0, 1 and 2 are open or directed to /dev/null */ sanitise_stdfd(); -@@ -1543,8 +1548,6 @@ +@@ -1628,8 +1633,6 @@ } if (rexeced_flag || inetd_flag) rexec_flag = 0; @@ -46,7 +46,7 @@ diff -u -r ../openssh-6.6p1/sshd.c ./sshd.c if (rexeced_flag) closefrom(REEXEC_MIN_FREE_FD); else -@@ -1669,7 +1672,9 @@ +@@ -1764,7 +1767,9 @@ free(privsep_pw->pw_passwd); privsep_pw->pw_passwd = xstrdup("*"); } @@ -56,7 +56,7 @@ diff -u -r ../openssh-6.6p1/sshd.c ./sshd.c /* load host keys */ sensitive_data.host_keys = xcalloc(options.num_host_key_files, -@@ -1838,8 +1843,10 @@ +@@ -1948,8 +1953,10 @@ * to create a file, and we can't control the code in every * module which might be used). */ diff --git a/packages/openssl/build.sh b/packages/openssl/build.sh index 458faf5a6..63f84f17c 100755 --- a/packages/openssl/build.sh +++ b/packages/openssl/build.sh @@ -1,7 +1,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.2f +TERMUX_PKG_VERSION=1.0.2g TERMUX_PKG_SRCURL="http://www.openssl.org/source/openssl-${TERMUX_PKG_VERSION}.tar.gz" TERMUX_PKG_RM_AFTER_INSTALL="bin/c_rehash etc/ssl/misc" TERMUX_PKG_BUILD_IN_SRC=yes diff --git a/packages/pango/build.sh b/packages/pango/build.sh index 0b6284416..ee2e33b91 100644 --- a/packages/pango/build.sh +++ b/packages/pango/build.sh @@ -2,5 +2,6 @@ TERMUX_PKG_HOMEPAGE=http://www.pango.org/ TERMUX_PKG_DESCRIPTION="Library for laying out and rendering text" _MAJOR_VERSION=1.39 TERMUX_PKG_VERSION=${_MAJOR_VERSION}.0 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=http://ftp.gnome.org/pub/GNOME/sources/pango/${_MAJOR_VERSION}/pango-${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_DEPENDS="fontconfig,glib,harfbuzz,libcairo" diff --git a/packages/parallel/build.sh b/packages/parallel/build.sh index 69652af21..15f86ad58 100644 --- a/packages/parallel/build.sh +++ b/packages/parallel/build.sh @@ -1,5 +1,6 @@ TERMUX_PKG_HOMEPAGE=http://www.gnu.org/software/parallel/ TERMUX_PKG_DESCRIPTION="GNU Parallel is a shell tool for executing jobs in parallel using one or more machines" -TERMUX_PKG_VERSION=20160122 +TERMUX_PKG_VERSION=20160222 TERMUX_PKG_SRCURL=http://ftp.gnu.org/gnu/parallel/parallel-${TERMUX_PKG_VERSION}.tar.bz2 TERMUX_PKG_DEPENDS="perl" +TERMUX_PKG_PLATFORM_INDEPENDENT=yes diff --git a/packages/pass/build.sh b/packages/pass/build.sh new file mode 100644 index 000000000..112e06377 --- /dev/null +++ b/packages/pass/build.sh @@ -0,0 +1,8 @@ +TERMUX_PKG_HOMEPAGE=https://www.passwordstore.org/ +TERMUX_PKG_DESCRIPTION="Lightweight directory-based password manager" +TERMUX_PKG_VERSION=1.6.5 +TERMUX_PKG_SRCURL=https://git.zx2c4.com/password-store/snapshot/password-store-${TERMUX_PKG_VERSION}.tar.xz +TERMUX_PKG_BUILD_IN_SRC=yes +TERMUX_PKG_DEPENDS="bash, coreutils, gnupg, pwgen, tree" +TERMUX_PKG_PLATFORM_INDEPENDENT=yes +TERMUX_PKG_EXTRA_MAKE_ARGS="PREFIX=$TERMUX_PREFIX" diff --git a/packages/pass/src-password-store.sh.patch b/packages/pass/src-password-store.sh.patch new file mode 100644 index 000000000..43920ab63 --- /dev/null +++ b/packages/pass/src-password-store.sh.patch @@ -0,0 +1,57 @@ +--- ../password-store-master/src/password-store.sh 2016-02-07 12:05:52.000000000 +0100 ++++ ./src/password-store.sh 2016-03-07 21:29:27.667761280 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env bash ++#!/data/data/com.termux/files/usr/bin/env bash + + # Copyright (C) 2012 - 2014 Jason A. Donenfeld . All Rights Reserved. + # This file is licensed under the GPLv2+. Please see COPYING for more information. +@@ -12,7 +12,9 @@ + which gpg2 &>/dev/null && GPG="gpg2" + [[ -n $GPG_AGENT_INFO || $GPG == "gpg2" ]] && GPG_OPTS+=( "--batch" "--use-agent" ) + ++TERMUXPREFIX=$PREFIX + PREFIX="${PASSWORD_STORE_DIR:-$HOME/.password-store}" ++ + X_SELECTION="${PASSWORD_STORE_X_SELECTION:-clipboard}" + CLIP_TIME="${PASSWORD_STORE_CLIP_TIME:-45}" + GENERATED_LENGTH="${PASSWORD_STORE_GENERATED_LENGTH:-25}" +@@ -133,13 +135,13 @@ + # variable. Specifically, it cannot store nulls nor (non-trivally) store + # trailing new lines. + local sleep_argv0="password store sleep on display $DISPLAY" +- pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5 +- local before="$(xclip -o -selection "$X_SELECTION" 2>/dev/null | base64)" +- echo -n "$1" | xclip -selection "$X_SELECTION" || die "Error: Could not copy data to the clipboard" ++ pgrep -f "^$sleep_argv0" | xargs kill 2>/dev/null && sleep 0.5 ++ local before="$(termux-clipboard-get 2>/dev/null | base64)" ++ echo -n "$1" | termux-clipboard-set || die "Error: Could not copy data to the clipboard" + ( +- ( exec -a "$sleep_argv0" sleep "$CLIP_TIME" ) +- local now="$(xclip -o -selection "$X_SELECTION" | base64)" +- [[ $now != $(echo -n "$1" | base64) ]] && before="$now" ++ ( exec -a "$sleep_argv0" coreutils --coreutils-prog=sleep "$CLIP_TIME" ) ++ local now="$(termux-clipboard-get | base64 )" ++ [[ $now != $(echo "$1" | base64) ]] && before="$now" + + # It might be nice to programatically check to see if klipper exists, + # as well as checking for other common clipboard managers. But for now, +@@ -150,7 +152,7 @@ + # so we axe it here: + qdbus org.kde.klipper /klipper org.kde.klipper.klipper.clearClipboardHistory &>/dev/null + +- echo "$before" | base64 -d | xclip -selection "$X_SELECTION" ++ echo "$before" | base64 -d| termux-clipboard-set + ) 2>/dev/null & disown + echo "Copied $2 to clipboard. Will clear in $CLIP_TIME seconds." + } +@@ -174,7 +176,8 @@ + Are you sure you would like to continue? + _EOF + )" +- SECURE_TMPDIR="$(mktemp -d "${TMPDIR:-/tmp}/$template")" ++ echo "mktemp -d ${TMPDIR:-$TERMUXPREFIX/tmp}/$template" ++ SECURE_TMPDIR="$(mktemp -d "${TMPDIR:-$TERMUXPREFIX/tmp}/$template")" + shred_tmpfile() { + find "$SECURE_TMPDIR" -type f -exec $SHRED {} + + rm -rf "$SECURE_TMPDIR" \ No newline at end of file diff --git a/packages/php/build.sh b/packages/php/build.sh index 2cfb8edc1..bdb6e5f81 100644 --- a/packages/php/build.sh +++ b/packages/php/build.sh @@ -1,12 +1,13 @@ TERMUX_PKG_HOMEPAGE=http://php.net/ TERMUX_PKG_DESCRIPTION="Server-side, HTML-embedded scripting language" -TERMUX_PKG_VERSION=5.6.17 +TERMUX_PKG_VERSION=5.6.19 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=http://php.net/get/php-${TERMUX_PKG_VERSION}.tar.xz/from/this/mirror TERMUX_PKG_NO_SRC_CACHE=yes # Caching with filename does not work for 'mirror' # Build native php for phar to build (see pear-Makefile.frag.patch): TERMUX_PKG_HOSTBUILD=true TERMUX_PKG_FOLDERNAME=php-${TERMUX_PKG_VERSION} -TERMUX_PKG_DEPENDS="libxml2, liblzma, openssl, pcre" +TERMUX_PKG_DEPENDS="libandroid-glob, libxml2, liblzma, openssl, pcre" # http://php.net/manual/en/libxml.installation.php # "If configure cannot find xml2-config in the directory specified by --with-libxml-dir, # then it'll continue on and check the default locations." @@ -15,11 +16,14 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-openssl=$TERMUX_PREFIX" # http://php.net/manual/en/pcre.installation.php: pcre always enabled, use platform library: TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-pcre-regex=$TERMUX_PREFIX" TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-iconv=$TERMUX_PREFIX" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-zlib" TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --enable-zip" TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" ac_cv_func_res_nsearch=no" TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --mandir=$TERMUX_PREFIX/share/man" TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --enable-sockets" +LDFLAGS+=" -landroid-glob" + termux_step_pre_configure () { export PATH=$PATH:$TERMUX_PKG_HOSTBUILD_DIR/sapi/cli/ export NATIVE_PHP_EXECUTABLE=$TERMUX_PKG_HOSTBUILD_DIR/sapi/cli/php diff --git a/packages/php/ext-standard-proc_open.c.patch b/packages/php/ext-standard-proc_open.c.patch new file mode 100644 index 000000000..ac1da7880 --- /dev/null +++ b/packages/php/ext-standard-proc_open.c.patch @@ -0,0 +1,15 @@ +diff -u -r ../php-5.6.17/ext/standard/proc_open.c ./ext/standard/proc_open.c > ~/php-proc_open.patch +--- ../php-5.6.17/ext/standard/proc_open.c 2016-03-04 18:41:21.108197300 +0100 ++++ ./ext/standard/proc_open.c 2016-03-04 18:41:58.088196534 +0100 +@@ -881,9 +881,9 @@ + } + + if (env.envarray) { +- execle("/bin/sh", "sh", "-c", command, NULL, env.envarray); ++ execle("@TERMUX_PREFIX@/bin/sh", "sh", "-c", command, NULL, env.envarray); + } else { +- execl("/bin/sh", "sh", "-c", command, NULL); ++ execl("@TERMUX_PREFIX@/bin/sh", "sh", "-c", command, NULL); + } + _exit(127); + diff --git a/packages/pick/build.sh b/packages/pick/build.sh index 00a0bc52d..e1d5018cd 100644 --- a/packages/pick/build.sh +++ b/packages/pick/build.sh @@ -1,5 +1,5 @@ TERMUX_PKG_HOMEPAGE=https://github.com/thoughtbot/pick TERMUX_PKG_DESCRIPTION="Utility to choose one option from a set of choices with fuzzy search functionality" -TERMUX_PKG_VERSION=1.2.1 +TERMUX_PKG_VERSION=1.3.0 TERMUX_PKG_SRCURL=https://github.com/thoughtbot/pick/releases/download/v${TERMUX_PKG_VERSION}/pick-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_DEPENDS="ncurses" diff --git a/packages/pick/src-compat.h.patch b/packages/pick/src-compat.h.patch new file mode 100644 index 000000000..e91d40e5e --- /dev/null +++ b/packages/pick/src-compat.h.patch @@ -0,0 +1,13 @@ +diff -u -r ../pick-1.3.0/src/compat.h ./src/compat.h +--- ../pick-1.3.0/src/compat.h 2016-02-12 03:48:41.000000000 -0500 ++++ ./src/compat.h 2016-02-17 22:47:09.825782253 -0500 +@@ -10,7 +10,8 @@ + #endif /* __FreeBSD__ */ + + #if defined(__linux__) || defined(__CYGWIN__) +-#ifdef __GNUC__ ++#if defined(__GNUC__) || defined(__ANDROID__) ++#undef __dead + #define __dead __attribute__((__noreturn__)) + #else + #define __dead diff --git a/packages/pick/src-pick.c.patch b/packages/pick/src-pick.c.patch new file mode 100644 index 000000000..ded332dd5 --- /dev/null +++ b/packages/pick/src-pick.c.patch @@ -0,0 +1,13 @@ +diff -u -r ../pick-1.3.0/src/pick.c ./src/pick.c +--- ../pick-1.3.0/src/pick.c 2016-02-12 03:48:41.000000000 -0500 ++++ ./src/pick.c 2016-02-17 22:50:26.050698229 -0500 +@@ -14,6 +14,9 @@ + #include + #include + ++/* For CTRL macro: */ ++#include ++ + #ifdef HAVE_NCURSESW_H + #include + #include diff --git a/packages/picolisp/build.sh b/packages/picolisp/build.sh index 902c3f0ae..72b00c66e 100644 --- a/packages/picolisp/build.sh +++ b/packages/picolisp/build.sh @@ -1,12 +1,14 @@ TERMUX_PKG_HOMEPAGE=http://picolisp.com TERMUX_PKG_DESCRIPTION="Lisp interpreter and application server framework" -TERMUX_PKG_VERSION=15.11 -TERMUX_PKG_BUILD_REVISION=1 -TERMUX_PKG_SRCURL=http://software-lab.de/picoLisp-${TERMUX_PKG_VERSION}.tgz +TERMUX_PKG_VERSION=16.3.1 +TERMUX_PKG_SRCURL=http://software-lab.de/picoLisp.tgz TERMUX_PKG_FOLDERNAME=picoLisp TERMUX_PKG_BUILD_IN_SRC=true termux_step_pre_configure() { + # Validate that we have the right version: + grep -q '16 3 1' src64/version.l + TERMUX_PKG_SRCDIR=$TERMUX_PKG_SRCDIR/src if [ $TERMUX_ARCH_BITS = 64 ]; then TERMUX_PKG_SRCDIR+="64" diff --git a/packages/picolisp/lib-debug.l.patch b/packages/picolisp/lib-debug.l.patch deleted file mode 100644 index 43ce73c70..000000000 --- a/packages/picolisp/lib-debug.l.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -u -r ../picoLisp/lib/debug.l ./lib/debug.l ---- ../picoLisp/lib/debug.l 2015-04-03 03:09:48.000000000 -0400 -+++ ./lib/debug.l 2015-10-01 18:39:47.475128813 -0400 -@@ -8,7 +8,7 @@ - - # Browsing - (de doc (Sym Browser) -- (call (or Browser (sys "BROWSER") 'w3m) -+ (call (or Browser (sys "BROWSER") 'lynx) - (pack - "file:" - (and (= `(char '/) (char (path "@"))) "//") diff --git a/packages/picolisp/src-Makefile.patch b/packages/picolisp/src-Makefile.patch index e2c164114..cbdcc9552 100644 --- a/packages/picolisp/src-Makefile.patch +++ b/packages/picolisp/src-Makefile.patch @@ -1,7 +1,7 @@ diff -u -r ../picoLisp/src/Makefile ./src/Makefile ---- ../picoLisp/src/Makefile 2015-03-31 14:48:22.000000000 -0400 -+++ ./src/Makefile 2015-09-24 05:23:56.372236679 -0400 -@@ -6,111 +6,13 @@ +--- ../picoLisp/src/Makefile 2016-02-02 10:52:49.000000000 -0500 ++++ ./src/Makefile 2016-02-08 06:15:50.293964319 -0500 +@@ -6,118 +6,13 @@ picoFiles = main.c gc.c apply.c flow.c sym.c subr.c big.c io.c net.c tab.c @@ -90,6 +90,12 @@ diff -u -r ../picoLisp/src/Makefile ./src/Makefile - LCRYPT = - STRIP = strip -else +-ifeq ($(shell uname), IRIX64) +- OS = IRIX64 +- CFLAGS += -std=gnu99 +- DYNAMIC-LIB-FLAGS = -shared +- STRIP = strip -f +-else -ifeq ($(shell uname -o), Cygwin) - OS = Cygwin - CFLAGS += -m32 @@ -109,6 +115,7 @@ diff -u -r ../picoLisp/src/Makefile ./src/Makefile -endif -endif -endif +-endif +CCLD = $(CC) +LCRYPT = diff --git a/packages/picolisp/src-ext.c.patch b/packages/picolisp/src-ext.c.patch index 28985d9ff..cfb787b76 100644 --- a/packages/picolisp/src-ext.c.patch +++ b/packages/picolisp/src-ext.c.patch @@ -2,16 +2,16 @@ The crypt(3) function is not available in Android, so remove support in ext for now. diff -u -r ../picoLisp/src/ext.c ./src/ext.c ---- ../picoLisp/src/ext.c 2015-04-27 00:34:17.000000000 -0400 -+++ ./src/ext.c 2015-11-27 06:07:18.767005597 -0500 -@@ -252,6 +252,7 @@ +--- ../picoLisp/src/ext.c 2015-11-27 02:25:22.000000000 -0500 ++++ ./src/ext.c 2016-02-08 06:19:58.405969024 -0500 +@@ -250,6 +250,7 @@ + return T; + } - /*** Password hashing ***/ - // (Ext:Crypt 'key 'salt) -> str +#ifndef __ANDROID__ + /*** Password hashing ***/ + // (ext:Crypt 'key 'salt) -> str any Crypt(any x) { - any y; - @@ -269,3 +270,4 @@ } } diff --git a/packages/pinentry/build.sh b/packages/pinentry/build.sh index 3a7a7c891..11b8e472e 100644 --- a/packages/pinentry/build.sh +++ b/packages/pinentry/build.sh @@ -1,5 +1,6 @@ TERMUX_PKG_HOMEPAGE=https://www.gnupg.org/related_software/pinentry/index.html TERMUX_PKG_DESCRIPTION="Dialog allowing secure password entry" TERMUX_PKG_VERSION=0.9.7 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=https://www.gnupg.org/ftp/gcrypt/pinentry/pinentry-${TERMUX_PKG_VERSION}.tar.bz2 TERMUX_PKG_DEPENDS="libandroid-support, libassuan, ncurses" diff --git a/packages/pkg-config/build.sh b/packages/pkg-config/build.sh index 6b6a65aca..0b6132b78 100644 --- a/packages/pkg-config/build.sh +++ b/packages/pkg-config/build.sh @@ -1,6 +1,6 @@ TERMUX_PKG_HOMEPAGE=http://www.freedesktop.org/wiki/Software/pkg-config/ TERMUX_PKG_DESCRIPTION="Helper tool used when compiling applications and libraries" -TERMUX_PKG_VERSION=0.29 +TERMUX_PKG_VERSION=0.29.1 TERMUX_PKG_SRCURL=http://pkgconfig.freedesktop.org/releases/pkg-config-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_DEPENDS="glib" TERMUX_PKG_RM_AFTER_INSTALL="bin/*-pkg-config" diff --git a/packages/poppler/build.sh b/packages/poppler/build.sh index 96ecaaee9..9e627f137 100644 --- a/packages/poppler/build.sh +++ b/packages/poppler/build.sh @@ -1,6 +1,6 @@ TERMUX_PKG_HOMEPAGE=http://poppler.freedesktop.org/ TERMUX_PKG_DESCRIPTION="PDF rendering library" -TERMUX_PKG_VERSION=0.39.0 +TERMUX_PKG_VERSION=0.41.0 TERMUX_PKG_SRCURL=http://poppler.freedesktop.org/poppler-${TERMUX_PKG_VERSION}.tar.xz # libcairo and littlecms is used by pdftocairo: TERMUX_PKG_DEPENDS="fontconfig, libcairo, libpng, libjpeg-turbo, libtiff, littlecms, libgnustl, openjpeg" diff --git a/disabled-packages/proot/build.sh b/packages/proot/build.sh similarity index 68% rename from disabled-packages/proot/build.sh rename to packages/proot/build.sh index e75b94282..5004d7294 100644 --- a/disabled-packages/proot/build.sh +++ b/packages/proot/build.sh @@ -1,8 +1,8 @@ TERMUX_PKG_HOMEPAGE=http://proot.me/ TERMUX_PKG_DESCRIPTION="Emulate chroot, bind mount and binfmt_misc for non-root users" -TERMUX_PKG_VERSION=5.1.0 -TERMUX_PKG_SRCURL=https://github.com/proot-me/PRoot/archive/v${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_FOLDERNAME=PRoot-${TERMUX_PKG_VERSION} +TERMUX_PKG_VERSION=5.1.99 +TERMUX_PKG_SRCURL=https://github.com/proot-me/PRoot/archive/next.zip +TERMUX_PKG_FOLDERNAME=PRoot-next TERMUX_PKG_DEPENDS="libtalloc" export LD=$CC @@ -16,4 +16,6 @@ termux_step_make_install () { mkdir -p $TERMUX_PREFIX/share/man/man1 cp $TERMUX_PKG_SRCDIR/doc/proot/man.1 $TERMUX_PREFIX/share/man/man1/proot.1 + + cp $TERMUX_PKG_BUILDER_DIR/termux-chroot $TERMUX_PREFIX/bin/ } diff --git a/disabled-packages/proot/src-GNUmakefile.patch b/packages/proot/src-GNUmakefile.patch similarity index 100% rename from disabled-packages/proot/src-GNUmakefile.patch rename to packages/proot/src-GNUmakefile.patch diff --git a/disabled-packages/proot/src-cli-cli.c.patch b/packages/proot/src-cli-cli.c.patch similarity index 92% rename from disabled-packages/proot/src-cli-cli.c.patch rename to packages/proot/src-cli-cli.c.patch index a6f34c146..3e15b69ea 100644 --- a/disabled-packages/proot/src-cli-cli.c.patch +++ b/packages/proot/src-cli-cli.c.patch @@ -1,10 +1,11 @@ diff -u -r ../PRoot-5.1.0/src/cli/cli.c ./src/cli/cli.c --- ../PRoot-5.1.0/src/cli/cli.c 2014-12-15 09:18:11.000000000 -0500 +++ ./src/cli/cli.c 2016-01-08 15:16:33.393030857 -0500 -@@ -30,7 +30,9 @@ +@@ -30,7 +30,10 @@ #include /* getpid(2), */ #include /* getpid(2), */ #include /* errno(3), */ ++#include /* basename(3), */ +#ifndef __ANDROID__ #include /* backtrace_symbols(3), */ +#endif diff --git a/packages/proot/src-execve-enter.c.patch b/packages/proot/src-execve-enter.c.patch new file mode 100644 index 000000000..6b77fc817 --- /dev/null +++ b/packages/proot/src-execve-enter.c.patch @@ -0,0 +1,42 @@ +--- PRoot-5.1.0/src/execve/enter.c 2014-12-15 15:18:11.000000000 +0100 ++++ src/src/execve/enter.c 2016-03-20 12:05:08.013426156 +0100 +@@ -454,10 +454,10 @@ + } + + extern unsigned char _binary_loader_exe_start; +-extern unsigned char _binary_loader_exe_size; ++extern unsigned char _binary_loader_exe_end; + + extern unsigned char WEAK _binary_loader_m32_exe_start; +-extern unsigned char WEAK _binary_loader_m32_exe_size; ++extern unsigned char WEAK _binary_loader_m32_exe_end; + + /** + * Extract the built-in loader. This function returns NULL if an +@@ -483,11 +483,11 @@ + + if (wants_32bit_version) { + start = (void *) &_binary_loader_m32_exe_start; +- size = (size_t) &_binary_loader_m32_exe_size; ++ size = (size_t) (&_binary_loader_m32_exe_end - &_binary_loader_m32_exe_start); + } + else { + start = (void *) &_binary_loader_exe_start; +- size = (size_t) &_binary_loader_exe_size; ++ size = (size_t) (&_binary_loader_exe_end - &_binary_loader_exe_start); + } + + status2 = write(fd, start, size); +@@ -645,8 +645,10 @@ + + /* An ELF interpreter is supposed to be + * standalone. */ +- if (tracee->load_info->interp->interp != NULL) +- return -EINVAL; ++ if (tracee->load_info->interp->interp != NULL) { ++ TALLOC_FREE(tracee->load_info->interp->interp); ++ // TODO: Print warning? ++ } + } + + compute_load_addresses(tracee); diff --git a/disabled-packages/proot/src-path-temp.c.patch b/packages/proot/src-path-temp.c.patch similarity index 100% rename from disabled-packages/proot/src-path-temp.c.patch rename to packages/proot/src-path-temp.c.patch diff --git a/disabled-packages/proot/src-ptrace-ptrace.c.patch b/packages/proot/src-ptrace-ptrace.c.patch similarity index 100% rename from disabled-packages/proot/src-ptrace-ptrace.c.patch rename to packages/proot/src-ptrace-ptrace.c.patch diff --git a/disabled-packages/proot/src-ptrace-wait.h.patch b/packages/proot/src-ptrace-wait.h.patch similarity index 100% rename from disabled-packages/proot/src-ptrace-wait.h.patch rename to packages/proot/src-ptrace-wait.h.patch diff --git a/packages/proot/src-syscall-rlimit.c.patch b/packages/proot/src-syscall-rlimit.c.patch new file mode 100644 index 000000000..26596d22a --- /dev/null +++ b/packages/proot/src-syscall-rlimit.c.patch @@ -0,0 +1,32 @@ +On 32-bit prlimit() does not exist. prlimit64 however exists on both. + +diff -u -r ../PRoot-next/src/syscall/rlimit.c ./src/syscall/rlimit.c +--- ../PRoot-next/src/syscall/rlimit.c 2015-07-23 15:50:10.000000000 -0400 ++++ ./src/syscall/rlimit.c 2016-03-21 20:29:49.544175830 -0400 +@@ -58,7 +58,7 @@ + */ + int translate_setrlimit_exit(const Tracee *tracee, bool is_prlimit) + { +- struct rlimit proot_stack; ++ struct rlimit64 proot_stack; + word_t resource; + word_t address; + word_t tracee_stack_limit; +@@ -94,7 +94,7 @@ + return -errno; + + /* Get current PRoot's stack limit. */ +- status = prlimit(0, RLIMIT_STACK, NULL, &proot_stack); ++ status = prlimit64(0, RLIMIT_STACK, NULL, &proot_stack); + if (status < 0) { + VERBOSE(tracee, 1, "can't get stack limit."); + return 0; /* Not fatal. */ +@@ -107,7 +107,7 @@ + proot_stack.rlim_cur = tracee_stack_limit; + + /* Increase current PRoot's stack limit. */ +- status = prlimit(0, RLIMIT_STACK, &proot_stack, NULL); ++ status = prlimit64(0, RLIMIT_STACK, &proot_stack, NULL); + if (status < 0) + VERBOSE(tracee, 1, "can't set stack limit."); + return 0; /* Not fatal. */ diff --git a/packages/proot/src-tracee-mem.c.patch b/packages/proot/src-tracee-mem.c.patch new file mode 100644 index 000000000..1864169db --- /dev/null +++ b/packages/proot/src-tracee-mem.c.patch @@ -0,0 +1,32 @@ +--- PRoot-5.1.0/src/tracee/mem.c 2014-12-15 15:18:11.000000000 +0100 ++++ src/src/tracee/mem.c 2016-03-20 10:37:46.288702967 +0100 +@@ -131,6 +131,9 @@ + /* Copy the bytes in the last word carefully since we have to + * overwrite only the relevant ones. */ + ++ /* Clear errno so we won't detect previous syscall failure as ptrace one */ ++ errno = 0; ++ + word = ptrace(PTRACE_PEEKDATA, tracee->pid, dest + i, NULL); + if (errno != 0) { + note(tracee, WARNING, SYSTEM, "ptrace(PEEKDATA)"); +@@ -236,6 +239,9 @@ + nb_trailing_bytes = size % sizeof(word_t); + nb_full_words = (size - nb_trailing_bytes) / sizeof(word_t); + ++ /* Clear errno so we won't detect previous syscall failure as ptrace one */ ++ errno = 0; ++ + /* Copy one word by one word, except for the last one. */ + for (i = 0; i < nb_full_words; i++) { + word = ptrace(PTRACE_PEEKDATA, tracee->pid, src + i, NULL); +@@ -366,6 +372,9 @@ + nb_trailing_bytes = max_size % sizeof(word_t); + nb_full_words = (max_size - nb_trailing_bytes) / sizeof(word_t); + ++ /* Clear errno so we won't detect previous syscall failure as ptrace one */ ++ errno = 0; ++ + /* Copy one word by one word, except for the last one. */ + for (i = 0; i < nb_full_words; i++) { + word = ptrace(PTRACE_PEEKDATA, tracee->pid, src + i, NULL); diff --git a/disabled-packages/proot/src-tracee-tracee.c.patch b/packages/proot/src-tracee-tracee.c.patch similarity index 100% rename from disabled-packages/proot/src-tracee-tracee.c.patch rename to packages/proot/src-tracee-tracee.c.patch diff --git a/disabled-packages/proot/src-tracee-tracee.h.patch b/packages/proot/src-tracee-tracee.h.patch similarity index 100% rename from disabled-packages/proot/src-tracee-tracee.h.patch rename to packages/proot/src-tracee-tracee.h.patch diff --git a/packages/proot/termux-chroot b/packages/proot/termux-chroot new file mode 100755 index 000000000..5dde068ee --- /dev/null +++ b/packages/proot/termux-chroot @@ -0,0 +1,45 @@ +#!/bin/sh + +if [ $# != 0 ]; then + echo "termux-chroot: Setup a chroot to mimic a normal Linux file system" + echo "" + echo "Execute without arguments to run a chroot with traditional file system" + echo "hierarchy (having e.g. the folders /bin, /etc and /usr) within Termux." + exit +fi + +# For the /system/bin/linker(64) to be found: +ARGS="-b /system:/system" + +# Bind $PREFIX so Termux programs expecting +# to find e.g. configurations files there work. +ARGS="$ARGS -b $PREFIX/..:$PREFIX/.." + +# Mimic traditional Linux file system hierarchy - /usr: +ARGS="$ARGS -b $PREFIX:/usr" + +# Mimic traditional Linux file system hierarchy - other Termux dirs: +for f in bin etc lib share tmp var; do + ARGS="$ARGS -b $PREFIX/$f:/$f" +done + +# Mimic traditional Linux file system hierarchy- system dirs: +for f in dev proc; do + ARGS="$ARGS -b /$f:/$f" +done + +# Set /home as current directory: +ARGS="$ARGS --cwd=/home" + +# Root of the file system: +ARGS="$ARGS -r $PREFIX/.." + +# Program to execute: +PROGRAM=/bin/bash +if [ -x $HOME/.termux/shell ]; then + PROGRAM=`readlink -f $HOME/.termux/shell` +fi +ARGS="$ARGS $PROGRAM -l" + +export HOME=/home +$PREFIX/bin/proot $ARGS diff --git a/packages/python/build.sh b/packages/python/build.sh index edc72d62b..8276d9f4e 100644 --- a/packages/python/build.sh +++ b/packages/python/build.sh @@ -1,5 +1,5 @@ TERMUX_PKG_HOMEPAGE=http://python.org/ -TERMUX_PKG_DESCRIPTION="Programming language intended to enable clear programs on both a small and large scale" +TERMUX_PKG_DESCRIPTION="Python 3 programming language intended to enable clear programs" # lib/python3.4/lib-dynload/_ctypes.cpython-34m.so links to ffi. # openssl for ensurepip. # libbz2 for the bz2 module. @@ -9,7 +9,7 @@ TERMUX_PKG_HOSTBUILD=true _MAJOR_VERSION=3.5 TERMUX_PKG_VERSION=${_MAJOR_VERSION}.1 -TERMUX_PKG_BUILD_REVISION=2 +TERMUX_PKG_BUILD_REVISION=3 TERMUX_PKG_SRCURL=http://www.python.org/ftp/python/${TERMUX_PKG_VERSION}/Python-${TERMUX_PKG_VERSION}.tar.xz # The flag --with(out)-pymalloc (disable/enable specialized mallocs) is enabled by default and causes m suffix versions of python. diff --git a/packages/python2/build.sh b/packages/python2/build.sh index 4d28a1411..9609ff71f 100644 --- a/packages/python2/build.sh +++ b/packages/python2/build.sh @@ -1,5 +1,5 @@ TERMUX_PKG_HOMEPAGE=http://python.org/ -TERMUX_PKG_DESCRIPTION="Programming language intended to enable clear programs on both a small and large scale" +TERMUX_PKG_DESCRIPTION="Python 2 programming language intended to enable clear programs" # lib/python3.4/lib-dynload/_ctypes.cpython-34m.so links to ffi. # openssl for ensurepip. # libbz2 for the bz2 module. @@ -9,7 +9,7 @@ TERMUX_PKG_HOSTBUILD=true _MAJOR_VERSION=2.7 TERMUX_PKG_VERSION=${_MAJOR_VERSION}.11 -TERMUX_PKG_BUILD_REVISION=1 +TERMUX_PKG_BUILD_REVISION=2 TERMUX_PKG_SRCURL=http://www.python.org/ftp/python/${TERMUX_PKG_VERSION}/Python-${TERMUX_PKG_VERSION}.tar.xz # The flag --with(out)-pymalloc (disable/enable specialized mallocs) is enabled by default and causes m suffix versions of python. diff --git a/packages/rlwrap/build.sh b/packages/rlwrap/build.sh index 98fcb4c97..0e97e5bee 100644 --- a/packages/rlwrap/build.sh +++ b/packages/rlwrap/build.sh @@ -3,4 +3,6 @@ TERMUX_PKG_DESCRIPTION="Wrapper using readline to enable editing of keyboard inp TERMUX_PKG_VERSION=0.42 TERMUX_PKG_SRCURL=http://utopia.knoware.nl/~hlub/rlwrap/rlwrap-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_EXTRA_CONFIGURE_ARGS="ptyttylib_cv_ptys=STREAMS ac_cv_func_grantpt=yes ac_cv_func_unlockpt=yes" +# Avoid linking to libutil: +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" ac_cv_lib_util_openpty=no" TERMUX_PKG_DEPENDS="readline" diff --git a/packages/socat/build.sh b/packages/socat/build.sh index 0744548ec..8ebe24c01 100644 --- a/packages/socat/build.sh +++ b/packages/socat/build.sh @@ -1,6 +1,6 @@ TERMUX_PKG_HOMEPAGE=http://www.dest-unreach.org/socat/ TERMUX_PKG_DESCRIPTION="Relay for bidirectional data transfer between two independent data channels" -TERMUX_PKG_DEPENDS="openssl, readline" +TERMUX_PKG_DEPENDS="openssl, readline, libutil" TERMUX_PKG_VERSION=1.7.3.0 TERMUX_PKG_SRCURL=http://www.dest-unreach.org/socat/download/socat-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_EXTRA_CONFIGURE_ARGS="ac_header_resolv_h=no ac_cv_c_compiler_gnu=yes ac_compiler_gnu=yes" # sc_cv_sys_crdly_shift=9 sc_cv_sys_csize_shift=4 sc_cv_sys_tabdly_shift=11" diff --git a/packages/stunnel/build.sh b/packages/stunnel/build.sh index 4975b91b1..6bff631c1 100644 --- a/packages/stunnel/build.sh +++ b/packages/stunnel/build.sh @@ -1,6 +1,6 @@ TERMUX_PKG_HOMEPAGE=https://www.stunnel.org/ TERMUX_PKG_DESCRIPTION="Socket wrapper which can provide TLS support to ordinary applications" -TERMUX_PKG_VERSION=5.30 +TERMUX_PKG_VERSION=5.31 TERMUX_PKG_SRCURL=https://www.stunnel.org/downloads/stunnel-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_DEPENDS="openssl, libutil" TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-shared --with-ssl=$TERMUX_PREFIX --disable-fips" diff --git a/packages/subversion/build.sh b/packages/subversion/build.sh index 44a6230c3..e84f092a0 100644 --- a/packages/subversion/build.sh +++ b/packages/subversion/build.sh @@ -1,6 +1,7 @@ TERMUX_PKG_HOMEPAGE=http://subversion.apache.org/ TERMUX_PKG_DESCRIPTION="Centralized version control system characterized by its simplicity" TERMUX_PKG_VERSION=1.9.3 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=http://apache.mirrors.spacedump.net/subversion/subversion-${TERMUX_PKG_VERSION}.tar.bz2 TERMUX_PKG_DEPENDS="apr, apr-util, serf, libexpat, libsqlite" TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--without-sasl --without-libmagic" diff --git a/packages/taskwarrior/build.sh b/packages/taskwarrior/build.sh index f9a93f048..d932520d1 100644 --- a/packages/taskwarrior/build.sh +++ b/packages/taskwarrior/build.sh @@ -1,6 +1,6 @@ TERMUX_PKG_HOMEPAGE=https://taskwarrior.org TERMUX_PKG_DESCRIPTION="Utility for managing your TODO list" -TERMUX_PKG_VERSION=2.5.0 +TERMUX_PKG_VERSION=2.5.1 TERMUX_PKG_SRCURL=https://taskwarrior.org/download/task-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_DEPENDS="libgnutls, libuuid, libandroid-glob" diff --git a/packages/tcl/build.sh b/packages/tcl/build.sh index 1c65a2143..f982f5416 100644 --- a/packages/tcl/build.sh +++ b/packages/tcl/build.sh @@ -1,8 +1,7 @@ TERMUX_PKG_HOMEPAGE=https://www.tcl.tk/ TERMUX_PKG_DESCRIPTION="Powerful but easy to learn dynamic programming language" _MAJOR_VERSION=8.6 -TERMUX_PKG_VERSION=${_MAJOR_VERSION}.4 -TERMUX_PKG_BUILD_REVISION=2 +TERMUX_PKG_VERSION=${_MAJOR_VERSION}.5 TERMUX_PKG_SRCURL=http://downloads.sourceforge.net/project/tcl/Tcl/${TERMUX_PKG_VERSION}/tcl${TERMUX_PKG_VERSION}-src.tar.gz TERMUX_PKG_FOLDERNAME=tcl$TERMUX_PKG_VERSION TERMUX_PKG_EXTRA_CONFIGURE_ARGS="tcl_cv_strtod_buggy=ok tcl_cv_strstr_unbroken=ok" diff --git a/packages/termux-api/build.sh b/packages/termux-api/build.sh index f4566076f..287423d4e 100644 --- a/packages/termux-api/build.sh +++ b/packages/termux-api/build.sh @@ -1,6 +1,6 @@ TERMUX_PKG_HOMEPAGE=http://termux.com/add-ons/api/ TERMUX_PKG_DESCRIPTION="Termux API commands" -TERMUX_PKG_VERSION=0.12 +TERMUX_PKG_VERSION=0.13 termux_step_make_install () { mkdir -p $TERMUX_PREFIX/bin diff --git a/packages/termux-api/termux-api.c b/packages/termux-api/termux-api.c index 30c9175c5..f1eaa711e 100644 --- a/packages/termux-api/termux-api.c +++ b/packages/termux-api/termux-api.c @@ -35,6 +35,8 @@ void exec_am_broadcast(int argc, char** argv, char* input_address_string, char* char const* const file = "/system/bin/am"; // Avoid the system am binary from linking to wrong libraries: unsetenv("LD_LIBRARY_PATH"); + // Ensure /system/bin/app_process is in path, which is needed by am in some systems: + putenv("PATH=/system/bin"); // The user is calculated from the uid in android.os.UserHandle#getUserId(int uid) as "uid / 100000", so we do the same: uid_t current_uid = getuid(); diff --git a/packages/termux-tools/am b/packages/termux-tools/am deleted file mode 100755 index a4b796f0c..000000000 --- a/packages/termux-tools/am +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -# Remove LD_LIBRARY_PATH from environment to avoid conflicting -# with system libraries that am may link against. - -LD_LIBRARY_PATH= exec /system/bin/am $@ diff --git a/packages/termux-tools/build.sh b/packages/termux-tools/build.sh index 11fef41a5..5e9bc18f9 100644 --- a/packages/termux-tools/build.sh +++ b/packages/termux-tools/build.sh @@ -1,9 +1,23 @@ TERMUX_PKG_HOMEPAGE=http://termux.com/ TERMUX_PKG_DESCRIPTION="Some tools for Termux" -TERMUX_PKG_VERSION=0.15 +TERMUX_PKG_VERSION=0.21 termux_step_make_install () { $CXX $CFLAGS $LDFLAGS -std=c++14 -Wall -Wextra -pedantic -Werror $TERMUX_PKG_BUILDER_DIR/*.cpp -o $TERMUX_PREFIX/bin/termux-elf-cleaner - cp -p $TERMUX_PKG_BUILDER_DIR/{am,pm,df,termux-fix-shebang,termux-reload-settings,termux-setup-storage,chsh,termux-open-url} $TERMUX_PREFIX/bin/ + # Remove LD_LIBRARY_PATH from environment to avoid conflicting + # with system libraries that am may link against. + for tool in am dalvikvm df getprop logcat ping pm; do + WRAPPER_FILE=$TERMUX_PREFIX/bin/$tool + echo '#!/bin/sh' > $WRAPPER_FILE + if [ $tool = am -o $tool = pm ]; then + # These tools require having /system/bin/app_process in the PATH, + # at least on a Nexus 6p running Android 6.0. + echo -n 'PATH=$PATH:/system/bin ' >> $WRAPPER_FILE + fi + echo "LD_LIBRARY_PATH= exec /system/bin/$tool \$@" >> $WRAPPER_FILE + chmod +x $TERMUX_PREFIX/bin/$tool + done + + cp -p $TERMUX_PKG_BUILDER_DIR/{su,termux-fix-shebang,termux-reload-settings,termux-setup-storage,chsh,termux-open-url} $TERMUX_PREFIX/bin/ } diff --git a/packages/termux-tools/df b/packages/termux-tools/df deleted file mode 100755 index 5a1823acf..000000000 --- a/packages/termux-tools/df +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -# Remove LD_LIBRARY_PATH from environment to avoid conflicting -# with system libraries that df may link against. - -LD_LIBRARY_PATH= exec /system/bin/df $@ diff --git a/packages/termux-tools/pm b/packages/termux-tools/pm deleted file mode 100755 index 5607e8512..000000000 --- a/packages/termux-tools/pm +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -# Remove LD_LIBRARY_PATH from environment to avoid conflicting -# with system libraries that pm may link against. - -LD_LIBRARY_PATH= exec /system/bin/pm $@ diff --git a/packages/termux-tools/su b/packages/termux-tools/su new file mode 100755 index 000000000..5b4742939 --- /dev/null +++ b/packages/termux-tools/su @@ -0,0 +1,12 @@ +#!/bin/sh + +if [ -x /system/xbin/su ]; then + # The su tool may require programs from /system/bin in path: + PATH=/system/bin:$PATH /system/xbin/su $@ +else + echo "There is no su program on this device. Termux" + echo "does not supply tools for rooting, see e.g." + echo "http://www.androidcentral.com/root for" + echo "information about rooting Android." + exit 1 +fi diff --git a/packages/termux-tools/termux-fix-shebang b/packages/termux-tools/termux-fix-shebang index 76b75d422..1ac56c2c8 100755 --- a/packages/termux-tools/termux-fix-shebang +++ b/packages/termux-tools/termux-fix-shebang @@ -9,5 +9,5 @@ fi for file in $@; do # Do realpath to avoid breaking symlinks (modify original file): - sed -i -E "s@^#\!(.*)/bin/(.*)@#\!/data/data/com.termux/files/usr/bin/\2@" `realpath $@` + sed -i -E "1 s@^#\!(.*)/bin/(.*)@#\!/data/data/com.termux/files/usr/bin/\2@" `realpath $@` done diff --git a/packages/transmission/build.sh b/packages/transmission/build.sh index 747c6e211..658988d08 100755 --- a/packages/transmission/build.sh +++ b/packages/transmission/build.sh @@ -1,7 +1,7 @@ TERMUX_PKG_HOMEPAGE=http://www.transmissionbt.com/ TERMUX_PKG_DESCRIPTION="Easy, lean and powerful BitTorrent client" TERMUX_PKG_DEPENDS="curl, libevent, openssl" -TERMUX_PKG_VERSION=2.84 +TERMUX_PKG_VERSION=2.92 TERMUX_PKG_SRCURL=https://transmission.cachefly.net/transmission-${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-gtk --enable-lightweight --cache-file=termux_configure.cache" diff --git a/packages/transmission/fdlimit.c.patch b/packages/transmission/fdlimit.c.patch deleted file mode 100644 index 608661ee0..000000000 --- a/packages/transmission/fdlimit.c.patch +++ /dev/null @@ -1,14 +0,0 @@ -fallocate64() is already defined in for android-21 - -diff -u -r ../transmission-2.84/libtransmission/fdlimit.c ./libtransmission/fdlimit.c ---- ../transmission-2.84/libtransmission/fdlimit.c 2014-07-01 13:08:59.298910687 -0400 -+++ ./libtransmission/fdlimit.c 2014-12-20 05:47:58.563577502 -0500 -@@ -22,7 +22,7 @@ - #include - #endif - --#ifdef HAVE_FALLOCATE64 -+#if defined HAVE_FALLOCATE64 && !(defined __ANDROID__) - /* FIXME can't find the right #include voodoo to pick up the declaration.. */ - extern int fallocate64 (int fd, int mode, uint64_t offset, uint64_t len); - #endif diff --git a/packages/transmission/libtransmission-fdlimit.c.patch b/packages/transmission/libtransmission-fdlimit.c.patch new file mode 100644 index 000000000..fcb927100 --- /dev/null +++ b/packages/transmission/libtransmission-fdlimit.c.patch @@ -0,0 +1,11 @@ +diff -u -r ../transmission-2.92/libtransmission/fdlimit.c ./libtransmission/fdlimit.c +--- ../transmission-2.92/libtransmission/fdlimit.c 2015-10-23 21:35:22.638234970 -0400 ++++ ./libtransmission/fdlimit.c 2016-03-07 20:32:58.075869242 -0500 +@@ -11,6 +11,7 @@ + #include + #include + #include ++#include + + #ifndef _WIN32 + #include /* getrlimit */ diff --git a/packages/transmission/no_setlocale_in_variant_c.patch b/packages/transmission/no_setlocale_in_variant_c.patch deleted file mode 100644 index ec97abd19..000000000 --- a/packages/transmission/no_setlocale_in_variant_c.patch +++ /dev/null @@ -1,83 +0,0 @@ -diff -u -r ../transmission-2.82/libtransmission/variant.c ./libtransmission/variant.c ---- ../transmission-2.82/libtransmission/variant.c 2013-08-09 04:45:40.000000000 +0200 -+++ ./libtransmission/variant.c 2014-02-10 17:30:57.000000000 +0100 -@@ -22,7 +22,9 @@ - #include - #endif - -+#ifndef __ANDROID__ - #include /* setlocale() */ -+#endif - #include /* write() */ - - #include -@@ -308,14 +310,20 @@ - if (!success && tr_variantIsString (v)) - { - char * endptr; -+#ifndef __ANDROID__ - char locale[128]; -+#endif - double d; - - /* the json spec requires a '.' decimal point regardless of locale */ -+#ifndef __ANDROID__ - tr_strlcpy (locale, setlocale (LC_NUMERIC, NULL), sizeof (locale)); - setlocale (LC_NUMERIC, "POSIX"); -+#endif - d = strtod (getStr (v), &endptr); -+#ifndef __ANDROID__ - setlocale (LC_NUMERIC, locale); -+#endif - - if ((success = (getStr (v) != endptr) && !*endptr)) - *setme = d; -@@ -1088,12 +1096,16 @@ - struct evbuffer * - tr_variantToBuf (const tr_variant * v, tr_variant_fmt fmt) - { -+#ifndef __ANDROID__ - char lc_numeric[128]; -+#endif - struct evbuffer * buf = evbuffer_new(); - -+#ifndef __ANDROID__ - /* parse with LC_NUMERIC="C" to ensure a "." decimal separator */ - tr_strlcpy (lc_numeric, setlocale (LC_NUMERIC, NULL), sizeof (lc_numeric)); - setlocale (LC_NUMERIC, "C"); -+#endif - - evbuffer_expand (buf, 4096); /* alloc a little memory to start off with */ - -@@ -1113,7 +1125,9 @@ - } - - /* restore the previous locale */ -+#ifndef __ANDROID__ - setlocale (LC_NUMERIC, lc_numeric); -+#endif - return buf; - } - -@@ -1272,9 +1286,11 @@ - int err; - char lc_numeric[128]; - -+#ifndef __ANDROID__ - /* parse with LC_NUMERIC="C" to ensure a "." decimal separator */ - tr_strlcpy (lc_numeric, setlocale (LC_NUMERIC, NULL), sizeof (lc_numeric)); - setlocale (LC_NUMERIC, "C"); -+#endif - - switch (fmt) - { -@@ -1288,7 +1304,9 @@ - break; - } - -+#ifndef __ANDROID__ - /* restore the previous locale */ - setlocale (LC_NUMERIC, lc_numeric); -+#endif - return err; - } diff --git a/packages/tree/build.sh b/packages/tree/build.sh new file mode 100644 index 000000000..583603e4b --- /dev/null +++ b/packages/tree/build.sh @@ -0,0 +1,22 @@ +TERMUX_PKG_HOMEPAGE=http://mama.indstate.edu/users/ice/tree/ +TERMUX_PKG_DESCRIPTION="Recursive directory lister producing a depth indented listing of files" +TERMUX_PKG_DEPENDS="libandroid-support" +TERMUX_PKG_VERSION=1.7.0 +TERMUX_PKG_BUILD_REVISION=2 +TERMUX_PKG_MAINTAINER=$(echo "Gert Scholten " | sed 's/\sat\s/@/' | sed 's/\sdot\s/./') +TERMUX_PKG_SRCURL=http://mama.indstate.edu/users/ice/tree/src/tree-${TERMUX_PKG_VERSION}.tgz +TERMUX_PKG_BUILD_IN_SRC=yes + +termux_step_make () { + make \ + CC="$CC" \ + CFLAGS="$CFLAGS $CPPFLAGS -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" \ + LDFLAGS="$LDFLAGS" \ + OBJS="tree.o unix.o html.o xml.o json.o hash.o color.o strverscmp.o" +} + +termux_step_make_install () { + make install \ + prefix="$TERMUX_PREFIX" \ + MANDIR="$TERMUX_PREFIX/share/man/man1" +} diff --git a/packages/tree/tree.c.patch b/packages/tree/tree.c.patch new file mode 100644 index 000000000..d25188134 --- /dev/null +++ b/packages/tree/tree.c.patch @@ -0,0 +1,12 @@ +diff -u -r ../tree-1.7.0/tree.c ./tree.c +--- ../tree-1.7.0/tree.c 2014-04-23 17:38:24.000000000 -0400 ++++ ./tree.c 2016-03-23 10:54:14.212468421 -0400 +@@ -112,7 +112,7 @@ + } + + /* Until I get rid of this hack, make it linux/cygwin/HP nonstop only: */ +-#if defined (LINUX) || defined (CYGWIN) || defined (__TANDEM) ++#if defined (LINUX) || defined (CYGWIN) || defined (__TANDEM) || defined (__ANDROID__) + mb_cur_max = (int)MB_CUR_MAX; + #else + mb_cur_max = 1; diff --git a/packages/vim-python/build.sh b/packages/vim-python/build.sh index 2a37a7071..16373769e 100755 --- a/packages/vim-python/build.sh +++ b/packages/vim-python/build.sh @@ -3,14 +3,14 @@ TERMUX_PKG_HOMEPAGE=http://www.vim.org/ TERMUX_PKG_DEPENDS="ncurses, vim-runtime, python" # Vim 7.4 patches described at ftp://ftp.vim.org/pub/vim/patches/7.4/README -TERMUX_PKG_VERSION=7.4.1174 +TERMUX_PKG_VERSION=7.4.1655 TERMUX_PKG_SRCURL="https://github.com/vim/vim/archive/v${TERMUX_PKG_VERSION}.tar.gz" TERMUX_PKG_FOLDERNAME=vim-${TERMUX_PKG_VERSION} TERMUX_PKG_EXTRA_CONFIGURE_ARGS="vim_cv_toupper_broken=no vim_cv_terminfo=yes vim_cv_tty_group=world" TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" vim_cv_getcwd_broken=no vim_cv_stat_ignores_slash=no vim_cv_memmove_handles_overlap=yes" TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-tlib=ncursesw --enable-multibyte --without-x --enable-gui=no --disable-darwin --with-features=huge" TERMUX_PKG_BUILD_IN_SRC="yes" -TERMUX_PKG_RM_AFTER_INSTALL='bin/rview bin/rvim bin/ex share/man/man1/evim.1 share/icons share/vim/vim74/spell/en.ascii* share/vim/vim74/spell/en.latin1* share/vim/vim74/print share/vim/vim74/tools' +TERMUX_PKG_RM_AFTER_INSTALL='bin/rview bin/rvim bin/ex share/man/man1/evim.1 share/icons share/vim/vim74/spell/en.ascii* share/vim/vim74/print share/vim/vim74/tools' # vim-python: TERMUX_PKG_CONFLICTS="vim" @@ -31,7 +31,10 @@ termux_step_post_make_install () { cp $TERMUX_PKG_BUILDER_DIR/vimrc $TERMUX_PREFIX/share/vim/vimrc # Remove most tutor files: - cp $TERMUX_PREFIX/share/vim/vim74/tutor/tutor.{vim,utf-8} $TERMUX_PKG_TMPDIR/ + cp $TERMUX_PREFIX/share/vim/vim74/tutor/{tutor,tutor.vim,tutor.utf-8} $TERMUX_PKG_TMPDIR/ rm -f $TERMUX_PREFIX/share/vim/vim74/tutor/* - cp $TERMUX_PKG_TMPDIR/tutor.{vim,utf-8} $TERMUX_PREFIX/share/vim/vim74/tutor/ + cp $TERMUX_PKG_TMPDIR/{tutor,tutor.vim,tutor.utf-8} $TERMUX_PREFIX/share/vim/vim74/tutor/ + + cd $TERMUX_PREFIX/bin + ln -f -s vim vi } diff --git a/packages/vim-python/vimrc b/packages/vim-python/vimrc index c20a4c9f3..e8c4e4fbb 100644 --- a/packages/vim-python/vimrc +++ b/packages/vim-python/vimrc @@ -1,5 +1,6 @@ set autowrite set backspace=2 +set encoding=utf-8 set hlsearch set ignorecase set incsearch diff --git a/packages/vim/build.sh b/packages/vim/build.sh index f557c5b24..0c013853d 100755 --- a/packages/vim/build.sh +++ b/packages/vim/build.sh @@ -3,14 +3,14 @@ TERMUX_PKG_HOMEPAGE=http://www.vim.org/ TERMUX_PKG_DEPENDS="ncurses, vim-runtime" # Vim 7.4 patches described at ftp://ftp.vim.org/pub/vim/patches/7.4/README -TERMUX_PKG_VERSION=7.4.1174 +TERMUX_PKG_VERSION=7.4.1655 TERMUX_PKG_SRCURL="https://github.com/vim/vim/archive/v${TERMUX_PKG_VERSION}.tar.gz" TERMUX_PKG_FOLDERNAME=vim-${TERMUX_PKG_VERSION} TERMUX_PKG_EXTRA_CONFIGURE_ARGS="vim_cv_toupper_broken=no vim_cv_terminfo=yes vim_cv_tty_group=world" TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" vim_cv_getcwd_broken=no vim_cv_stat_ignores_slash=no vim_cv_memmove_handles_overlap=yes" TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --with-tlib=ncursesw --enable-multibyte --without-x --enable-gui=no --disable-darwin --with-features=huge" TERMUX_PKG_BUILD_IN_SRC="yes" -TERMUX_PKG_RM_AFTER_INSTALL='bin/rview bin/rvim bin/ex share/man/man1/evim.1 share/icons share/vim/vim74/spell/en.ascii* share/vim/vim74/spell/en.latin1* share/vim/vim74/print share/vim/vim74/tools' +TERMUX_PKG_RM_AFTER_INSTALL='bin/rview bin/rvim bin/ex share/man/man1/evim.1 share/icons share/vim/vim74/spell/en.ascii* share/vim/vim74/print share/vim/vim74/tools' TERMUX_PKG_CONFLICTS="vim-python" @@ -26,7 +26,10 @@ termux_step_post_make_install () { cp $TERMUX_PKG_BUILDER_DIR/vimrc $TERMUX_PREFIX/share/vim/vimrc # Remove most tutor files: - cp $TERMUX_PREFIX/share/vim/vim74/tutor/tutor.{vim,utf-8} $TERMUX_PKG_TMPDIR/ + cp $TERMUX_PREFIX/share/vim/vim74/tutor/{tutor,tutor.vim,tutor.utf-8} $TERMUX_PKG_TMPDIR/ rm -f $TERMUX_PREFIX/share/vim/vim74/tutor/* - cp $TERMUX_PKG_TMPDIR/tutor.{vim,utf-8} $TERMUX_PREFIX/share/vim/vim74/tutor/ + cp $TERMUX_PKG_TMPDIR/{tutor,tutor.vim,tutor.utf-8} $TERMUX_PREFIX/share/vim/vim74/tutor/ + + cd $TERMUX_PREFIX/bin + ln -f -s vim vi } diff --git a/packages/vim/vimrc b/packages/vim/vimrc index c20a4c9f3..e8c4e4fbb 100644 --- a/packages/vim/vimrc +++ b/packages/vim/vimrc @@ -1,5 +1,6 @@ set autowrite set backspace=2 +set encoding=utf-8 set hlsearch set ignorecase set incsearch diff --git a/packages/weechat/build.sh b/packages/weechat/build.sh index 564652337..1230d9b64 100755 --- a/packages/weechat/build.sh +++ b/packages/weechat/build.sh @@ -1,6 +1,7 @@ TERMUX_PKG_HOMEPAGE=http://weechat.org/ TERMUX_PKG_DESCRIPTION="Fast, light and extensible IRC chat client" TERMUX_PKG_VERSION=1.4 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=http://www.weechat.org/files/src/weechat-${TERMUX_PKG_VERSION}.tar.bz2 TERMUX_PKG_DEPENDS="ncurses, libgcrypt, libcurl, libgnutls, libandroid-support" # weechat-curses is a symlink to weechat, so remove it: @@ -28,7 +29,6 @@ termux_step_configure () { -DCA_FILE="$TERMUX_PREFIX/etc/tls/cert.pem" \ -DENABLE_LUA=OFF \ -DENABLE_MAN=ON \ - -DENABLE_PYTHON=ON \ -DENABLE_PYTHON3=ON \ -DENABLE_TCL=OFF \ $TERMUX_PKG_SRCDIR diff --git a/packages/weechat/cmake-FindPython.cmake.patch b/packages/weechat/cmake-FindPython.cmake.patch index 0546912ee..100fac0a5 100644 --- a/packages/weechat/cmake-FindPython.cmake.patch +++ b/packages/weechat/cmake-FindPython.cmake.patch @@ -72,7 +72,7 @@ diff -u -r ../weechat-1.3/cmake/FindPython.cmake ./cmake/FindPython.cmake +set(PYTHON_EXECUTABLE "/data/data/com.termux/files/usr/bin/python") +set(PYTHON_INCLUDE_PATH "/data/data/com.termux/files/usr/include/python3.5m") +set(PYTHON_LIBRARY "/data/data/com.termux/files/usr/lib") -+set(PYTHON_LFLAGS "-Xlinker -export-dynamic") ++set(PYTHON_LFLAGS "-Xlinker -export-dynamic -lpython3.5m") +set(PYTHON_FOUND TRUE) mark_as_advanced( diff --git a/packages/xvidcore/build.sh b/packages/xvidcore/build.sh index 50fc8d171..105fcfb24 100644 --- a/packages/xvidcore/build.sh +++ b/packages/xvidcore/build.sh @@ -1,6 +1,7 @@ TERMUX_PKG_HOMEPAGE=http://www.xvid.org/ TERMUX_PKG_DESCRIPTION="High performance and high quality MPEG-4 library" TERMUX_PKG_VERSION=1.3.4 +TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_SRCURL=http://downloads.xvid.org/downloads/xvidcore-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_FOLDERNAME=xvidcore @@ -10,5 +11,10 @@ termux_step_pre_configure () { rm -f $TERMUX_PREFIX/lib/libxvid* export TERMUX_PKG_BUILDDIR=$TERMUX_PKG_BUILDDIR/build/generic export TERMUX_PKG_SRCDIR=$TERMUX_PKG_BUILDDIR + + if [ $TERMUX_ARCH = i686 ]; then + # Avoid text relocations: + TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --disable-assembly" + fi } diff --git a/packages/zsh/build.sh b/packages/zsh/build.sh index 1c19f3ce6..bdd2c70e0 100644 --- a/packages/zsh/build.sh +++ b/packages/zsh/build.sh @@ -2,7 +2,7 @@ TERMUX_PKG_HOMEPAGE="http://www.zsh.org/" TERMUX_PKG_DESCRIPTION="Shell designed for interactive use, although it is also a powerful scripting language" _FOLDERVERSION=5.2 TERMUX_PKG_VERSION=${_FOLDERVERSION}.0 -TERMUX_PKG_BUILD_REVISION=1 +TERMUX_PKG_BUILD_REVISION=2 TERMUX_PKG_SRCURL=http://downloads.sourceforge.net/project/zsh/zsh/$_FOLDERVERSION/zsh-${_FOLDERVERSION}.tar.xz TERMUX_PKG_RM_AFTER_INSTALL="bin/zsh-${_FOLDERVERSION}" TERMUX_PKG_DEPENDS="libandroid-support, ncurses, termux-tools, command-not-found" @@ -18,7 +18,9 @@ termux_step_post_configure () { # Since we build zsh non-dynamically (since dynamic loading doesn't work on Android when enabled), # we need to explicitly enable the additional modules we want. # - The files module is needed by `compinstall`, see https://github.com/termux/termux-packages/issues/61: + # - The regex module seems to be used by several extensions. perl -p -i -e "s|files.mdd link=no|files.mdd link=static|" $TERMUX_PKG_BUILDDIR/config.modules + perl -p -i -e "s|regex.mdd link=no|regex.mdd link=static|" $TERMUX_PKG_BUILDDIR/config.modules } termux_step_post_make_install () {