Commit Graph

334 Commits

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