Commit Graph

251 Commits

Author SHA1 Message Date
Fredrik Fornwall
a13bf95a78 Initial stab at supporting ninja and meson builds
Currently unused.
2017-07-29 02:11:04 +02:00
Fredrik Fornwall
95e6f9429a Attach arm issues with C++ exception unwinding
See https://github.com/android-ndk/ndk/issues/379

Fixes #1163

Fixes issues with gdb segfaulting on arm on an unrecognized command.
2017-07-27 02:06:37 +02:00
Fredrik Fornwall
60f7ef535a cmake: Update from 3.8.2 to 3.9.0 2017-07-20 22:17:45 +02:00
Fredrik Fornwall
6297250dc7 Bump ndk standalone toolchain version
Also avoid patching in ndk-stl.
2017-07-16 14:36:31 +02:00
its-pointless
7874ff5b5c fixes building cstddef include for g++ 2017-07-16 14:30:46 +02:00
Fredrik Fornwall
a328a50407 ndk-patches: Patch to 'define MB_CUR_MAX 4'
The platform headers has the following macro:

  #define MB_CUR_MAX __ctype_get_mb_cur_max()

where __ctype_get_mb_cur_max() tries to handle UTF-8 encodings.

However, even in Android 7.0 setlocale(LC_ALL, ""), which many
programs do at startup, doesn't work in that it sets the locale
as non-utf8:

  https://android.googlesource.com/platform/bionic/+/nougat-release/libc/bionic/locale.cpp#139

So we just always consider us being in an utf-8 locale.

Also rebuild coreutils to fix #1136.
2017-07-16 12:36:06 +02:00
Fredrik Fornwall
9c2f926167 Drop old --fix-cortex-a8 flag 2017-07-15 09:59:30 +02:00
Fredrik Fornwall
2415cccef6 Avoid bundling lib/libc++_shared.so in a package 2017-07-15 02:44:13 +02:00
Stephen
1ed8403a9e revert changes 2017-07-14 23:21:20 +02:00
Stephen
b4d748da09 comment out new ideas 2017-07-14 23:21:20 +02:00
Stephen
1889d8a4f9 disable package downloads for down 2017-07-14 23:21:20 +02:00
Stephen
229ba6dde7 add debug tags 2017-07-14 23:21:20 +02:00
Stephen
5a89c5e2fd Continuous output and failure
some attempt at using dpkg for termux package installs instead of
rebuilding from source
2017-07-14 23:21:20 +02:00
Fredrik Fornwall
6c29aaa1c7 Transition from gnustl to libc++
This will make things as std::to_string() and other C++ features
work with a modern and supported C++ library.

We package up libc++_shared.so and bump the revision of every C++
using package to make it rebuild against it.

Users who have built C++ using libraries or programs will probably
need to rebuild them if they are linked against Termux-supplied
libraries, as user code was previously linked against gnustl while
the system libraries are now using libc++, and it's not a good idea
to mix C++ standard libraries in a program.
2017-07-14 00:23:37 +02:00
Fredrik Fornwall
c8b721bab0 Move TERMUX_STANDALONE_TOOLCHAIN declaration
See https://github.com/termux/termux-packages/pull/1125
2017-07-12 11:22:07 +02:00
Fredrik Fornwall
b117bf39f1 ndk-patches: Fix malformed <utmp.h> patch 2017-07-10 09:52:50 +02:00
Fredrik Fornwall
5e29b6bbb4 Make it possible to opt in to _FILE_OFFSET_BITS=64 2017-07-10 00:02:22 +02:00
Fredrik Fornwall
64bafdb635 Introduce TERMUX_PKG_API_LEVEL
By setting the TERMUX_PKG_API_LEVEL property to an android api
level packages can build against later API levels than the current
Termux default of 21.
2017-07-09 21:22:49 +02:00
Fredrik Fornwall
993268c308 Drop -D_FILE_OFFSET_BITS=64 support for now
32-bit android uses 32-bit off_t by default. When building with
-D_FILE_OFFSET_BITS=64 with unified headers off_t are promoted
to 64-bit, but there are bugs in the toolchain and spotty support
for it in the platform (not all functions are available until
android-24, and the platform zlib is compiled with 32-bit off_t).

Also, unless every library&program is rebuilt with 64-bit off_t,
including user-built ones, we risk a mismatch between programs and
libraries which can cause serious (but sometimes subtle) runtime
failures.

