Commit Graph

423 Commits

Author SHA1 Message Date
Henrik Grimler
9162a0a24e termux_extract_dep_info: Fix bug when ARCH=all and REVISION != 0
Also make it less verbose when building with -q and add some TODO notes
2019-01-28 14:20:44 +00:00
Henrik Grimler
acf3b694a9 build-package: make the bootstrap installtion more intuitive 2019-01-28 14:20:44 +00:00
Henrik Grimler
9cc3ded8db build-package: add function to compare debs 2019-01-28 14:20:44 +00:00
Henrik Grimler
a8a394e189 Change TERMUX_BUILD_DEPS to TERMUX_INSTALL_DEPS again.
Fix syntax in if expressions.
2019-01-28 14:20:44 +00:00
Henrik Grimler
b970310662 Working deb_get_info and install_dep_deb functions 2019-01-28 14:20:44 +00:00
Henrik Grimler
3a5bec4098 build-package: add termux_extract_version function 2019-01-28 14:20:18 +00:00
Henrik Grimler
e8651a6af5 updates 2019-01-28 14:20:18 +00:00
Stephen
b3eb677f5b Update build-package.sh 2019-01-28 14:20:01 +00:00
Stephen
bac97d7848 cheap trick to fix + issue in package search 2019-01-28 14:20:00 +00:00
Henrik Grimler
2794fc71f2 build-package: with -i -q, ignore recommended packages and suggestions (#3) 2019-01-28 14:20:00 +00:00
Stephen Groat
9052a1b6fc Use apt for dependencies 2019-01-28 14:20:00 +00:00
Leonid Pliushch
48ff3130cb build-package.sh: use 'readlink' to get value of symlink 2019-01-27 23:29:40 +02:00
Fredrik Fornwall
1235109100 Compress man pages with gzip to save space 2019-01-27 21:57:01 +01:00
Henrik Grimler
6b6fb7e5d3 Merge branch 'master' into fast_build_rebased 2019-01-27 10:36:50 +01:00
Henrik Grimler
444db6aade build-package: make TERMUX_PKG_MAINTAINER overridable
Makes it possible to change default maintainer for another repo
2019-01-27 07:39:13 +01:00
Henrik Grimler
c7c0f97ae4 Use apt's trusted.gpg for pkg verification 2019-01-26 16:37:25 +00:00
Leonid Pliushch
599832c0f1 build-package.sh: use keyserver pool when receive keys
Now gpg key retrieving is more reliable.
2019-01-26 16:59:34 +02:00
Henrik Grimler
308990a29e build-package.sh: fix -a all -i builds
Also use `-s -i` for dependencies that have to be built
2019-01-25 22:09:57 +01:00
Henrik Grimler
c88cde9ad5 build-package.sh: improve -i description 2019-01-25 20:44:00 +01:00
Henrik Grimler
f3f479faf6 build-package.sh: fix bug in the case where package name contains (but not ends with) -dev
As for icu-devtools
2019-01-25 20:44:00 +01:00
Henrik Grimler
ede80c5d9d build-package.sh: Minor indentation fix 2019-01-25 20:44:00 +01:00
Henrik Grimler
1e8a698474 build-package.sh: fix termux_step_compare_debs
Catch error if termux_download_deb fails
2019-01-25 20:44:00 +01:00
Henrik Grimler
28b4013357 build-package.sh: fix download loop of dependencies when -i building
Only download $TERMUX_PKG_DEPENDS and $TERMUX_PKG_BUILD_DEPENDS (and
their -dev packages, if they exist), not their dependencies.
2019-01-25 20:44:00 +01:00
Henrik Grimler
16aae24b0b build-package.sh: add sha256sum's for bootstrap zips for all arches 2019-01-25 20:44:00 +01:00
Henrik Grimler
8f8c1fd79f build-package.sh: return 1 if hashsum doesn't exist for package
When downloading depencencies
2019-01-25 20:44:00 +01:00
Henrik Grimler
90d17da507 build-package.sh: fix termux_extract_dep_info 2019-01-25 20:44:00 +01:00
Henrik Grimler
13855a96a2 build-package.sh: mv download of InRelease and Packages to new function termux_step_get_repo_files 2019-01-25 20:44:00 +01:00
Henrik Grimler
968c96fce9 Rename get_pkg_hash.py->get_hash_from_file.py 2019-01-25 20:41:01 +01:00
Henrik Grimler
7349e1cec7 build-package: update so that termux_step_compare_debs dl's by hash
Changes needed after termux_download_deb function update
2019-01-25 20:41:01 +01:00
Henrik Grimler
4836ee0efe build-package: Add signature verification and download by hash
Also rename termux_install_dep_deb to termux_download_deb.
2019-01-25 20:41:01 +01:00
Henrik Grimler
0288289cee build-package: fix truncated comment 2019-01-25 20:41:01 +01:00
Henrik Grimler
9c7201213f build-package: Set default verbose level 2019-01-25 20:41:01 +01:00
Henrik Grimler
67e378f60d build-package: Fix so that debdiff's exit code doesn't stop build 2019-01-25 20:41:01 +01:00
Henrik Grimler
aec765bc8f build-package: fix forgotten p->pkg 2019-01-25 20:41:01 +01:00
Henrik Grimler
68a57c694d build-package.sh: make dep downloads less verbose for quiet builds
Add error messages when download fails though.
Try to download -dev packages but ignore errors here
2019-01-25 20:41:01 +01:00
Henrik Grimler
ed14c5a57e termux_extract_dep_info: Fix bug when ARCH=all and REVISION != 0
Also make it less verbose when building with -q and add some TODO notes
2019-01-25 20:41:01 +01:00
Henrik Grimler
ecf31331b8 build-package: make the bootstrap installtion more intuitive 2019-01-25 20:41:01 +01:00
Henrik Grimler
694f57d78c build-package: add function to compare debs 2019-01-25 20:41:01 +01:00
Henrik Grimler
3367fff67e Change TERMUX_BUILD_DEPS to TERMUX_INSTALL_DEPS again.
Fix syntax in if expressions.
2019-01-25 20:41:01 +01:00
Henrik Grimler
2ff975c353 Working deb_get_info and install_dep_deb functions 2019-01-25 20:41:01 +01:00
Henrik Grimler
8188191c0d build-package: add termux_extract_version function 2019-01-25 20:41:01 +01:00
Henrik Grimler
04dd0b145c updates 2019-01-25 20:41:01 +01:00
Stephen
66763880af Update build-package.sh 2019-01-25 20:41:01 +01:00
Stephen
553805e932 cheap trick to fix + issue in package search 2019-01-25 20:41:01 +01:00
Henrik Grimler
e9e9029461 build-package: with -i -q, ignore recommended packages and suggestions (#3) 2019-01-25 20:41:01 +01:00
Stephen Groat
db5db2c69f Use apt for dependencies 2019-01-25 20:41:01 +01:00
Fredrik Fornwall
873f60cbb5 iconv.h from libandroid-support to ndk-patches 2019-01-25 02:57:27 +01:00
Fredrik Fornwall
3ab4c8f8e0 Remove langinfo.h from libandroid-support
Instead provide langinfo.h with inline implemention of nl_langinfo()
as a system header.

This avoids linking in libandroid-support.so in some places, and
improves compatibility when building code on-device.
2019-01-25 01:58:51 +01:00
Fredrik Fornwall
36879411ed golang: Update from 1.11.4 to 1.11.5 2019-01-25 00:43:25 +01:00
Tom Yan
0db05befbc libandroid-support: place headers directly under include 2019-01-23 01:40:08 +01:00
Leonid Pliushch
585b5e8070 build-package.sh: package description field should be always placed to the end of control file 2019-01-23 00:30:11 +01:00
Leonid Pliushch
588bb485ae build-package.sh: use gzip compression for metadata 2019-01-23 00:30:11 +01:00
Fredrik Fornwall
0eb6abc288 cmake: Update from 3.13.2 to 3.13.3 2019-01-16 23:11:24 +01:00
Fredrik Fornwall
25f0145357 Patch TCSAFLUSH to be TCSANOW 2019-01-16 21:57:15 +01:00
Fredrik Fornwall
ece2f622e8 Improve meson build setup 2018-12-31 02:43:27 +01:00
Fredrik Fornwall
11a4e2950b golang: Update from 1.11.2 to 1.11.4 2018-12-19 01:23:17 +01:00
Fredrik Fornwall
6e36707d3f cmake: Update from 3.13.1 to 3.13.2 2018-12-19 01:20:00 +01:00
Fredrik Fornwall
381befd1f1 cmake: Update from 3.12.4 to 3.13.1 2018-11-30 01:12:52 +01:00
Fredrik Fornwall
dc4db83188 cmake: Update from 3.12.3 to 3.12.4 2018-11-05 23:00:20 +01:00
Fredrik Fornwall
cd7831c287 golang: Update from 1.11.1 to 1.11.2 2018-11-05 21:38:26 +01:00
Fredrik Fornwall
20e98f043c Use TERMUX_PKG_EXTRA_CONFIGURE_ARGS for rust 2018-10-18 06:12:27 +02:00
Fredrik Fornwall
5dff9a8f6e cmake: Update fro 3.12.2 to 3.12.3 2018-10-07 19:19:40 +02:00
Fredrik Fornwall
0019a2d1a7 golang: Update from 1.11 to 1.11.1 2018-10-02 21:21:37 +02:00
Fredrik Fornwall
71869f8e44 build-package.sh: Update meson from 0.47.0 to 0.48.0 2018-09-26 07:16:50 +02:00
Fredrik Fornwall
1cb7b759cb Use ac_cv_c_bigendian=no for all packages
Tesseract also needs it now, but enough is enough, so just add it to all
autoconf-using packages by default.
2018-09-22 01:05:16 +02:00
Fredrik Fornwall
2811236000 Switch back to -Os instead of -Oz for arm
Seems that there are still issues (segfault on ruby at least).
2018-09-20 02:43:14 +02:00
Fredrik Fornwall
eb99c23cf1 Try using -Oz on 32-bit arm as well after ndk r18 2018-09-19 23:32:30 +02:00
Fredrik Fornwall
02c0668a9b Update to NDK r18 (#2827) 2018-09-19 23:29:39 +02:00
Henrik Grimler
6d8e9a7939 arm: don't build with -fno-integrated-as
Fixes ruby segfault (without the need for -O1).
2018-09-19 23:21:56 +02:00
Henrik Grimler
80b8055538 build-{package,all}.sh: fix -d and add -o to build-all
-d didn't work for build-package.sh -d -a all before.
2018-09-15 21:20:28 +02:00
Henrik Grimler
3fd0e03e43 build-package.sh: fix typo 2018-09-15 21:20:28 +02:00
Henrik Grimler
2e114a4b8d build-package.sh: add option to move debs to another folder 2018-09-15 21:20:28 +02:00
Fredrik Fornwall
b67725b59a build-package: Use cargo install for rust packages
Starting with rust 0.29.0 the cargo install command can be used with
--target.

Also, install shell completion scripts for ripgrep.
2018-09-14 20:40:34 +02:00
Fredrik Fornwall
fd72a74c42 openssl: Update from 1.0.2 to 1.1.1 (#2775) 2018-09-11 22:43:19 +02:00
Fredrik Fornwall
7db265c137 cmake: Update from 3.12.1 to 3.12.2 2018-09-09 23:02:30 +02:00
Fredrik Fornwall
c98c91496d Pass -DDOXYGEN_EXECUTABLE to cmake for all builds
This avoids cmake picking up a cross-compiled doxygen binary.
2018-09-06 06:36:42 +02:00
Fredrik Fornwall
474a295669 fd: Add package (hello second rust package!)
Also extract out rust setup from ripgrep.
2018-09-03 23:57:26 +02:00
Fredrik Fornwall
a0bd8400c1 Fix mistake in shellcheck cleanup 2018-08-27 22:36:11 +02:00
Fredrik Fornwall
e5ab968a6a Fix some shellcheck issues 2018-08-27 22:27:42 +02:00
Henrik Grimler
7bac02cef6 build-package.sh: set --libdir=$PREFIX/lib
x86_64 builds defaults to $PREFIX/lib64 otherwise on some systems.
2018-08-27 12:21:21 +02:00
Fredrik Fornwall
0d58bc4384 golang: Update from 1.10.3 to 1.11 2018-08-25 23:22:24 +02:00
Fredrik Fornwall
542a7defa1 Use ninja as cmake generator by default 2018-08-23 17:52:26 +02:00
Davide Depau
a18e34ccfd Make $TERMUX_DEBDIR configurable
Allows building debs outside of the Termux source directory
2018-08-23 17:36:50 +02:00
Tom Yan
60e337e7fb build-package.sh: use $TERMUX_PKG_API_LEVEL for -DCMAKE_SYSYEM_VERSION 2018-08-22 08:34:44 +02:00
Fredrik Fornwall
f1e9f33727 Run termux_setup_ninja if TERMUX_CMAKE_BUILD=Ninja
Also drop TERMUX_PKG_EXTRA_NINJA_ARGS for now, it can be added back if
desired.
2018-08-21 01:00:59 +02:00
Joakim
5a5cf2b11d cmake: Allow choosing Ninja to build packages 2018-08-21 00:49:42 +02:00
Fredrik Fornwall
33e80f9944 Make checksums for downloads mandatory
Use SKIP_CHECKSUM if you really want to avoid checksums.
2018-08-21 00:35:50 +02:00
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