Commit Graph

346 Commits

Author SHA1 Message Date
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
Fredrik Fornwall
9247ce47b8 build-package.sh: Use full version when checking
When checking if a package needs to be rebuilt, we need to use the
full version including the build revision.
2016-12-23 03:53:06 -05:00
Fredrik Fornwall
ff7aaad158 build-package.sh: Try to avoid needless rebuilds 2016-12-20 20:34:57 -05:00
Fredrik Fornwall
a8dcbfb609 golang: Update from 1.7.3 to 1.7.4 2016-12-06 21:00:00 -05:00
Fredrik Fornwall
30ecfee6b9 build-package.sh: The -d (debug) flag takes no arg 2016-11-30 19:16:40 -05:00
Fredrik Fornwall
1a8d12c265 Tweak the README a bit 2016-11-24 20:43:26 -05:00
Fredrik Fornwall
66f3991fb3 Specify zlib as 1.2.8, not 1.2.3 as ndk claims 2016-11-22 18:51:13 -05:00
Fredrik Fornwall
c629f2b1fd build-package.sh: Handle options early 2016-11-22 17:13:12 -05:00
Fredrik Fornwall
4663ac70d4 Use $TERMUX_MAKE_PROCESSES in host build 2016-11-22 16:15:05 -05:00
Fredrik Fornwall
92c7aec402 Remove old unused TERMUX_PKG_KEEP_HEADER_FILES 2016-10-29 17:39:13 -04:00
Fredrik Fornwall
a75313eee3 build-package.sh: Fix some shellsheck warnings 2016-10-29 15:44:51 -04:00
Fredrik Fornwall
a3abe92801 build-package.sh: Fix -D argument handling 2016-10-23 16:49:00 -04:00
Vishal Biswas
a5b4ca0cb7 Builder script and ndk patch improvements (#520)
- Add MOUNTED path.
- Add debug switch.
- Add switch for disabled package.
2016-10-23 14:57:41 +02:00
Fredrik Fornwall
aea302356f Better checksum messages 2016-10-23 07:47:52 -04:00
Fredrik Fornwall
23d4b8b520 golang: Update from 1.7.1 to 1.7.3 2016-10-21 15:17:18 -04:00
Fredrik Fornwall
0c3f26971d build-package.sh: Run more elf cleaning on NDK 2016-10-19 17:23:42 -04:00
Vishal Biswas
1596352867 fix _SPECSFLAG to prevent fail on certain occasions (#508) 2016-10-16 20:44:03 +02:00
Fredrik Fornwall
34317fac89 Add comment about DT_RUNPATH in Android 7 2016-10-12 18:57:22 -04:00
Fredrik Fornwall
711e9e5b06 Update to using NDK r13 2016-10-07 13:37:10 -04:00
Fredrik Fornwall
1d678bcef5 build-package.sh: Tweak debug builds 2016-10-06 17:21:04 -04:00
Fredrik Fornwall
720575ff8e Update outdated comment about x86_64 2016-10-03 17:00:01 -04:00
Fredrik Fornwall
48670d1b90 Replace maintainer email with github nick 2016-09-26 16:28:22 -04:00
Fredrik Fornwall
a3d36771f2 Don't forget x86_64 when building for all arches 2016-09-24 19:55:23 -04:00
Fredrik Fornwall
2497d95791 Strip libc.so before linking against it
This avoids creating unwanted sections in the built ELF files that
causes issues when removed.

Fixes #412.
2016-09-24 19:30:20 -04:00
Fredrik Fornwall
fa05ce4619 Switch to make_standalone_toolchain.py 2016-09-24 17:11:31 -04:00
Fredrik Fornwall
95c8f610d5 Bump patched NDK toolchain version 2016-09-22 20:58:06 +02:00
Fredrik Fornwall
204bde80a4 build-package.sh: Avoid mess in zlib.pc 2016-09-22 14:37:03 -04:00
Fredrik Fornwall
9db621c024 taslwarrior: Keep share/doc
Fixes #451.
2016-09-19 19:07:44 -04:00
Fredrik Fornwall
bb97a729ca Use offline copies of config.{guess,sub}
Previously the latest version was downloaded from the git web
interface at git.savannah.gnu.org.
2016-09-16 06:23:01 -04:00
Mariusz
6ad2991cb1 build script: Fix message on failed download (fixes #456) (#457)
Message displayed when file download fails, shows wrong information
about maximum number of attempts. Hardcoded value of '3' is shown,
but in reality there is up to six attempts (when subsequent downloads
keep failing).
Fix it by using correct value.
2016-09-15 21:50:29 +02:00
Fredrik Fornwall
b9a198c812 golang: Update from 1.7 to 1.7.1 2016-09-09 09:36:53 -04:00
Fredrik Fornwall
ab5f5c6068 Setupt timestamp file at correct place 2016-09-04 11:07:37 -04:00
Fredrik Fornwall
b1d8dacddb Enable packages to opt in to use clang
Later this will be changed to use clang by default and possibly
opt out.
2016-09-03 18:50:21 -04:00
Fredrik Fornwall
e239964bac Make it possible to specify checksum for src 2016-08-24 06:34:43 -04:00
Fredrik Fornwall
40534bae4b ndk-sysroot: Setup librt&libpthread symlinks
The librt and libpthread libraries are built into libc on Android
and does not exist as separate libraries.

We now set them up as symlinks to libc for compatibility.

Fixes #403.
2016-08-19 09:25:48 -04:00
Fredrik Fornwall
e5b151a0fb golang: Update from 1.7.beta2 to 1.7 final release 2016-08-16 06:53:19 -04:00
Fredrik Fornwall
8094c664f6 Use -r (--no-run-if-empty) to xargs
This avoids false error messages when building packages without
ELF files.

Fixes #373.
2016-08-11 09:32:56 -04:00
Fredrik Fornwall
768ce14ecc Replace gcc with clang
Only clang has official support for Android, and trying to maintain
a working gcc will only get messier over time.

Remove gcc and g++ packages, and setup gcc and g++ as symlinks to
clang.

Let clang replace gcc, but note that 'apt dist-upgrade' needs to
be run once if a user has both clang and gcc installed.

Fixes #369.
2016-08-11 09:27:40 -04:00
Fredrik Fornwall
3f300a10fc Setup libstdc++.so -> libgnustl_shared.so early
Let build-package.sh setup the $PREFIX/lib/libstdc++.so symlink
before building any package, to make sure that all C++ applications
link against a fully featured C++ standard library.

Avoid explicitly declaring a dependency on the libgnustl package
since everyone may link against it at will and instead mark it as
essential.
2016-08-10 19:45:41 -04:00
Fredrik Fornwall
be0684c0d7 Export PREFIX in build-package.sh (fixes #327) 2016-08-08 16:42:38 -04:00
Fredrik Fornwall
e45652b2c6 Switch to bintray mirror for imagemagick&picolisp 2016-08-05 07:18:33 -04:00
Fredrik Fornwall
ed66b8ab12 Try downloads for longer time before giving up 2016-08-05 04:22:32 -04:00
Fredrik Fornwall
200e43d479 Pass -q to unzip 2016-08-04 12:09:30 -04:00
Fredrik Fornwall
280ccd42ef Wait longer before a repeated download attempt 2016-08-02 10:28:19 -04:00
Fredrik Fornwall
b0c4601465 Fix use of unbound variable 2016-08-02 07:50:02 -04:00
Fredrik Fornwall
9a104bdae4 Make is possible to blacklist arch in a pkg 2016-08-02 07:39:25 -04:00
Fredrik Fornwall
382cfb780c Update SDK build tools to 24.0.1 2016-07-26 07:23:39 -04:00
Fredrik Fornwall
28dc0ace4f Enable -dev package dependencies 2016-07-19 18:48:39 -04:00
Fredrik Fornwall
f9129b8c77 build-package.sh: Avoid warning on x86-64 build 2016-06-16 17:49:43 -04:00
Fredrik Fornwall
a1a5843668 Fix building arm standalone toolchain
Also build a toolchain to a temporary directory first, to avoid
ending up with a broken (unpatched) toolchain if something goes
wrong.

Fixes #317.
2016-06-13 08:20:42 -04:00
Fredrik Fornwall
ed021630df Fixes for building on a mac 2016-06-11 01:17:00 +02:00
Fredrik Fornwall
202ed9d3b3 Update to use NDK r12 2016-06-10 10:45:16 -04:00
Fredrik Fornwall
a005794323 Tweak build script and docker setup
- Output deb files to debs/ folder by default.
- Use $HOME/.termux-build for build folder by default (changed
  from previous $HOME/termux).
- Make scripts/run-docker.sh re-use a single container instead of
  creating new ones for each run.
- Avoid mounting the whole Termux build folder in docker. This
  fixes #294, mmap not supported host folders under OS X.
- Add a scripts/update-docker.sh utility for checking for an
  updated docker image..
- Make build-package.sh support the [-a ARCH] flag to specify arch.
- Make aarch64 the default arch (from previous arm).
- Try to improve the README a bit.
2016-06-03 18:41:30 -04:00
Fredrik Fornwall
19fb617a98 build-package.sh: Fix termux_download placement 2016-05-30 19:25:12 -04:00
Fredrik Fornwall
32db9f332b build-package.sh: Wrap curl download 2016-05-30 17:30:32 -04:00
Fredrik Fornwall
3c323c69ae Docker and build updates
- Update to build on ubuntu 16.04.
- Docker: Set FORCE_UNSAFE_CONFIGURE=1. Fixes #275.
- Docker: Various fixes.
- Neovim: No longer require lua.
- Some minor package updates.
2016-05-24 18:38:29 -04:00
Fredrik Fornwall
31309df7e2 build-package.sh: Stop using arm hard float ABI
This is being removed in the NDK (and will fix some issues):
https://android.googlesource.com/platform/ndk/+/master/docs/HardFloatAbi.md
2016-05-18 18:38:46 -04:00
Fredrik Fornwall
bb5cfa8c9d picolisp: Minor update and buildable using clang 2016-05-18 10:24:22 -04:00
Fredrik Fornwall
9462fe8257 ndk_patches: Take elf.h from the NDK 2016-05-08 16:26:15 -04:00
Fredrik Fornwall
46de1c2b41 ndk_patches: Remove sha1.h 2016-05-08 16:08:51 -04:00
Fredrik Fornwall
59ff7c032a ndk_patches: Remove JNIHelp.h 2016-05-08 16:04:56 -04:00
Fredrik Fornwall
d4e4fb87b1 Update go version used for building 2016-04-29 18:42:42 -04:00
Fredrik Fornwall
dc6476e9ea build-package.sh: Allow @TERMUX_HOME@ in patches 2016-04-19 17:05:07 -04:00
Fredrik Fornwall
0ae97c5e98 termux-tools: Quote $@ when sending from wrappers
Fixes https://github.com/termux/termux-api/issues/18
2016-04-19 10:28:08 -04:00
Fredrik Fornwall
99dd1a492e Update comment about 64-bit arches 2016-04-19 07:36:11 -04:00
Fredrik Fornwall
a0c80d57cb emacs: Do not strip away info pages (closes #194) 2016-04-14 20:47:04 -04:00
Fredrik Fornwall
2572f2bcff Update go used for building go packages 2016-04-13 17:53:10 -04:00
Fredrik Fornwall
4432ca976c build-package.sh: Add symlinks to sub-packages 2016-03-18 16:39:23 -04:00
Fredrik Fornwall
f37532bb8d build-package.sh: Only fix shebangs on first line 2016-03-17 11:38:33 -04:00
Fredrik Fornwall
c8b6264e23 Make it possible to build packages with clang 2016-03-13 17:59:15 -04:00
Fredrik Fornwall
92dcdb446d Do not run termux-elf-cleaner on debug builds 2016-03-12 15:39:17 -05:00
Fredrik Fornwall
d6012486a5 Remove rpl_gettimeofday wrapping 2016-03-10 15:18:21 -05:00
Fredrik Fornwall
c30d38226b Initial stab at NDK r11 support 2016-03-10 12:01:58 +01:00
Fredrik Fornwall
494260c50d golang: Update to 1.6 final 2016-02-17 22:41:22 -05:00
Fredrik Fornwall
fb45772b84 Pre-create $PREFIX/include/
This is useful is directly building a package depending on the folder
to exist.
2016-01-21 09:31:00 -05:00
Fredrik Fornwall
b96b5b147c Switch from control.tar.gz to control.tar.xz 2016-01-17 17:57:15 -05:00
Fredrik Fornwall
475a14a371 golang: Update from 1.6beta1 to 1.6beta2 2016-01-14 18:57:13 -05:00
Fredrik Fornwall
f6a562876b Remove duplication of golang setup 2016-01-10 19:45:41 -05:00
Fredrik Fornwall
1931a64d98 Make install-sdk.sh not assume android is in $PATH
Also update the build-tools to latest 23.0.2
2016-01-08 20:39:09 -05:00
Fredrik Fornwall
d6fcd836c6 Avoid enabling gnulib fcntl wrapper
This lessens bloat and fixes 64-bit compiles (the gnulib fcntl
wrapper uses getdtablesize() which does not exist for 64-bit).
2016-01-03 08:48:50 -05:00
Fredrik Fornwall
4fd853fc3e build-package.sh: Use deb naming convention
"The Debian binary package file names conform to the following convention:
<foo>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb"
- https://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html#s-pkgname
2015-12-27 01:54:03 -05:00
Fredrik Fornwall
2c1aa5586a build-package.sh: Do steps in right order 2015-12-20 20:47:48 -05:00
Fredrik Fornwall
3a189d898c Update go handling
- Use 1.6beta1 for host build
- Download host build tool when needed
- Re-build asciinema with 1.6beta1 to avoid relocation warnings
2015-12-20 12:02:59 -05:00
Fredrik Fornwall
ad04b25a80 build-package.sh: Make -dev packages conflict 2015-12-15 20:13:17 -05:00
Iain Nicol
d2dfadf1f2 Disable gnulib's rpl_getcwd() across all packages
This works around a bug in said function which was affecting zile.
Fixes #76.
2015-12-06 18:00:19 +00:00
Fredrik Fornwall
5822f92030 git: Use $PREFIX/bin/sh instead of /system/bin/sh 2015-12-02 06:24:10 -05:00
Fredrik Fornwall
73f9ed9b54 Add rpath-link parameter for aarch64 build 2015-12-01 20:32:45 -05:00
Fredrik Fornwall
6c2692459b Change how configure is called 2015-11-17 14:21:55 -05:00
Fredrik Fornwall
150f95af27 Fix rpl_malloc when cross compiling
Work around rpl_malloc being used, see
http://wiki.buici.com/xwiki/bin/view/Programing+C+and+C%2B%2B/Autoconf+and+RPL_MALLOC
for more information:

"The AC_FUNC_MALLOC macro makes sure that the malloc function when passed a zero
argument returns a valid memory block instead of a NULL pointer. This behaviour
conforms to the GNU C library.  Normally, this is a reasonable test that autoconf
makes at build-time. In the case of cross-compilation, however, autoconf cannot
execute a program to verify proper behavior.  It makes the conservative assumption
that the target library will produce non-conforming code.

Failure of this test causes autconf to replace malloc() calls with rpl_malloc()
calls. At link time, if there is no rpl_malloc() function, the linker will fail
with an error describing the missing symbol. The autoconf documentation recommends
adding this harmless code to the application to implement the function."

In Termux the rpl_malloc() usage is useless at best, and may also prevent building
some packages as well as giving runtime crashes for libgc-using packages or others
expecting to intercept malloc.

Previously some packages specified worked around this themselves, but the configure
arguments are now moved into build-package.sh.
2015-11-15 16:04:37 -05:00
Fredrik Fornwall
7ad250059b libxml2-dev: Add bin/xml2-config
Introduce TERMUX_PKG_INCLUDE_IN_DEVPACKAGE as a method of
specifying additional files for -dev packages, and use that to
add bin/xml2-config (which is needed to e.g. install the python
lxml package) to libxml2-dev.

Should fix https://github.com/termux/termux-app/issues/8

Also change subpackage containing xmllint to libxml2-utils to
match debian.
2015-11-13 22:47:05 -05:00
Fredrik Fornwall
637f22d133 Remove DT_VERDEF and DT_VERDEFNUM elf entries
This fixes Android 6 problems (so closes #26).

It also rebuilds termux-elf-cleaner when needed
and bumps some build revisions for packages
needed updates to remove DT_VERDEF and DT_VERDEFNUM.
2015-10-13 15:48:40 -04:00
Fredrik Fornwall
a8c61c7d20 Add TERMUX_PKG_CONFLICTS support 2015-09-14 20:13:29 -04:00
Fredrik Fornwall
f1cb02a4b1 build-package.sh fix for termux_step_post_massage 2015-08-19 21:21:38 -04:00
Fredrik Fornwall
58235144ca build-package.sh: Run elf-cleaner with pipefail 2015-08-19 07:50:08 -04:00
Fredrik Fornwall
5e867f5831 Update to android build-tools 23.0.0 2015-08-18 05:33:53 -04:00
Fredrik Fornwall
cd83eaf669 build-package.sh: Create $PREFIX/libexec 2015-08-14 14:42:04 -04:00
Fredrik Fornwall
6171fc8a27 build-package.sh: Setup $TERMUX_PREFIX/etc as well 2015-08-06 19:55:34 -04:00
Fredrik Fornwall
f643ff600c Teach build-package.sh to take path to packages 2015-07-27 17:20:14 -04:00
Fredrik Fornwall
4e963c626f Extract out ubuntu-setup.sh 2015-07-27 16:12:06 -04:00
Fredrik Fornwall
8f7dda8321 Work against 64-bit builds 2015-06-25 06:36:03 -04:00
Fredrik Fornwall
fef735eaee Better toolchain name handling 2015-06-22 19:48:10 -04:00
Fredrik Fornwall
59f0d218a6 Initial push 2015-06-13 01:03:31 +02:00