Commit Graph

215 Commits

Author SHA1 Message Date
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