-FROM ubuntu:15.04
+FROM ubuntu:15.10
MAINTAINER Alex Cornejo <acornejo@gmail.com>
# to prevent dialog warnings
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 && \
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
* 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
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
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
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"
# 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"
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. <bits/c++config.h> 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
# <https://github.com/termux/termux-packages/issues/76>.
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 \
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
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
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
--- /dev/null
+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
+}
--- /dev/null
+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 <stdint.h> for platforms that lack it.
+- * <http://www.opengroup.org/susv3xbd/stdint.h.html>
+- */
+-
+-#ifndef _gl_GL_STDINT_H
+-
+-#if __GNUC__ >= 3
+-@PRAGMA_SYSTEM_HEADER@
+-#endif
+-
+-/* When including a system file that in turn includes <inttypes.h>,
+- use the system <inttypes.h>, not our substitute. This avoids
+- problems with (for example) VMS, whose <sys/bitypes.h> includes
+- <inttypes.h>. */
+-#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 <stdint.h> 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 <stdint.h>.
+- Include it before <inttypes.h>, since any "#include <stdint.h>"
+- in <inttypes.h> 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
+-
+-/* <sys/types.h> defines some of the stdint.h types as well, on glibc,
+- IRIX 6.5, and OpenBSD 3.8 (via <machine/types.h>).
+- AIX 5.2 <sys/types.h> isn't needed and causes troubles.
+- MacOS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but
+- relies on the system <stdint.h> definitions, so include
+- <sys/types.h> after @NEXT_STDINT_H@. */
+-#if @HAVE_SYS_TYPES_H@ && ! defined _AIX
+-# include <sys/types.h>
+-#endif
+-
+-/* Get LONG_MIN, LONG_MAX, ULONG_MAX. */
+-#include <limits.h>
+-
+-#if @HAVE_INTTYPES_H@
+- /* In OpenBSD 3.8, <inttypes.h> includes <machine/types.h>, which defines
+- int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__.
+- <inttypes.h> also defines intptr_t and uintptr_t. */
+-# include <inttypes.h>
+-#elif @HAVE_SYS_INTTYPES_H@
+- /* Solaris 7 <sys/inttypes.h> has the types except the *_fast*_t types, and
+- the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX. */
+-# include <sys/inttypes.h>
+-#endif
+-
+-#if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__
+- /* Linux libc4 >= 4.6.7 and libc5 have a <sys/bitypes.h> that defines
+- int{8,16,32,64}_t and __BIT_TYPES_DEFINED__. In libc5 >= 5.2.2 it is
+- included by <sys/types.h>. */
+-# include <sys/bitypes.h>
+-#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 <pthread.h> 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 <stdint.h> 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 <wchar.h> -> <stdio.h> -> <getopt.h> -> <stdlib.h>, and the latter includes
+- <stdint.h> and assumes its types are already defined. */
+-#if ! (defined WCHAR_MIN && defined WCHAR_MAX)
+-# define _gl_GL_JUST_INCLUDE_SYSTEM_WCHAR_H
+-# include <wchar.h>
+-# 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 <stdint.h>
--- /dev/null
+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
+++ /dev/null
-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
-}
+++ /dev/null
-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"
+++ /dev/null
-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"
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
+++ /dev/null
-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"
+++ /dev/null
-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
-+
+++ /dev/null
-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 -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 <sys/cdefs.h>
#include <sys/types.h>
#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);
+ }
+ 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) {
+
+#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);
--- /dev/null
+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
+
#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
-
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"
--- /dev/null
+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 <stdio.h>
+ #include <iostream>
++#include <stdlib.h>
+ #include <string>
+ #include <sstream>
++#include <unistd.h>
+
+ #include <sys/stat.h>
+ /*}}}*/
+++ /dev/null
-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 <stddef.h>
- #include <unistd.h>
-+#include <stdlib.h> /* For mkdtemp */
-
- #include <string>
- #include <vector>
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 -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)
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 -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 ./...
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
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/
}
-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
+++ /dev/null
-From: Barry Warsaw <barry@python.org>
-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
-
_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"
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"
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
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
--- /dev/null
+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);
--- /dev/null
+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
+++ /dev/null
-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
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
--- /dev/null
+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
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
}
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 -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)
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"
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
char const* const commands[] = {
"aapt",
" aapt",
+"abduco",
+" abduco",
"angband",
" angband",
"apt",
"clang",
" clang",
" clang++",
-" clang-3.7",
+" clang-3.8",
" clang-check",
" clang-cl",
" clang-format",
" llvm-dis",
" llvm-dsymutil",
" llvm-dwarfdump",
+" llvm-dwp",
" llvm-extract",
" llvm-lib",
" llvm-link",
" llvm-readobj",
" llvm-rtdyld",
" llvm-size",
+" llvm-split",
" llvm-stress",
" llvm-symbolizer",
" obj2yaml",
" opt",
+" sancov",
+" scan-build",
+" scan-view",
" verify-uselistorder",
" yaml2obj",
"cmake",
" chgrp",
" chmod",
" chown",
-" chroot",
" cksum",
" comm",
" coreutils",
" corkscrew",
"cppi",
" cppi",
+"ctags",
+" ctags",
+" readtags",
"curl",
" curl",
"curseofwar",
" dropbearconvert",
" dropbearkey",
" dropbearmulti",
+"dvtm",
+" dvtm",
+" dvtm-status",
+"elinks",
+" elinks",
"emacs",
-" ctags",
" ebrowse",
" emacs",
" emacsclient",
" 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",
" gcc",
"gcov",
" gcov",
+" gcov-tool",
"gdb",
" gcore",
" gdb",
" gpg-connect-agent",
" gpg2",
" gpgconf",
-" gpgkey2ssh",
" gpgparsemail",
" gpgsm",
" gpgtar",
" lynx",
"m4",
" m4",
+"macchanger",
+" macchanger",
"make",
" make",
"man",
" tset",
"neovim",
" nvim",
+"netcat",
+" nc",
+" ncat",
+" netcat",
"netpbm",
" 411toppm",
" anytopnm",
" pkcs1-conv",
" sexp-conv",
"nmap",
-" ncat",
" nmap",
" nping",
"nodejs",
" 7zr",
"pango",
" pango-view",
-"parallel",
-" niceload",
-" parallel",
-" sem",
-" sql",
"patch",
" patch",
"pathpicker",
" xsubpp",
" zipdetails",
"php",
-" pear",
-" peardev",
-" pecl",
" phar",
" phar.phar",
" php",
" vmstat",
" w",
" watch",
+"proot",
+" proot",
+" termux-chroot",
"protobuf",
" protoc",
"psmisc",
"taskwarrior",
" task",
"tcl",
+" sqlite3_analyzer",
" tclsh",
" tclsh8.6",
"tcpdump",
"termux-tools",
" am",
" chsh",
+" dalvikvm",
" df",
+" getprop",
+" logcat",
+" ping",
" pm",
+" su",
" termux-elf-cleaner",
" termux-fix-shebang",
" termux-open-url",
" teseq",
"tig",
" tig",
+"tinyscheme",
+" tinyscheme",
"tmux",
" tmux",
"toilet",
" tracepath",
" tracepath6",
"transmission",
-" transmission-cli",
" transmission-create",
" transmission-daemon",
" transmission-edit",
" transmission-remote",
" transmission-show",
+"tree",
+" tree",
"ttyrec",
" ttyplay",
" ttyrec",
"units",
" units",
" units_cur",
-"unnethack",
-" unnethack",
"unrar",
" unrar",
"unzip",
" weechat",
"wget",
" wget",
+"wol",
+" wol",
+" wol-bootptab",
+" wol-dhcpdconf",
"x264",
" x264",
"xmlstarlet",
" ecj",
"jack",
" jack",
+"parallel",
+" niceload",
+" parallel",
+" sem",
+" sql",
+"pass",
+" pass",
"ranger",
" ranger",
" rifle",
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:
--- /dev/null
+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
+}
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"
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"
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 -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);
--- /dev/null
+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
--- /dev/null
+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. */
+++ /dev/null
-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}";' \
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 () {
}
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/
}
-
+++ /dev/null
-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
-
--- /dev/null
+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)
--- /dev/null
+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) " ")))
--- /dev/null
+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
--- /dev/null
+; Enable terminal mouse events:
+(xterm-mouse-mode 1)
+++ /dev/null
-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
--- /dev/null
+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;
--- /dev/null
+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.
+++ /dev/null
-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)
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 \
--enable-openssl \
--enable-shared \
--prefix=$TERMUX_PREFIX \
- --target-os=linux
+ --target-os=linux \
+ $_EXTRA_CONFIGURE_FLAGS
}
--- /dev/null
+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
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 -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;
}
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 @@
}
}
};
/* 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},
{"pipe", universal_notifier_t::strategy_named_pipe},
{"notifyd", universal_notifier_t::strategy_notifyd}
};
-@@ -1632,8 +1636,10 @@
+@@ -1687,8 +1691,10 @@
}
switch (strat)
{
--- /dev/null
+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
--- /dev/null
+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
+
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"
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"
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
}
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"
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
/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}
}
-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"
+++ /dev/null
-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 $@; \
- }
--- /dev/null
+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
++ <http://www.gnu.org/licenses/>. */
++
++#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 */
--- /dev/null
+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}"
+
--- /dev/null
+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
+++ /dev/null
-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 */
-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"
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);
--- /dev/null
+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);
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"
# 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 <stdlib.h> including <memory.h>:
+ 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 -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 <sys/user.h>
- #include <sys/ptrace.h>
- #include <sys/utsname.h>
--#include <sys/procfs.h>
-
- #include "nat/linux-ptrace.h"
-
@@ -63,6 +62,10 @@
#define PTRACE_SETHBPREGS 30
#endif
--- /dev/null
+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, <elf.h> actually includes definitions
+- # of Elf32_auxv_t and Elf64_auxv_t. But sadly, <elf.h> includes
+- # <sys/exec_elf.h> which defines some of the ELF types incorrectly,
+- # leading to conflicts with the defintions from <linux/elf.h>.
+- # This makes it impossible for us to include both <elf.h> and
+- # <linux/elf.h>, 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 <elf.h>
+
--- /dev/null
+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
--- /dev/null
+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."),
+++ /dev/null
-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. */
+++ /dev/null
-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 <sys/ucontext.h>
-+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
+++ /dev/null
-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 <sys/ptrace.h>
- #include <signal.h>
-+#include <linux/auxvec.h> /* for AT_HWCAP define */
-
- /* Defined in auto-generated files. */
- void init_registers_arm (void);
+++ /dev/null
-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 <sys/ucontext.h>
-+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 <sys/reg.h>
--#include <sys/procfs.h>
- #include <sys/ptrace.h>
- #include <sys/uio.h>
-
+++ /dev/null
-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 <linux/auxvec.h> /* For AT_PHDR and AT_PHNUM defines */
- #ifndef ELFMAG0
- /* Don't include <linux/elf.h> 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 -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 <sys/procfs.h> /* 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"
#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
+++ /dev/null
-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 <sys/ucontext.h>
-+
-+#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
+++ /dev/null
-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 <sys/procfs.h>
-
- /* Prototypes for supply_gregset etc. */
- #include "gregset.h"
+++ /dev/null
-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 <sys/ptrace.h>
- #include <sys/user.h>
--#include <sys/procfs.h>
- #include <sys/uio.h>
-
- #include "x86-nat.h"
-@@ -39,6 +38,11 @@
- #include "x86-xstate.h"
- #include "nat/linux-btrace.h"
-
-+#ifdef __ANDROID__
-+#include <sys/ucontext.h>
-+typedef fpregset_t elf_fpxregset_t;
-+#endif
-+
- /* Per-thread arch-specific data we want to keep. */
-
- struct arch_lwp_info
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:
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
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 -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
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 '}' \
--- /dev/null
+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'
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__
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"
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"
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
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 -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 = \
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"
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.
+++ /dev/null
-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 <sys/time.h>
-
- typedef struct Meter_ Meter;
-
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
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 -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"
#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
--- /dev/null
+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;
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"
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"
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
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
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 \
Include <xlocale.h> from langinfo.h so that locale_t gets defined.
+Include <locale.h> 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 <nl_types.h>
+#include <xlocale.h>
++#include <locale.h>
#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"
+++ /dev/null
-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 <errno.h>
-+#include <string.h>
- #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";
- }
+++ /dev/null
-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 <xlocale.h>
-
-+#undef MB_CUR_MAX
-+#define MB_CUR_MAX 4
-+
- #ifdef __cplusplus
- extern "C" {
- #endif
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"
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 \
--enable-openssl \
--enable-shared \
--prefix=$TERMUX_PREFIX \
- --target-os=linux
+ --target-os=linux \
+ $_EXTRA_CONFIGURE_FLAGS
}
--- /dev/null
+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
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"
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"
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
--- /dev/null
+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)
+ {
--- /dev/null
+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/
+}
-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
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"
-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
}
--- /dev/null
+## 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:
+##
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
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
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"
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
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
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
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"
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"
# 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
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:
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
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"
-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 -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");
+ 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)
--- /dev/null
+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;
+
--- /dev/null
+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;
+ }
+++ /dev/null
-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 */
--- /dev/null
+From e274e58cb7dff1683480f5538fd1bfa41a85c0c7 Mon Sep 17 00:00:00 2001
+From: Andreas Mohr <and@gmx.li>
+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 <and@gmx.li>
+---
+ 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 {
--- /dev/null
+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;
+++ /dev/null
-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 <config.h>
-
- #include <stdlib.h>
-+#ifndef __ANDROID__
- #include <langinfo.h>
-+#endif
- #include <string.h>
- #include <errno.h>
-
-@@ -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
+++ /dev/null
-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 <config.h>
-
- #include <stdlib.h>
-+#ifndef __ANDROID__
- #include <langinfo.h>
-+#endif
- #include <string.h>
-
- #include "lib/global.h"
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"
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;
}
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"
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"
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"
#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
--- /dev/null
+--- ../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
# 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
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
+}
--- /dev/null
+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"
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"
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:
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
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));
saved_argv[i] = xstrdup(av[i]);
saved_argv[i] = NULL;
-@@ -1413,8 +1416,10 @@
+@@ -1497,8 +1500,10 @@
av = saved_argv;
#endif
/* 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;
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("*");
}
/* 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).
*/
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
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"
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
--- /dev/null
+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"
--- /dev/null
+--- ../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 <Jason@zx2c4.com>. 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
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."
# 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
--- /dev/null
+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);
+
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"
--- /dev/null
+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
--- /dev/null
+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 <termios.h>
+ #include <unistd.h>
+
++/* For CTRL macro: */
++#include <sys/ttydefaults.h>
++
+ #ifdef HAVE_NCURSESW_H
+ #include <ncursesw/curses.h>
+ #include <ncursesw/term.h>
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"
+++ /dev/null
-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 -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
- 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
-endif
-endif
-endif
+-endif
+CCLD = $(CC)
+LCRYPT =
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 @@
}
}
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"
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"
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"
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
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 -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 <sys/types.h> /* getpid(2), */
#include <unistd.h> /* getpid(2), */
#include <errno.h> /* errno(3), */
++#include <libgen.h> /* basename(3), */
+#ifndef __ANDROID__
#include <execinfo.h> /* backtrace_symbols(3), */
+#endif
--- /dev/null
+--- 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);
--- /dev/null
+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. */
--- /dev/null
+--- 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);
--- /dev/null
+#!/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
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.
_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.
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.
_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.
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"
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"
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"
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"
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"
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"
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
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();
+++ /dev/null
-#!/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 $@
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/
}
+++ /dev/null
-#!/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 $@
+++ /dev/null
-#!/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 $@
--- /dev/null
+#!/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
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
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"
+++ /dev/null
-fallocate64() is already defined in <fcntl.h> 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 <fcntl.h>
- #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
--- /dev/null
+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 <errno.h>
+ #include <inttypes.h>
+ #include <string.h>
++#include <sys/select.h>
+
+ #ifndef _WIN32
+ #include <sys/time.h> /* getrlimit */
+++ /dev/null
-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 <sys/stat.h>
- #endif
-
-+#ifndef __ANDROID__
- #include <locale.h> /* setlocale() */
-+#endif
- #include <unistd.h> /* write() */
-
- #include <event2/buffer.h>
-@@ -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;
- }
--- /dev/null
+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 <gscholt at gmail dot com>" | 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"
+}
--- /dev/null
+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;
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"
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
}
set autowrite
set backspace=2
+set encoding=utf-8
set hlsearch
set ignorecase
set incsearch
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"
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
}
set autowrite
set backspace=2
+set encoding=utf-8
set hlsearch
set ignorecase
set incsearch
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:
-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
+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(
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
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
}
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"
# 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 () {