Commit Graph

486 Commits

Author SHA1 Message Date
Fredrik Fornwall b3f68a9b5c Update build tools version to 28.0.2
Also extract setting ndk and build tools version to
scripts/properties.sh to avoid duplication.
2018-08-15 16:52:18 +02:00
Fredrik Fornwall e16ba7d86f cmake: Update from 3.11.4 to 3.12.1 2018-08-10 13:01:10 +02:00
Fredrik Fornwall 047754e8fa Update android sdk build tools
Update the android sdk build tools from 27.0.3 to 28.0.1, bringing
in d8 which is replacing dx.

This needs an update of the Docker image, so run scripts/update-docker.sh
to update it.
2018-07-26 12:21:43 +02:00
Henrik Grimler e71adec6a5 wireguard-tools: Add package
Also run make if $TERMUX_PKG_EXTRA_MAKE_ARGS is defined, even if no $TERMUX_PKG_SRCDIR/Makefile exists.
2018-07-15 17:11:40 +02:00
Fredrik Fornwall 16dae8a4eb Update meson used from 0.46.1 to 0.47.0 2018-07-03 13:25:19 +02:00
Fredrik Fornwall 4682296dae Fix typo in build-package.sh 2018-06-26 04:53:02 +02:00
Leonid Pliushch 461ab10d23 build-package.sh: introduce TERMUX_PKG_PROVIDES
The field 'Provides:' makes possible creation of virtual packages.
Info: https://www.debian.org/doc/debian-policy/#virtual-packages-provides
2018-06-24 02:16:49 +02:00
Fredrik Fornwall a00923eee0 Introduce TERMUX_PKG_SKIP_SRC_EXTRACT
This new construct allows us to specify the src url in a structured
way for e.g. repology metadata. Start by using it in ack-grep and
ca-certificates.
2018-06-22 01:13:24 +02:00
Fredrik Fornwall 019588bc51 cmake: Update from 3.11.3 to 3.11.4 2018-06-20 01:20:55 +02:00
Henrik Grimler bc98e1e72d build-package.sh: don't set TERMUX_PKG_REPLACES for debug builds
It was introduced in c18051e78118966e4a4d77cb1638d767822eca66. It didn't work as expected.
2018-06-13 20:22:13 +02:00
Henrik Grimler 71594b6ea5 Allow TERMUX_PKG_SRCURL and TERMUX_PKG_SHA256 to be arrays (#2506)
* build-package.sh: allow for arrays in TERMUX_PKG_{SRCURL,SHA256}

Packages that require several source archives can then set these parameters to
arrays instead of downloading them "manually" in termux_step_post_extract.

Downloaded files are extracted into subfolders in TERMUX_PKG_SRCDIR.

Tested for backward compatibility in a couple of packages and the combinations
tar + tar, zip + tar, tar + zip, zip + zip.

* perl: download perl-cross through TERMUX_PKG_SRCURL

* perl: remove $PREFIX/{lib/libperl.so,include/perl} before build

Otherwise building perl twice doesn't give the same results, symlinks are
messed up.

Also remove old remnant from when there was a Kid.pm.patch.

* bash: fix tiny typo

* ecj: remove hardcoded SHA256 and pkg version

* elfutils: download argp-standalone through TERMUX_PKG_SRCURL

* ldc: download all src archives through TERMUX_PKG_SRCURL

* libgc: download libatomic_ops through TERMUX_PKG_SRCURL

* libllvm: download all src archives through TERMUX_PKG_SRCURL

* linux-man-pages: download src archives through TERMUX_PKG_SRCURL

* ncurses: download all src archives through TERMUX_PKG_SRCURL

* pngquant: download lib sources through TERMUX_PKG_SRCURL

Use .zip for lib since the downloaded archives are otherwise both named
$TERMUX_PKG_VERSION.tar.gz and replace each other. This causes caching to
not work.
2018-06-13 02:15:26 +02:00
Henrik Grimler c1b82abd09 Add fixes for debug builds (#2296)
* build-package.sh: add possibility for debug patches and TERMUX_PKG_HAS_DEBUG

Setting TERMUX_PKG_HAS_DEBUG=no disables attempt to build debug build of
package.
Useful for example if a debug build doesn't make sense, as for python-packages
and texlive.

* aapt: skip D_FORTIFY_SOURCE=2 for libandroid-cutils when doing debug build

* lftp: skip D_FORTIFY_SOURCE=2 for debug build

* libflac: don't use -g3 for debug build

Configure script removes it otherwise.

* nano: skip -D_FORTIFY_SOURCE=2 for debug build

* vifm: skip -D_FORTIFY_SOURCE=2 for debug build

* mc: skip -D_FORTIFY_SOURCE=2 for debug build

* dropbear: add __attribute__((overloadable)) to XMEMSET and XMEMCPY if debug

* gdb: add __attribute__((overloadable)) to strchr if debug

* gnuit: add __attribute__((overloadable)) to strchr and strcpy if debug

* gperf: add __attribute__((overloadable)) to strlen if debug

* inetutils: add __attribute__((overloadable)) to strrchr and strchr if debug

* readline: add __attribute__((overloadable)) to strchr if debug

* tsocks: add __attribute__((overloadable)) to poll if debug

* units: add __attribute__((overloadable)) to strchr if debug

* liblua: fix bug in loslib.c that emerged in debug build

Use strncpy instead of strcpy.
Original error message:
loslib.c:169:3: error: 'strcpy' called with string bigger than buffer
  lua_tmpnam(buff, err);
  ^
loslib.c:122:37: note: expanded from macro 'lua_tmpnam'
       strcpy(b, LUA_TMPNAMTEMPLATE); \
                                   ^

* alpine: include our getpass.h in imap's mtest.c to declare getpass

Debug build complained about the previous implicit declaration.

* nginx: use --with-debug instead of --debug

* cboard: skip -D_FORTIFY_SOURCE=2 for debug build

* gettext: add __attribute__((overloadable)) to getcwd if debug

* oathtool: skip -D_FORTIFY_SOURCE=2 for debug build

* php: add __attribute__((overloadable)) to strlcpy and strlcat if debug

* expect: add __attribute__((overloadable)) to strchr if debug

* texlive: set TERMUX_PKG_HAS_DEBUG=no

* asciinema: set TERMUX_PKG_HAS_DEBUG=no

* libllvm: set TERMUX_PKG_HAS_DEBUG=no

Debug build fails with:
home/builder/.termux-build/libllvm/src/lib/Support/Unix/Path.inc:740:19: error: no matching function for call to 'RetryAfterSignal'                                                                                                      if ((ResultFD = sys::RetryAfterSignal(-1, open, P.begin(), OpenFlags)) < 0)

* build-package.sh: set TERMUX_PKG_REPLACES=package if debug build

Hopefully allows us to install debug packages without breaking dependecies.

Should be looked over and be made more similar to how debian does this in any case

* Update build.sh
2018-06-13 02:12:36 +02:00
Fredrik Fornwall 4f56a36f6d golang: Update from 1.10.2 to 1.10.3 2018-06-08 14:17:21 +02:00
Henrik Grimler 28129617b0 build-package.sh: partly undo 9b2f3b6
We'll rename debug debs to ${PKG}-dbg but not the actual package name in
control. Debug versions of packages and normal packages can then replace each
other without complaints from apt.

We need to work a bit more on it to be able to setup a debug repo.
2018-06-07 22:36:53 +02:00
Fredrik Fornwall 727c4293ef cmake: Update from 3.11.2 to 3.11.3 2018-06-06 02:44:44 +02:00
Henrik Grimler 7dd380ac70 pass-otp: add package (#2466)
* build-package.sh: add TERMUX_PKG_SUGGESTS

See https://www.debian.org/doc/debian-policy/#binary-dependencies-depends-recommends-suggests-enhances-pre-depends

* pass-otp: add package

Useful for services that require two factor authentication

Add libqrencode as SUGGESTS

* libqrencode: add package

* pass: bump package, add pass-otp as suggested package

Also add git as RECOMMENDS. Maybe pass-otp should be RECOMMENDS as well?
2018-06-04 01:35:38 +02:00
Fredrik Fornwall 81328b7093 Use common cachedir for standalone toolchain
We might just as well use TERMUX_COMMON_CACHEDIR instead of using
_lib for the standalone toolchain.
2018-05-27 15:06:06 +02:00
Vishal Biswas 160d3aeb06 update ndk to 17 and switch some packages to clang build (#2415)
* update ndk to 17

* bump NDK version in setup-android script

* libnl: fix for ndk r17

* libpixman: use clang's __builtin_shufflevector instead of __builtin_shuffle (#1)

Required to make package build with ndk17.

* fix as for arm

* ndk17 still uses ld.bfd on aarch64

* use -fno-integrated-as for clang only

* glib: remove patch unnecessary after ndk17

* torsocks: remove unneeded patch after ndk17

* subversion: fix build as clang++ now errors out for mismatched flags

* libpulseaudio: fix build with ndk17

https://github.com/termux/termux-packages/pull/2415#issuecomment-388296684

* gst-plugins-good: disable video4linux2

ioctl is defined as __overloadable in ndk17 headers which
  conflicts with v4l2object's member ioctl

* libzmq: disable Werror to build with ndk17

* ltrace: hardcode symbol not available in ndk17

* busybox: build with clang for all arches except arm

* dropbear: build with clang instead of gcc

* gnupg: build with clang instead of gcc

* openssl: use clang for all arches except arm

* picolisp: build with clang instead of gcc

* valgrind: use clang on all arches except aarch64

* Revert "gst-plugins-good: disable video4linux2"

This reverts commit 43850b81ccf60033c25cb13dfd326c1b0528773a.
Already applied on base branch.

* libllvm: use default arm triple
2018-05-27 14:55:20 +02:00
Fredrik Fornwall 7c2b8f9be2 cmake: Update from 3.11.1 to 3.11.2 2018-05-18 03:22:51 +02:00
Fredrik Fornwall 4cf01c6bcc Update meson used from 0.45.1 to 0.46.1 2018-05-17 19:30:07 +02:00
Fredrik Fornwall 6d409519e7 golang: Update from 1.10.1 to 1.10.2 2018-05-02 23:18:31 +02:00
Fredrik Fornwall aac77c68bf cmake: Update from 3.11.0 to 3.11.1 2018-04-22 21:48:24 +02:00
Fredrik Fornwall 6cc1e17082 cmake: Update from 3.10.3 to 3.11.0 2018-03-31 00:48:49 +02:00
Fredrik Fornwall bbe42921fa golang: Update from 1.10 to 1.10.1 2018-03-30 22:43:39 +02:00
Fredrik Fornwall 96c9f0466f Update android build tools from 27.0.1 to 27.0.3 2018-03-25 00:08:20 +01:00
Fredrik Fornwall 0c469ce1df Update meson build system from 0.44.0 to 0.45.1 2018-03-22 23:15:12 +01:00
Fredrik Fornwall c316c30971 cmake: Update from 3.10.2 to 3.10.3 2018-03-18 20:59:53 +01:00
Henrik Grimler 4e1c3548d5 build-package.sh: if debug, rename package to "package-dbg"
Similar to how debian does it.
2018-03-05 11:29:53 +01:00
Fredrik Fornwall a15973a99d Use more local variables in build-package.sh 2018-02-21 00:06:41 +01:00
Wetitpig d35541a9f0 fix unbound variable issue 2018-02-20 23:56:55 +01:00
Wetitpig c96bdc1e68 Add more silent flags to configure 2018-02-20 00:57:08 +01:00
Wetitpig 72cfa27c8c Silent make too 2018-02-20 00:57:08 +01:00
Fredrik Fornwall 537fc9e3b4 golang: Update from 1.9.4 to 1.10 2018-02-18 22:29:21 +01:00
Fredrik Fornwall fe9325a6e6 Use -j $TERMUX_MAKE_PROCESSES when invoking ninja 2018-02-15 17:52:06 +01:00
Fredrik Fornwall 84ca1935bf golang: Update from 1.9.3 to 1.9.4 2018-02-08 21:48:28 +01:00
Fredrik Fornwall bbaf9a3093 golang: Update from 1.9.2 to 1.9.3 2018-01-23 22:35:15 +01:00
Fredrik Fornwall c2b0104802 Fix meson patch (fixes #2051) 2018-01-21 20:45:35 +01:00
Fredrik Fornwall c398dbd67b cmake: Update from 3.10.1 to 3.10.2 2018-01-20 23:55:00 +01:00
Fredrik Fornwall 43e8daa888 Update meson version from 0.43.0 to 0.44.0 2018-01-14 22:23:40 +01:00
Fredrik Fornwall 235a574d24 Revert "Make cmath patch part of the toolchain (#1149)"
This reverts commit 775ea81181bd15905613f1fd7124d0a1f95a5b69.
2018-01-14 22:17:12 +01:00
Fredrik Fornwall 05a0b20d98 Make cmath patch part of the toolchain (#1149) 2018-01-14 21:50:44 +01:00
Fredrik Fornwall 8d7f74f4e5 Build with gl_cv_func_mknod_works=yes 2017-12-29 00:43:54 +01:00
Henrik Grimler aede54ead5 Update golangs SHA256 2017-12-22 00:09:53 +01:00
Fredrik Fornwall 119307fb2c Use -Os instead of -Oz for 32-bit arm 2017-12-21 05:25:19 +01:00
Fredrik Fornwall 3f2d4609d7 cmake: Update from 3.9.6 to 3.10.1 2017-12-17 00:26:35 +01:00
Henrik Grimler f3fcbe40b2 espeak: fix floating point exception on arm (#1925)
* espeak: fix issue on arm (#1680)

* ruby: move exception rule, build-package.sh -> build.sh
2017-12-14 12:59:05 +01:00
Fredrik Fornwall 858ab81fc2 Make sure the latest ndk patches are used 2017-12-07 03:35:30 +01:00
Fredrik Fornwall d46d82a3fe Prevent trying to run on-device (fixes #1910) 2017-12-07 03:19:46 +01:00
Fredrik Fornwall f60f703d55 Drop ndk-patches/sysexits.h (see #1907) 2017-12-05 23:13:26 +01:00
Fredrik Fornwall 1d5a909d4e Fix outdated comment about libgnustl 2017-11-19 14:38:48 +01:00
Fredrik Fornwall 42f03ac881 Remove <spawn.h> completely
Fixes building fish.
2017-11-15 19:35:34 +01:00
Fredrik Fornwall 0c0af59332 Update NDK used to r16
Run scripts/update-docker.sh to update the docker image.
2017-11-15 16:48:35 +01:00
Fredrik Fornwall b8ceea5f26 cmake: Update from 3.9.5 to 3.9.6 2017-11-14 23:28:32 +01:00
Stephen 304d9e0df5 use tar strip-components to extract src
avoids having to manually determine package name, needed for #1743
2017-11-07 03:39:13 +01:00
Fredrik Fornwall acf993adf2 cmake: Update from 3.9.4 to 3.9.5 2017-11-07 02:26:49 +01:00
Fredrik Fornwall a4d5a47c30 termux-elf-cleaner: Update from 1.1 to 1.2 2017-11-04 22:25:27 +01:00
Fredrik Fornwall 41cc3653aa Enable dependency checks for out-of-tree packages
When building an out-of-tree package, as in
	./build-package.sh path/to/my-package.sh
dependency checks now works.
2017-11-04 01:18:32 +01:00
Fredrik Fornwall 49cca044a1 golang: Update from 1.9.1 to 1.9.2 2017-11-02 01:44:57 +01:00
Fredrik Fornwall 88b46b6432 Bump meson version used when building 2017-10-15 01:02:39 +02:00
Fredrik Fornwall 9c9d1191df golang: Update from 1.9 to 1.9.1 2017-10-14 22:33:22 +02:00
Stephen d3e6fc87d2 add quiet build option for ci builds (#1634)
* add quiet build options for ci builds

need to find ways to reduce length of log output

* Update build-package.sh

* make quiet builds recursive
2017-10-08 22:04:49 +02:00
Fredrik Fornwall 7a82033d1e cmake: Update from 3.9.3 to 3.9.4 2017-10-06 12:26:03 +02:00
Fredrik Fornwall e7f9373aa7 cmake: Update from 3.9.2 to 3.9.3 2017-09-21 22:52:21 +02:00
Fredrik Fornwall 7dd5d6d72d Handle more tar files in root folder detection
Fixes #1548.
2017-09-20 21:30:09 +02:00
Fredrik Fornwall 51c7760090 Drop need of setting TERMUX_PKG_FOLDERNAME
Instead figure out the top level source folder ourselves.
2017-09-20 00:48:04 +02:00
Fredrik Fornwall 63a0782a31 Update meson version used from 0.42.0 to 0.42.1 2017-09-17 23:37:59 +02:00
Joakim a73d9be690 ninja: add package 2017-09-17 23:30:15 +02:00
Fredrik Fornwall e4c196b040 ruby: Build with -O1 on 32-bit arm (see #1520) 2017-09-17 23:19:25 +02:00
Fredrik Fornwall c2e4ba89c4 ndk-patches: Fix pwd.h patch 2017-09-17 20:51:35 +02:00
Fredrik Fornwall b849828d5c ndk-patches: Use bin/login in getpwd() 2017-09-17 15:55:41 +02:00
Fredrik Fornwall 3ff9c41798 ruby: Build with -Os instead of -Oz (see #1520)
When building ruby with clang and -Oz it segmentation faults on
32-bit arm, so use -Os there instead.
2017-09-17 01:24:18 +02:00
Fredrik Fornwall fda1a7e7db cmake: Update from 3.9.1 to 3.9.2 2017-09-10 22:02:59 +02:00
Fredrik Fornwall 053aff9aa6 Use go 1.9 in build-package.sh 2017-08-26 23:11:59 +02:00
Fredrik Fornwall fc53670f9b Use -Oz instead of -Os for clang 2017-08-20 11:36:38 +02:00
Fredrik Fornwall f63f336943 Update meson version used from 0.41.2 to 0.42.0 2017-08-17 11:44:08 +02:00
Fredrik Fornwall eaa7b49107 Make libintl.h provide inline stubs
Previously libandroid-support contained inline stubs for libintl.h
functions (gettext(), dgettext() and friends).

We now provide inline versions of them in libintl.h directly so
libandroid-support is no longer necessary to get them.
2017-08-17 00:34:44 +02:00
Fredrik Fornwall 9c357bef30 Remove TERMUX_JACK and TERMUX_JILL 2017-08-11 14:21:05 +02:00
Fredrik Fornwall 64666c40b2 Update android platform setup
- Update to build tools 26.0.1.
- Update from android-25 to android-26.
- Add android-16 for use in https://github.com/termux/termux-packages/pull/1133
2017-08-11 14:09:32 +02:00
Fredrik Fornwall d80d4b6527 cmake: Update from 3.9.0 to 3.9.1 2017-08-11 13:52:16 +02:00
Fredrik Fornwall 6980dd1851 Add basic TERMUX_PKG_BUILD_DEPENDS support 2017-08-08 13:28:52 +02:00
Fredrik Fornwall 8aa86e32b4 Update from NDK version used from r15b to r15c
The docker image has been updated - run scripts/update-docker.sh
2017-08-07 22:53:43 +02:00
Henrik Grimler a606b60310 Add TERMUX_SUBPKG_REPLACES to make it possible to for subpackages to replace packages. 2017-08-03 23:59:53 +02:00
Grimler 27e8dd8a8f Add TERMUX_PKG_BREAKS
Breaks is is a bit kinder than Conflicts and should be used for example if a file is moved between packages or if a package is splitted into two.
See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-breaks
2017-08-03 23:59:53 +02:00
Grimler 546b7d6015 Add TERMUX_PKG_RECOMMENDS.
Makes it possible to specify recommended packages.
2017-08-03 23:59:53 +02:00
Fredrik Fornwall 843c983f8b Different meson cross files for different arches 2017-07-29 02:14:47 +02:00
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
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