As -D_FILE_OFFSET_BITS=64 is not that important for most users
(with mariadb requiring it as an exception), we drop the support
for now by patching it away in <sys/cdefs.h>.
2017-07-07 03:52:46 +02:00
Fredrik Fornwall
4a5fd7241c Fix incorrect struct __sFILE
The __sFILE struct cannot change size when _FILE_OFFSET_BITS=64
is set as it is an API into libc.
2017-07-03 01:27:32 +02:00
Fredrik Fornwall
6f8d07fa94 Remove pty.h from libutil-dev
Instead let ndk-sysroot provide it.
2017-07-02 11:56:40 +02:00
Fredrik Fornwall
358b7c4a95 build-package.sh: pkg-config and gnulib updates
Avoid setting PKG_CONFIG_LIBDIR until after host build.

Avoid more of gnulib.
2017-07-02 11:37:35 +02:00
Fredrik Fornwall
c2df040430 Patch <android/api-level.h> for default api level 2017-07-01 02:25:36 +02:00
Fredrik Fornwall
ebb3f0f296 Patch stdlib.h to include stdint.h
Fixes graphviz build.
2017-07-01 01:54:44 +02:00
Fredrik Fornwall
ff91813fdb Switch over to building with unified headers 2017-07-01 00:04:02 +02:00
Fredrik Fornwall
cf21891a80 Required NDK r15b 2017-06-30 23:32:04 +02:00
Fredrik Fornwall
b84ef4b884 gl_cv_func_realpath_works=yes in build-package.sh 2017-06-30 21:41:25 +02:00
Fredrik Fornwall
1b8f1a0b52 Fix building with gcc and unified headers 2017-06-27 23:27:55 +02:00
Fredrik Fornwall
acd8f481b5 Build with gl_cv_C_locale_sans_EILSEQ=yes
Fixes #1099 by rebuilding grep with this configure variable.
2017-06-26 00:05:20 +02:00
Fredrik Fornwall
88695dba79 Add start of unified headers transition
EXPERIMENTAL STATUS!

To try things out: Define TERMUX_UNIFIED_HEADERS=1 and build to
use the new unified headers.

This causes ndk_patches_unified/ to be used to patch the NDK header
files instead of ndk_patches/.
2017-06-18 20:57:16 +02:00
Fredrik Fornwall
034c87087d Fix edge case in build-package.sh 2017-06-16 23:27:05 +02:00
Fredrik Fornwall
49dd98a346 Update from NDK r14 to r15
The docker image has been updated, use
	./scripts/update-docker.sh
to update.

Note that we are still using the old deprecated non-unified headers
- updating to that is the next step.
2017-06-11 22:55:04 +02:00
Fredrik Fornwall
c53d69d0c4 cmake: Update from 3.8.1 to 3.8.2 2017-06-02 14:11:12 +02:00
Fredrik Fornwall
5224a5b410 golang: Update from 1.8.1 to 1.8.3 2017-05-25 23:00:15 +02:00
Fredrik Fornwall
81c7229f5a Update android tools and build tools
The Docker image has been rebuilt, update with:

scripts/update-docker.sh
2017-05-20 21:17:00 +02:00
Wetitpig
d4ab00856e No need to select one by one. (#1033) 2017-05-19 23:38:04 +02:00
Fredrik Fornwall
ce92cc4c5d Stand in srcdir for termux_step_pre_configure 2017-05-11 01:01:20 +02:00
Fredrik Fornwall
fe5862ce89 Use $(nproc) as default for $TERMUX_MAKE_PROCESSES 2017-05-04 22:21:52 +02:00
Fredrik Fornwall
65394feebc cmake: Update from 3.8.0 to 3.8.1 2017-05-04 22:18:05 +02:00
Fredrik Fornwall
70dd6b3190 Remove TERMUX_TAR and TERMUX_TOUCH
These can be removed now that OS X is not supported directly (OS X
users can still use Docker to build though).

Fixes #936.
2017-04-18 08:19:48 +02:00
Fredrik Fornwall
2447023489 Remove world readable&writeable&executable perms
We do not want anything world readable, writeable or executable.

Fixes #840.
2017-04-17 22:23:21 +02:00
Vishal Biswas
1bfb502693 update cmake (#928)
* librhash: add package

* cmake: update from 3.7.2 to 3.8.0

* build-package: update termux_setup_cmake to 3.8.0

* cmake: add librhash dependency
2017-04-13 13:58:16 +02:00
Fredrik Fornwall
ad05674561 golang: Update from 1.8 to 1.8.1 2017-04-10 00:19:20 +02:00
Fredrik Fornwall
b340a552ba Automatically build with -s if external package 2017-04-07 00:38:21 +02:00
Fredrik Fornwall
386c84693b Fix termux-elf-cleaner breakage
When separating out termux-elf-cleaner into its own repository the
way of building a native binary failed. Fixes #906.
2017-04-06 23:33:45 +02:00
Fredrik Fornwall
542aab6b3f Avoid more gnulib wrappers 2017-04-02 12:38:18 +02:00
Fredrik Fornwall
0d1a1c8e58 Initialize TERMUX_SUBPKG_CONFFILES to empty string 2017-03-26 00:51:46 +01:00
Vishal Biswas
cc7bcfa238 add php-pgsql and php-fpm (#875)
* php: update from 7.1.2 to 7.1.3

* add TERMUX_SUBPKG_CONFFILES

* php: add subpkgs php-pgsql and php-fpm
2017-03-26 00:22:48 +01:00
Vishal Biswas
66926ecd1f add support for custom libexecdir (#869) 2017-03-24 00:51:50 +01:00
Fredrik Fornwall
38a5614f43 Add share/vala to -dev packages 2017-03-22 00:21:00 +01:00
Fredrik Fornwall
46fe48b356 Validate that no hard links exists in package 2017-03-07 01:44:53 +01:00
Fredrik Fornwall
09c4ed7316 libgnustl: Fix broken stripped library on aarch64
Fixes #823.
2017-03-07 00:34:55 +01:00
Fredrik Fornwall
67d2d61527 Remove <sys/sem.h>
System V semaphores doesn't work for non-root, it's better to
point at unnamed POSIX semaphores in <semaphore.h>
2017-03-05 14:22:31 +01:00
Fredrik Fornwall
f3e071d2f4 Wrap getpwuid_r (fixes psql history file location) 2017-03-05 13:34:41 +01:00
Fredrik Fornwall
a599e41a78 Unset nullglob after using it 2017-03-05 11:49:01 +01:00
Fredrik Fornwall
f39b87c294 Remove <sys/shm.h> from the NDK
Use the one from libandroid-shmem instead
2017-03-05 11:42:26 +01:00
Vishal Biswas
7106823dfe Fixes (#819)
* remove ndk_patches/sys-shm.h.patch
add a note about libandroid-shmem and posix semaphores

* libandroid-shmem: enable package

* separate function to replace autoconf guess scripts
2017-03-05 11:40:50 +01:00
Fredrik Fornwall
b26283d4a7 Update from NDK r13 to r14
For those using Docker build environments: run scripts/update-docker.sh
to pull the latest Docker image with r14 installed.

Otherwise, remove the $NDK directory (defaults to
$HOME/lib/android-ndk if not setup in the environment) and run
scripts/setup-android-sdk.sh to setup a r14 installation.
2017-03-04 22:03:54 +01:00
Fredrik Fornwall
1197c15b83 Fix ifaddrs.h for real now 2017-02-21 10:11:52 +01:00
Fredrik Fornwall
4626e856f3 Bump toolchain after ifaddrs.h change 2017-02-20 21:58:41 +01:00
Fredrik Fornwall
42562d13b8 ndk_patches: Add a ifaddrs.h polyfill (fixes #338) 2017-02-17 22:33:57 +01:00
Fredrik Fornwall
ff3f67dcef golang: Update from 1.7.5 to 1.8 2017-02-17 20:09:31 +01:00
Fredrik Fornwall
00d9769e93 build-package.sh: Avoid more gnulib wrappers 2017-02-04 01:15:26 +01:00
Fredrik Fornwall
c9d4e74fa1 build-package.sh: Check checksum more
When having an already downloaded source archive, use the checksum
to validated it. This avoids problems if the file has been modified
by mistake after downloading in a previous build and detects if
an incorrect checksum has been specified.
2017-02-02 22:24:13 +01:00
Fredrik Fornwall
bc0560aa39 build-package.sh: Add -f flag to force build 2017-02-02 22:14:29 +01:00
Fredrik Fornwall
18fbaa060b Update the android sdk build tools used
The docker image has been rebuilt, so ./scripts/update-docker.sh
should be used.
2017-02-02 01:39:29 +01:00
Fredrik Fornwall
7048a1f22d build-package.sh: Some shellcheck cleanups 2017-02-02 00:40:11 +01:00
Fredrik Fornwall
6b56911d9c build-package.sh: Handle weird file names better 2017-02-01 22:45:14 +01:00
Fredrik Fornwall
538812ae64 build-package.sh: Update build go from 1.8rc2 to 1.8rc3 2017-01-31 13:07:48 +01:00
Fredrik Fornwall
a15ad0de6d build-package.sh: Remove broken subpackage logic 2017-01-30 02:10:22 +01:00
Fredrik Fornwall
160874611f Always export CMAKE_INSTALL_ALWAYS=1 for cmake builds 2017-01-27 23:59:17 +01:00
Fredrik Fornwall
8c9b8a9a1e Update to go 1.8rc2 for building go packages 2017-01-25 00:23:49 +01:00
Vishal Biswas
c4804ab87a ndk_patches: add patches for sem and shm (#691)
* ndk_patches: add patches for sem and shm

* add #ifdef around syscall stubs for shm.h and sem.h
2017-01-24 10:41:46 +01:00
Fredrik Fornwall
2911ab9295 Remove some macOS leftovers
We only build on Linux nowadays
2017-01-20 11:10:59 +01:00
Fredrik Fornwall
12ff30d5ff Put $PREFIX/lib/cmake in -dev packages 2017-01-19 05:21:14 +01:00
Fredrik Fornwall
c9e68e0d9c Use -mthumb when building for arm 2017-01-19 03:58:44 +01:00
Fredrik Fornwall
c8d1a650a4 Really use gold by default for aarch64 2017-01-19 02:51:17 +01:00
Fredrik Fornwall
4219525cdf Use rpath-link hack on all aarch64 gcc builds 2017-01-18 11:44:51 +01:00
Fredrik Fornwall
0d1dde5fef Try gold linker by default on aarch64 2017-01-18 04:05:45 +01:00
Fredrik Fornwall
07884eae94 Fix arm issue with clang-pie-wrapper
We need to wrap arm-linux-androideabi, not arm-linux-android.

Also, specify armv7a as clang cpu target and not just arm.
2017-01-17 17:31:24 +01:00
Fredrik Fornwall
adc0d548a5 build-package.sh: Build aarch64 first on '-a all' 2017-01-17 16:12:10 +01:00
Fredrik Fornwall
619b966418 build-package.sh: Remove _SPECSFLAG 2017-01-17 15:51:59 +01:00
Fredrik Fornwall
48d883791b Use go1.8rc1 for cross compilation 2017-01-16 11:09:18 +01:00
Vishal Biswas
bd3e679c7d fix clang cmake build left broken for arches other than aarch64 by #2f0de58717 (#677) 2017-01-16 08:48:23 +01:00
Fredrik Fornwall
a55b3fa0cd cmake: Update from 3.7.1 to 3.7.2 2017-01-15 23:07:37 +01:00
Fredrik Fornwall
2f0de58717 Use clang by default through a script wrapper
The script wrapper ensures that position-independent executables
are built without having to modify any build system.
2017-01-15 21:13:22 +01:00
Vishal Biswas
58f7a21c18 Add support for cmake 3.7 (#660) 2017-01-15 13:48:05 +01:00
Fredrik Fornwall
bb8baaa26d build-package.sh: Add termux_setup_cmake 2017-01-11 12:21:58 -05:00
Fredrik Fornwall
af4dc416ed s/TERMUX_PKG_BUILD_REVISION/TERMUX_PKG_REVISION/ 2017-01-11 01:21:42 -05:00
Fredrik Fornwall
01e699d962 Fix some more shellcheck warnings 2017-01-10 06:35:05 -05:00
Fredrik Fornwall
508fa73cb8 Always call post-extract step in srcdir 2017-01-10 03:14:35 -05:00
Fredrik Fornwall
dd54dd13fd Fix some shellcheck warnings in build-package.sh 2017-01-10 02:05:28 -05:00
Fredrik Fornwall
caf5d0df81 build-package.sh: Fix two shellcheck warnings 2017-01-08 08:06:46 -05:00
Fredrik Fornwall
93ae139b76 build-package.sh: Ensure a clean hostbuild dir 2017-01-08 08:01:22 -05:00
Fredrik Fornwall
627fdeb162 ndk_patches: Define _POSIX2_VERSION to 200809
coreutils looks at _POSIX2_VERSION and enables broken obsolete
behaviour if not set.

Fixes https://github.com/termux/termux-app/issues/232.
2017-01-07 01:45:46 -05:00
Fredrik Fornwall
10b023b81d build-package.sh: Fix shellcheck warning 2017-01-07 01:14:06 -05:00
Fredrik Fornwall
2b0e9dc9e2 Fix build of python after build-package.sh rewrite 2017-01-07 00:38:04 -05:00
Fredrik Fornwall
7b1f1bd35d build-package.sh: Cleanup a bit
- Put everything into shell functions.
- Start fixing shellcheck warnings.
- Run a hostbuild before setting up an android toolchain (fixes #657).

It was quite a hasty rewrite, so things could be broken. Let me know!
2017-01-05 20:37:45 -05:00
Fredrik Fornwall
fc89df4deb build-package.sh: Automatically build dependencies
We now automatically build dependencies unless the -s option is
used, so running scripts/buildorder.py shouldn't be necessary now.
2017-01-03 19:04:37 -05:00
Fredrik Fornwall
9b741f4945 build-package.sh: Always rebuild the package if debug build 2016-12-23 14:58:05 -05:00