Commit Graph

513 Commits

Author SHA1 Message Date
Leonid Pliushch 00c96411be
build-package.sh: switch from {unstable,x11}.termux-mirror.ml to IPFS links 2021-02-10 15:03:57 +02:00
Leonid Pliushch aadee78eed
scripts: prepare for Bintray deprecation
Use termux.org as main repo host.

grimler.se / *.termux-mirror.ml for others.
2021-02-08 12:56:54 +02:00
Leonid Pliushch 2d5fdf9b32
golang: update to 1.15.8 2021-02-05 20:48:13 +00:00
Leonid Pliushch b169e3515e
cmake: update to 3.19.4 2021-02-03 23:09:42 +00:00
Henrik Grimler 9887e8cbfd Set __USE_FORTIFY_LEVEL for debug builds 2021-02-03 16:57:21 +01:00
Henrik Grimler 12163bb879 termux_step_start_build: convert spaces to tabs 2021-02-03 16:57:04 +01:00
Leonid Pliushch 8141194887
build-package.sh: fix unbound variable $TERMUX_RUST_VERSION 2021-01-10 14:33:00 +02:00
Wetitpig 5a181e1477
new package: openethereum (#6240) 2021-01-10 13:16:43 +02:00
Leonid Pliushch 65835af908
cmake: update to 3.19.2 2021-01-07 14:07:55 +02:00
Frederico F. de Oliveira c02bed1baf Add sbindir flag to configure script in termux_step_configure_autotools.sh
Some packages installs binaries to sbin folder. Since termux doesn't use sbin, just map it to bin folder. This eliminates the need of using this flag with TERMUX_PKG_EXTRA_CONFIGURE_ARGS in the build.sh script.
2021-01-05 03:37:54 +02:00
Leonid Pliushch 4994a2a322
build-package.sh: remove -static-openmp from CGO_LDFLAGS 2020-12-29 00:42:49 +02:00
Leonid Pliushch 37375312b9
explicitly set maintainer for each package
In issue https://github.com/termux/termux-packages/issues/6160 I have found
that community repo "its-pointless.github.io" specifies us as maintainer
for its packages. This is NOT TRUE and potentially misleads people using
these packages.

Now TERMUX_PKG_MAINTAINER will contain a default value which is neutral
and not specify maintainer. So all packages now have to override it to
the correct value.

[skip ci]
%ci:no-build
2020-12-20 15:16:34 +02:00
Tom Yan faf9dd7ca1 sox: build with omp again 2020-12-14 22:12:04 +02:00
Leonid Pliushch 97b0f68ad8
build-package.sh: use meson 0.56.0 2020-12-08 11:02:07 +00:00
Leonid Pliushch 84c46a917a
libprotobuf: update to 3.14.0 2020-12-07 23:01:02 +00:00
Leonid Pliushch beb0068126
ninja: update to 1.10.2 2020-12-07 22:32:01 +00:00
Leonid Pliushch 40f14b24f8
golang: update to 1.15.6 2020-12-07 20:55:56 +00:00
Leonid Pliushch 222c889551
cmake: update to 3.19.1 2020-12-07 20:26:29 +00:00
Leonid Pliushch 36a846c725 build-package.sh: do not set -Wl,-z,relro,-z,now ldflags for Golang CGO
Causes this error when building Golang projects:

 invalid flag in go:cgo_ldflag: -Wl,-z,relro,-z,now
2020-11-22 13:52:28 +00:00
Leonid Pliushch 1cff00f7cb golang: update to 1.15.5 2020-11-22 13:01:28 +00:00
Leonid Pliushch ce27940ea1 cmake: update to 3.19.0 2020-11-22 13:01:28 +00:00
Leonid Pliushch a8892f890a termux_step_patch_package.sh: handle new variables 2020-10-30 22:28:44 +02:00
Leonid Pliushch a668f31128 termux_step_patch_package.sh: handle @TERMUX_APP_PACKAGE@ 2020-10-30 22:01:57 +02:00
Leonid Pliushch a4263115fc termux_step_setup_variables.sh: no need to override home/prefix for on-device builds 2020-10-30 21:48:26 +02:00
Leonid Pliushch 7f8ee49bfc termux_step_setup_variables.sh: no need to attempt to set default prefix/home, they are set by properties.sh now 2020-10-30 21:46:29 +02:00
Leonid Pliushch 195314fe20 setup-offline-bundle.sh: add support for downloading package sources 2020-10-23 00:27:56 +03:00
Leonid Pliushch be0b9e9331 build-package.sh: support offline preinstalled build tools
First step of making possibility to have offline snapshots of
'termux-packages' repo. Useful for making full repo snapshots.

That will allow to preinstall tools like Cmake, Go, Meson to
directory stored within packages tree and will not be wiped when
using ./clean.sh.

Next steps will also implement offlining of the package sources
and NDK standalone toolchain.
2020-10-22 22:46:02 +03:00
Henrik Grimler e6d61103b0 golang: update to 1.15.3 2020-10-17 21:19:10 +02:00
Henrik Grimler 9c895bd45f cmake: update to 3.18.4 2020-10-17 21:02:48 +02:00
Leonid Pliushch c80220e31d build-package.sh: make it possible to disable termux-elf-cleaner
Just set TERMUX_PKG_NO_ELF_CLEANER=true in build.sh.
2020-10-01 19:34:19 +03:00
Butta 3fe4a2ab6a nushell: update from 0.18.1 to 0.20.0, disable x86_64 because of linking issues,
and unset CFLAGS for all crates, as it was getting applied to host builds
2020-09-29 23:45:14 +05:30
Leonid Pliushch dc1025ea5b cmake: update to 3.18.3 2020-09-23 23:56:31 +03:00
Krishna Kanhaiya c3eb5a8313 golang: update to 1.15.2 (#5794) 2020-09-11 03:50:33 +03:00
Nuruddin Ashr 41a5d5efd6 Upgrade to go version 1.15.1 2020-09-02 12:32:12 +05:30
Leonid Pliushch 5ddf251200 build-package.sh: retry if downloading of Release{,.gpg} failed when fast-build mode is on
Release or Release.gpg files may be absent if a new .deb file was uploaded
to apt repository recently. We may need to do a multiple attempts in a loop
to retry downloading of these files.

Needed after 99e9ab67b634a89d0be9eca12c4f1cdc091ee6e8, where I have disabled
looping in termux_download but curl doesn't do retries on 404 error. We
want immediate failure only for 404's on source and build tool URLs.
2020-08-21 15:46:41 +03:00
Leonid Pliushch 09edfe3c10 termux_setup_protobuf: update checksum 2020-08-21 14:07:54 +03:00
Leonid Pliushch f49c6c1d53 Revert "build-package: fast builds (-i/-I): retry if release file download fails"
Have some issues with downloads, disable this currently.

This reverts commit f477861a7e9204250c89c9086078d3d9899d2844.
2020-08-13 18:17:03 +03:00
Leonid Pliushch 6100e0caf4 build-package: fast builds (-i/-I): retry if release file download fails
As termux_download.sh retries only on transient errors now, we need a
loop when downloading Release{,.gpg} as they may be temporarily unavailable
when metadata is being rebuilt in repository.
2020-08-13 13:50:47 +00:00
Fredrik Fornwall 4c36fc447d libprotobuf: Update from 3.12.2 to 3.12.4 2020-08-12 12:07:38 +02:00
Butta 43c6c153f9 golang: update from 1.14.7 to 1.15 2020-08-12 10:39:23 +05:30
Fredrik Fornwall 86f2467e87 meson: Update from 0.52.1 to 0.55.0 2020-08-09 01:28:14 +02:00
Fredrik Fornwall 12cb160fda cmake: Update from 3.18.0 to 3.18.1 2020-08-09 00:52:31 +02:00
Nuruddin Ashr 23c155d70a Upgrade to go version 1.14.7 2020-08-08 14:21:10 +07:00
Henrik Grimler 188ab26025 licenses: install all licenses even if basenames are the same
For for example libandroid-support we now have
TERMUX_PKG_SRCDIR/License.txt
and
TERMUX_PKG_SRCDIR/wcwidth-$version/License.txt.
Previously the latter would have overwritten the first one in the
install step as the file names are the same.
2020-08-07 12:03:58 +02:00
Leonid Pliushch 425594ca56 build-package.sh: double the amount of curl download retries 2020-07-28 00:20:33 +03:00
Leonid Pliushch 8ecb74b324 termux_download.sh: simplify curl download error handling
Use curl built-in download retry mechanizm instead implementing
such in shell loop.
2020-07-24 15:16:10 +03:00
Leonid Pliushch 22ae9c583e build-package.sh: fix TERMUX_PKG_SRCURL unbound variable
When no source URL defined, the following error occurs:

 /home/builder/termux-packages/scripts/build/get_source/termux_step_get_source.sh: line 2: TERMUX_PKG_SRCURL: unbound variable
2020-07-22 20:08:46 +03:00
Henrik Grimler bafdf9d9c0 Rename termux_extract_src_archive to termux_unpack_src_archive
%ci:no-build
2020-07-21 20:09:38 +02:00
Henrik Grimler f6792915d1 termux_extract_src_archive: create srcdir before extracting tar 2020-07-21 14:12:51 +02:00
Henrik Grimler 4d3a2243a4 termux_step_get_source: do not always create $TERMUX_PKG_SRCDIR
%ci:no-build
2020-07-21 10:42:38 +02:00
Henrik Grimler 8cff1c6d4f termux_step_setup_variables: spaces->tab 2020-07-21 10:27:54 +02:00
Henrik Grimler 4e902a41a5 building packages: create termux_step_get_source function
Calls termux_git_clone_src if TERMUX_PKG_SRCURL ends with .git, and
termux_download_src_archive and termux_extract_src_archive otherwise.
termux_step_extract_package has been split up into the latter two
functions.

termux_step_post_extract_package has been renamed to
termux_step_post_get_source to reflect these changes.
2020-07-21 10:14:00 +02:00
Henrik Grimler 503eaf1375 termux_setup_golang: update url to archive with prebuilt binaries 2020-07-20 20:40:09 +02:00
Nuruddin Ashr 3ba79550b1 Upgrade to golang version 1.14.6 2020-07-17 13:07:25 +03:00
Nuruddin Ashr ebc92a9485 Upgrade to go version 1.14.5 2020-07-15 10:08:58 +03:00
its-pointless 0c88882ca7 remove no-addr 2020-07-09 13:51:35 +02:00
Henrik Grimler dcb926abd4 Copy LICENSE file for some licenses instead of using generic one (#5478)
* termux-licenses: remove licenses that contain copyright information

These licenses cannot be taken from the common termux-licenses package as the copyright information needs to be distributed with the package as well.

271 packages in the main repository needs to be rebuilt after this change.

* termux_step_install_license: remove duplicated comment

* Bump packages that has a license with copyright information

We need to include this copyright information in the package so need
to rebuild them now that termux_step_install_license has been
modified.

The affected licenses are: MIT, ISC, PythonPL, Openfont-1.1, ZLIB,
Libpng, BSD, BSD 2-Clause, BSD 3-Clause.

* zlib: extract license file from zlib.h

* xorgproto: include all individual license files in package

* libgcrypt: include LICENSE file in package

It contains some copyright information so needs to be included in package

* libcrypt: add a dummy BSD 2-Clause license

According to homepage it is suppose to be BSD 2-Clause, but original
project did not include a license file

* libandroid-spawn: add LICENSE file to package

* libandroid-glob: add license file to package

* licenses: allow for comma separated TERMUX_PKG_LICENSE_FILE

%ci:no-build

* libicu: fix so that termux_step_install_license finds license file

%ci:no-build

* termux_step_install_license: check for license file as "License"

%ci:no-build

* libtiff: specify TERMUX_PKG_LICENSE_FILE

%ci:no-build

* asciidoctor: install license to standard location

* krb5: specify license file

* libdb: specify path to license file

%ci:no-build

* libprotobuf: specify path to license file

* darkhttpd: extract license file from darkhttpd.c

* w3m: ensure host libraries are not picked up

* w3m: extract LICENSE file from dock/README

* liblua{,52}: extract license files from doc/readme.html

* termux_step_install_license: look for License.txt as well

* dart: specify path to LICENSE file

* nim: specify license file

* runit: specify license file

* termux_step_install_license: look for LICENSE.TXT as well

* ossp-uuid: extract LICENSE from README

* pigz: extract LICENSE from pigz.c

* ttyrec: extract LICENSE from ttyrec.c

%ci:no-build

* bmon: specify license files

Most of the source files are licensed under MIT, it is not clear (to me) which
parts that are licensed under BSD 2-Clause.

%ci:no-build

* wordgrinder: specify license files

* fdupes: add LICENSE

* autossh: add LICENSE patch

* cmake: specify LICENSE file

* dos2unix: specify LICENSE file

* gnuplot: specify LICENSE file

* termux_step_install_license: look for variants of "copyright" also

* picolisp: specify LICENSE file

* lua-lpeg: extract license file

* tidy: specify license file

* gflags: specify LICENSE file

* timewarrior: fix src url

It seems to have been changed.

* postgresql: specify license file

* ttyrec: fix license patch header

* fossil: specify license file

* fmt: specify license file

* i2pd: specify license file

* leptonica: specify license file

* imgflo: add license file patch

* ired: add license file from ired github repo

* libzen: specify license file

* libmediainfo: specify license file

* mediainfo: specify license file

* tty-clock: add license patch

* samefile: add license patch

* quickjs: add license patch

* docbook-xml: add LICENSE patch

* docbook-xsl: specify LICENSE files

* gnuplot: configure with --without-latex

* timewarrior: add libshared to SRCURL as well

The non-release archives does not contain gitsubmodules so we need to
download it manually.

* restic: switch back to using 0.9.6 archive

* dart: revert revision bump

dart's SDK does not fully support python3 yet, and trying to solve
that is not entirely trivial. We save the dart bump (and upgrade to
2.8.4) for another day.

%ci:no-build
2020-07-07 18:45:45 +02:00
Leonid Pliushch 44403ceab3 build-package.sh: remove the info directory file from packages
Causes file conflicts like https://github.com/termux/termux-packages/issues/5487 and
generally shouldn't be needed for proper `info` functionality.
2020-07-07 19:22:00 +03:00
Leonid Pliushch 19df87391a Revert "build-package.sh: fast builds (-i/-I): disable X11 repository temporarily"
This reverts commit 03c1693f0994b6be6fe29e5832ce27270fa1c329.
2020-06-23 15:25:11 +03:00
Leonid Pliushch 6d40bba10d build-package.sh: fast builds (-i/-I): disable X11 repository temporarily 2020-06-22 20:02:07 +03:00
Leonid Pliushch 2f58b9f435 build-package.sh: add function for setting up GHC 2020-06-20 22:44:13 +03:00
Leonid Pliushch a6910acef5 downgrade protobuf to 3.12.2 as 3.12.3 causes problems with mosh (and other?) 2020-06-08 14:44:57 +03:00
Leonid Pliushch 823f5f858c fix checksum for host protoc zip & rebuild mosh 2020-06-08 13:22:10 +03:00
Nuruddin Ashr b1dda1c1c2 Upgrade to Golang version 1.14.4 2020-06-03 15:08:11 +03:00
Fredrik Fornwall fc4dee40a5 Fix protobuf checksum 2020-06-02 08:48:19 +02:00
Fredrik Fornwall b539cae209 cmake: Update from 3.17.2 to 3.17.3 2020-06-01 23:44:10 +02:00
Luke Childs bb5be7788d Log applied patches during build 2020-05-21 20:11:32 +03:00
Nuruddin Ashr 077bf9ccc8 Upgrade golang to version 1.14.3 2020-05-15 13:26:58 +03:00
Leonid Pliushch 9c9e7f65b8 update maintainer info
Specifying Termux org members is more correct as we don't have repo-specific
maintainers for termux-packages.

DEB control field specification doesn't allow to specify multiple people as
package maintainers. Value "Termux members @termux" will be used as default
for that field which can be overridden on per-package basis if needed.

%ci:no-build
2020-05-13 11:05:52 +03:00
Leonid Pliushch 5887bad0da build-package.sh: do normal releases for cmake instead of min-size 2020-05-08 00:26:19 +03:00
Fredrik Fornwall 540dd0689b Fix indentation in termux_step_setup_toolchain 2020-05-05 19:29:04 +02:00
Butta c04ad2e397 termux_setup_rust.sh: add CPPFLAGS, ie TERMUX_PREFIX/include, to the Rust TARGET_CFLAGS 2020-05-02 15:57:04 +03:00
Fredrik Fornwall 8f9a924cec cmake: Update from 3.17.1 to 3.17.2 2020-04-29 01:06:32 +02:00
buttaface fc1c4c4bd5 swift: update from 5.2.1 to 5.2.2 and fix static compilation (#5169)
* TERMUX_PKG_QUICK_REBUILD: don't delete the host build if doing a quick rebuild
* swift: update from 5.2.1 to 5.2.2 and fix static compilation
2020-04-26 12:52:25 +03:00
Leonid Pliushch fb16d92527 Revert "build-package.sh: download dependency packages from mirror instead of Bintray"
This reverts commit f679a18402681a15c60f8f9b8b9c82843a041917.
2020-04-25 02:28:35 +03:00
Nuruddin Ashr 3738891830 Upgrade golang version to 1.14.2 (#5143) 2020-04-11 12:28:48 +03:00
Butta f87609d9f3 termux_step_setup_toolchain.sh: split off setup of standalone toolchain into separate function 2020-04-10 13:03:38 +03:00
Butta fb6c106c22 termux_step_start_build: define TERMUX_STANDALONE_TOOLCHAIN before sourcing the package's build script, so the host build can use it if wanted 2020-04-09 13:09:38 +03:00
buttaface faf325b6d0 TERMUX_PKG_QUICK_REBUILD: disable reapplying the host build patches too (#5110) 2020-04-02 21:32:31 +02:00
Leonid Pliushch d523f61477 build-package.sh: verify release files with gpg when doing autobuilds (#5062) 2020-03-21 16:30:02 +02:00
Leonid Pliushch 9954394e75 build-package.sh: download dependency packages from mirror instead of Bintray
Avoid redundant traffic for Bintray repos when doing fast builds (-i/-I).
2020-03-21 15:47:48 +02:00
Henrik Grimler 6528540bbc termux-services: add down and log/down to CONFFILES
Otherwise they are always added again when a package with a service
script is updated.
2020-03-20 20:44:51 +01:00
Leonid Pliushch 6d996feac4 golang: update to 1.14.1 2020-03-20 13:17:48 +02:00
Leonid Pliushch 9db15acfce build-package.sh: delete .crates2.json in make_install step 2020-03-15 23:42:21 +02:00
Leonid Pliushch c7a91883cd build-package.sh: remove files .crates2.json from packages
.crates2.json is generated by cargo during the crate installation.

See https://github.com/termux/termux-packages/issues/5037.
2020-03-15 23:38:44 +02:00
Leonid Pliushch 02a2c53d11 golang: update to 1.14 2020-03-08 19:35:46 +02:00
Leonid Pliushch 7c7a3ca6d9 cmake: update to 3.16.5 2020-03-08 19:24:01 +02:00
Henrik Grimler dbeeaef9c9 build-package: add new function termux_step_create_subpkg_debscripts (#4963)
Makes it possible to create postinst scripts and similar or subpackages as well
2020-02-23 21:30:44 +01:00
Leonid Pliushch d8fde31951 libprotobuf: update to 3.11.4 2020-02-17 15:44:59 +02:00
Leonid Pliushch fec6bdc7b9 Merge pull request #4911 from buttaface/quick-rebuild
Introduce TERMUX_PKG_QUICK_REBUILD
2020-02-17 13:43:40 +02:00
Fredrik Fornwall 1cef84f37a golang: Update from 1.13.7 to 1.13.8 2020-02-15 22:40:57 +01:00
Butta 3af25bc2a9 Introduce TERMUX_PKG_QUICK_REBUILD
This new variable is extremely useful when iterating on creating a large package,
as otherwise you have to wipe the source and rebuild each time you make a mistake
with the patches or build.sh script.

Simply set TERMUX_PKG_QUICK_REBUILD=true in build.sh if a build fails and then the
TERMUX_PKG_SRCDIR and TERMUX_PKG_BUILDDIR will not be touched when you rebuild,
including that the patches will not be applied again. When you're done iterating,
diff for any new patches, save them, and remove this variable before rebuilding
from scratch, hopefully for the last time. ;)

An example is shown for the giant libllvm package, where other modifications are
also excluded if this variable is set.
2020-02-15 13:38:30 +05:30
Adrian Schröter 79a2c8693e enforce gnu format for deb tar archives
PAX aka POSIX is not supported in termux deb
2020-02-11 15:17:40 +01:00
Leonid Pliushch 8d983bb009 cmake: update to 3.16.4 2020-02-10 13:23:01 +02:00
Butta 68a4e3e163 termux_step_extract_into_massagedir.sh: don't add tmp/ files to packages, particularly on-device 2020-02-07 00:22:50 +05:30
Leonid Pliushch 349118ad61 libprotobuf: update to 3.11.3 2020-02-04 17:30:46 +02:00
Butta b997c4eafa termux_step_setup_toolchain.sh: don't add duplicate rpath for on-device builds
Unlike the NDK clang, the on-device clang has already been patched to add an rpath
to the Termux-prefixed library path, so only have the build script add the rpath
flag for NDK builds.
2020-02-02 01:21:18 +05:30
Leonid Pliushch c9aec4cbe7 ninja: update to 1.10.0 2020-01-30 22:03:41 +02:00
Leonid Pliushch 4590b61015 golang: update to 1.13.7 2020-01-30 21:06:21 +02:00
Leonid Pliushch 7f6895dfd6 cmake: update to 3.16.3 2020-01-30 20:50:17 +02:00
Leonid Pliushch 3d595a41f0 CI: remove Cirrus configuration 2020-01-22 21:51:12 +02:00
Fredrik Fornwall 683301b678 golang: Update from 1.13.5 to 1.13.6 2020-01-09 23:48:39 +01:00
Henrik Grimler 54baabcffe termux_step_install_service_scripts: log services should be enabled 2020-01-08 19:58:42 +01:00
Henrik Grimler 1716ee981b termux_step_install_service_scripts: allow <service>/log to be overwritten
Transmission needs a custom log/run script, this allows us to define
it in $TERMUX_PKG_SERVICE_SCRIPT.
2020-01-05 15:56:26 +01:00
Henrik Grimler ab2a3b70f0 build-package.sh: add TERMUX_PKG_SERVICE_SCRIPT var and build script
termux_step_install_service_scripts is run after
termux_step_post_make_install and loops over the new array
TERMUX_PKG_SERVICE_SCRIPT to add service scripts for termux-services.

The service scripts are usually only a one-liner so we might just as
well define it in a variable like TERMUX_PKG_SERVICE_SCRIPT.

TERMUX_PKG_SERVICE_SCRIPT should be an array on the format
("daemon-name" 'script to execute' "another daemon" 'multi\n line\n script'),
i.e. it should be of even length with name + script where the script
part preferably is within single quotes (to avoid accidental expansion
of for example $HOME).
2020-01-05 15:00:15 +01:00
Leonid Pliushch 729a737a49 build-package.sh: move golang variable configuration to termux_step_setup_toolchain.sh
Allow to use termux_setup_golang.sh for host builds.
2020-01-03 23:39:54 +02:00
Fredrik Fornwall b34c8fb32b Force toolchain update after ifaddrs.h and syslog.h changes 2019-12-29 23:53:09 +01:00
Leonid Pliushch 978358cfa3 Merge pull request #4639 from buttaface/headers
ndk-patches: use upstream ifaddrs.h and remove old syslog.h polyfills
2019-12-29 20:35:46 +02:00
Leonid Pliushch c6abaa5b79 libprotobuf: update to 3.11.2 2019-12-21 20:49:55 +02:00
Leonid Pliushch c8937aeade cmake: update to 3.16.2 2019-12-21 18:10:44 +02:00
Leonid Pliushch 75af2da554 reformat scripts/build/termux_step_setup_toolchain.sh 2019-12-13 23:57:01 +02:00
Leonid Pliushch ce0707260d build-package.sh: fix copy-paste typo
clang & clang++ wrappers were copied to same file
2019-12-13 23:49:41 +02:00
Fredrik Fornwall 9f89ac3b20 cmake: Update from 3.15.5 to 3.16.1 2019-12-12 00:42:43 +01:00
Butta 60e9d47df0 ndk-patches: use upstream ifaddrs.h and remove old syslog.h polyfills 2019-12-08 19:57:10 +05:30
Fredrik Fornwall f317c7cf7d protobuf: Update from 3.9.1 to 3.11.1 2019-12-05 23:58:28 +01:00
Fredrik Fornwall 0533835564 golang: Update from 1.13.4 to 1.13.5 2019-12-05 23:29:18 +01:00
Fredrik Fornwall 64c43ced87 meson build system: Update from 0.52.0 to 0.52.1 2019-12-01 17:59:39 +01:00
Fredrik Fornwall 1237a43b9c meson build system: Update from 0.50.1 to 0.52.0 2019-11-24 20:26:06 +01:00
Fredrik Fornwall b40b0bc2aa golang: Update from 1.13.3 to 1.13.4 2019-11-21 00:01:01 +01:00
Leonid Pliushch ddf7066863 build-package.sh: fix url for unstable & x11 packages 2019-11-17 14:56:25 +02:00
Fredrik Fornwall b998132903 cmake: Update from 3.15.3 to 3.15.5 2019-11-03 23:01:21 +01:00
its-pointless a60fb05042 lldb fixes (#4468) 2019-10-28 12:47:55 +02:00
its-pointless b6980935d4 experiment generating llvm-config 2019-10-26 16:46:24 +11:00
Leonid Pliushch b26b2b19e6 CI: remove rust from excluded packages 2019-10-25 14:26:32 +03:00
Leonid Pliushch 410b0e1223 build-package.sh: cargo should use $TERMUX_MAKE_PROCESSES for max amount of build jobs 2019-10-24 19:37:22 +03:00
Leonid Pliushch 4cbeb565e2 golang: update to 1.13.3 2019-10-18 15:11:11 +03:00
Fredrik Fornwall 0e0d92a66c golang: Update from 1.13 to 1.13.1 2019-09-29 03:04:25 +02:00
Fredrik Fornwall 937b78d0c4 Define __TERMUX__ and __TERMUX_PREFIX__
By defining __TERMUX__ and __TERMUX_PREFIX__ in <sys/cdefs.h> (which is
basically always included) one can more easily target Termux
specifically, both when cross-compiling packages and when code is built
on-device.
2019-09-19 21:34:04 +02:00
Leonid Pliushch 30301b55a6 build-package.sh: fix checksum in termux_setup_protobuf.sh 2019-09-18 17:23:59 +03:00
Leonid Pliushch 243806a00c CI: exclude "lldb" from autobuilds 2019-09-13 12:38:56 +03:00
Fredrik Fornwall 34ef726b09 cmake: Update from 3.15.2 to 3.15.3 2019-09-10 22:51:44 +02:00
Leonid Pliushch 1ce33aba30 CI: switch to file-based cache for passing *.deb files between tasks 2019-09-10 16:09:32 +03:00
Fredrik Fornwall 0a3d65e292 golang: Update from 1.12.8 to 1.13 2019-09-03 21:41:24 +02:00
Fredrik Fornwall 5eaa982ba2 cmake: Update from 3.14.5 to 3.15.2 2019-08-21 13:04:43 +02:00
Leonid Pliushch 7dd8d80884 fix for termux_create_subpackages.sh 2019-08-20 14:53:54 +03:00
Leonid Pliushch 43afcb4b55 golang: allow on-device builds
But it will fail currently anyway to non-pie executables generated in
bootstrap process.
2019-08-19 02:38:29 +03:00
Fredrik Fornwall c3e0bf0149 caddy: Update from 1.0.1 to 1.0.3 2019-08-16 00:04:43 +02:00
Leonid Pliushch 1a33848a02 termux-elf-cleaner: update to v1.7 2019-08-15 21:48:07 +03:00
Leonid Pliushch 4e33536d72 build-package.sh: fix detection of static libraries when creating subpackages
Now packages will be split if static libraries are located in subdirectory
of $PREFIX/lib.
2019-08-15 00:03:58 +03:00
Leonid Pliushch 5493481c5c build-package.sh: better support for metapackages 2019-08-14 20:29:58 +03:00
Leonid Pliushch e803bdd3ef CI: trim spaces from modified packages list 2019-08-14 19:59:21 +03:00
Leonid Pliushch cc34b645d8 build-package.sh: fix problem when built packages are not being checked 2019-08-13 22:05:52 +03:00
Leonid Pliushch c14b5e7334 build-package.sh: more fixes for variable checking 2019-08-13 18:44:10 +03:00
Leonid Pliushch 0dba6f512d build-package.sh: set ac_cv_func_posix_spawnp=no for all autotools builds
Reason same as for posix_spawn.
2019-08-13 15:10:07 +03:00
Leonid Pliushch 088d10cd77 build-package.sh: set ac_cv_func_posix_spawn=no for all autotools builds
posix_spawn is not available on Android devices.

While this commit is not necessary for cross-compiling, it is required
when building on-device since there posix_spawn is found somehow. This
produces following errors:

 ./spawn.h:514:17: error: use of undeclared identifier 'POSIX_SPAWN_RESETIDS'
             [(((POSIX_SPAWN_RESETIDS | POSIX_SPAWN_SETPGROUP
2019-08-13 15:02:14 +03:00
Leonid Pliushch ceb385a9a8 build-package.sh: fix metapackage creation
Metapackages shouldn't have data inside.

%ci:reset-backlog
2019-08-13 02:03:59 +03:00
Leonid Pliushch 52ceb56d3f build-package.sh: more fixes 2019-08-13 02:03:52 +03:00
Leonid Pliushch d08dc0fa13 build-package.sh: use text-based comparsion in conditionals instead of exit-code based 2019-08-13 02:03:47 +03:00
Leonid Pliushch 898cb887ab fix typo in scripts/build/termux_extract_dep_info.sh 2019-08-12 23:48:13 +03:00
Leonid Pliushch c352216c63 packages: standardize values of several control variables for build.sh
Variables

 TERMUX_PKG_PLATFORM_INDEPENDENT
 TERMUX_DEBUG
 TERMUX_PKG_HAS_DEBUG
 TERMUX_PKG_ESSENTIAL
 TERMUX_SUBPKG_ESSENTIAL
 TERMUX_PKG_NO_STATICSPLIT
 TERMUX_PKG_BUILD_IN_SRC
 TERMUX_PKG_FORCE_CMAKE
 TERMUX_PKG_HOSTBUILD

should not accept arbitrary values for marking them "enabled". Instead
they should accept boolean values which makes them easier to handle and
also makes their meaning clear.

build-package.sh should make decision based on variable's value but not on
whether it is set or empty.

%ci:no-build
2019-08-12 18:49:13 +03:00
Butta 4c735a6580 on-device build: Fix up ncurses and ninja, adjust some setup scripts,
and add dependency info to scripts/setup-termux.sh.
2019-08-11 16:03:35 +03:00
Leonid Pliushch 0b4d758d6d fix typo in termux_step_massage.sh 2019-08-11 03:27:18 +03:00
Leonid Pliushch 4583afe579 build-package.sh: fix error in termux_step_massage() when bin, lib, libexec are not exist
Fixes https://github.com/termux/termux-packages/issues/4160.
2019-08-11 03:24:28 +03:00
Leonid Pliushch 48d257989a build-package.sh: export CC_FOR_BUILD for on-device builds
Required by some packages.
2019-08-10 17:28:08 +03:00
Leonid Pliushch 13f0811d76 build-package.sh: on-device builds without termux-exec are unsupported 2019-08-10 02:01:22 +03:00
Leonid Pliushch a2b2c75806 build-package.sh: for on-device builds use device-specific default value for maintainer 2019-08-10 01:23:17 +03:00
Leonid Pliushch 328a9303bd build-package.sh: prefix and home shouldn't be overridable for on-device builds
And set TERMUX_NO_CLEAN to true for on-device builds as well.
2019-08-10 01:18:42 +03:00
Leonid Pliushch ba62c10575 build-package.sh: source properties.sh before handling command line arguments
Fixes problem when it is not possible to override TERMUX_ARCH set in ~/.termuxrc.
2019-08-10 01:04:46 +03:00
Leonid Pliushch e303212ae5 enable on-device builds
Partial compatibility for on-device builds.

There is no guarantee that it will be possible to build all available
packages and built packages will have same reliability that cross-compiled
but should solve "self-hosting" problems as much as possible.
2019-08-08 16:58:34 +03:00
Leonid Pliushch 9173eaad20 build-package.sh: use globstar when splitting static libraries
Handle cases when static libraries located in subdirectory.

Enables support for globstar (example './**/*.a') pattern in subpackage
splitting.
2019-07-30 01:21:01 +03:00
Leonid Pliushch 0f298bae8f build-package.sh: avoid linking with extra/unneeded libraries 2019-07-29 22:49:15 +03:00
Leonid Pliushch 1b2d8259fb build-package.sh: basic hardening via CFLAGS/LDFLAGS
See https://github.com/termux/termux-packages/issues/4107.

In short:

 * Stack protector will be used by default.

 * GOT/PLT ELF sections will be read-only.
2019-07-29 22:49:15 +03:00
Leonid Pliushch 6e70277fb3 no more develsplit + provide static libraries as separate package
%ci:no-build
2019-07-28 21:17:12 +03:00
Leonid Pliushch 4778a36e54 update download checksum in termux_setup_protobuf.sh 2019-07-28 02:02:34 +03:00
Leonid Pliushch 2d7f6ecb75 CI: omit newlines when printing list of packages for building 2019-07-24 21:41:27 +03:00
Leonid Pliushch b97a70a2b0 CI: add support for automatic docker image rebuilding 2019-07-23 23:42:20 +03:00
Leonid Pliushch 2e07999fd3 CI: fix expression for filtering packages 2019-07-23 15:41:25 +03:00
Leonid Pliushch fb4b3a982c CI: look for changes only in build.sh scripts 2019-07-23 12:36:34 +03:00
Leonid Pliushch 9fac976ab1 CI: restore old way for building & uploading packages
Do not use pipes for building & uploading packages because:

 * They spawn more jobs on Bintray for metadata generation - each upload is
   done in a separate session.

 * Bintray doesn't handle well concurrent uploads and metadata can be corrupted.
   This happened in all recent builds of platform independent packages - in
   each upload task file had a same name and that triggered problem with metadata.

 * Using delays for workaround for a problem described above works, but isn't
   safe.
2019-07-23 03:08:34 +03:00
Leonid Pliushch 2b21492262 CI: fix syntax errors in 'scripts/build/ci/cirrus-ci_dispatcher.sh' 2019-07-22 22:48:36 +03:00
Leonid Pliushch c18beff6c0 CI: better implementation for workaround introduced in f75cb1d4f2
Use predefined upload delays for each pipe.
2019-07-22 22:38:32 +03:00
Leonid Pliushch b1f23e5f4c CI: do not start upload if API key or passphrase is not set
CI periodically shows error like

  Failed to decrypt some environment variables

so it will be better to stop immediately when environment is inconsistent
for unknown reason (e.g. due to Github's problems).
2019-07-22 21:33:21 +03:00
Leonid Pliushch e2aed73d91 CI: attempt to workaround inconsistent metadata during concurrent upload of same file
All platform independent packages affected by this issue. Results in
persistent apt error like:

 Writing more data than expected (22610650 > 22610408)
 Hashes of expected file:
  - SHA256:08abc5cffb9e1967fab487a471bb547f5ae706c48bf8e59d1443b2ad4af9caaf
  - SHA1:36ded1e207135bdeb8b7301bc03309ebced3cd32 [weak]
  - Filesize:22610408 [weak]
2019-07-22 21:26:44 +03:00
Leonid Pliushch d7087a90b1 CI: check if necessary environment variables are set 2019-07-22 20:04:24 +03:00
Leonid Pliushch c4f308fae3 CI: if all 3 attempts of upload failed, exit with status code '1' 2019-07-22 18:39:16 +03:00
Leonid Pliushch 4f811f734e build-package.sh: allow to mark subpackages as essential 2019-07-21 22:18:09 +03:00
Leonid Pliushch b9a77b5bf6 CI: fix syntax errors in dispatcher script 2019-07-21 17:44:31 +03:00
Leonid Pliushch aa98b2bc4d CI: rework way how upload will be retried
* Allow 3 attempts for uploading.

* Add 30 second delay between attempts.
2019-07-21 17:31:46 +03:00
Leonid Pliushch 088cf170a7 CI: fix pull requests URL in dispatcher script 2019-07-21 02:29:24 +03:00
Leonid Pliushch f6a1564aec CI: retry package uploading in case of failure
In certain cases Bintray may return errors like `invalid version a.b.c` for
specific tasks. This probably happens because we now running package uploading in
parallel.

Retrying upload one more time should fix the problem.
2019-07-21 01:42:24 +03:00
Leonid Pliushch ca8f0d0b74 CI: use pipe instead of separate tasks
No more need to pass packages between tasks through http cache but will require
a separate configuration for earch architecture.
2019-07-20 23:01:15 +03:00
Leonid Pliushch 5c90cf72db Revert "CI: restore full builds for pull requests"
This reverts commit 77f24af5b851a3a0cd067fcfffd18ecc6972ea83.
2019-07-20 19:12:45 +03:00
Leonid Pliushch cfaa34408e CI: restore full builds for pull requests
When processing pull request, build dependencies instead of
downloading them.
2019-07-20 15:44:01 +03:00
Leonid Pliushch 4aaba4d074 build-package.sh: allow to build multiple packages at one time
Support for call syntax:

 ./build-package.sh pkg1 pkg2 pkg3 ...
2019-07-20 15:32:54 +03:00
Leonid Pliushch 2563fd812c update CI setup
* Move package building/uploading implementation from config to a separate script.

* Implement new tag '%ci:no-build' to allow immediately stop build with status 'passed'.

%ci:no-build
2019-07-20 13:33:55 +03:00
Henrik Grimler a36acc44e4 setup_golang: set CGO_CFLAGS=-I$TERMUX_PREFIX/include 2019-07-19 10:22:31 +02:00
Fredrik Fornwall 51c97e3bb5 Always use -Oz optimization level 2019-07-14 20:38:26 +02:00
Fredrik Fornwall c5a58e63a2 golang: Update from 1.12.6 to 1.12.7 2019-07-11 14:31:17 +02:00
Leonid Pliushch 06f048b540 build-package.sh: fix typo
Chmod has to be called recursively.
2019-07-04 14:44:48 +03:00
Leonid Pliushch 225b1c471f clean.sh & build-package.sh: avoid errors in case chmod's target dir is not exist 2019-07-04 14:29:06 +03:00
Leonid Pliushch f45ed59766 build-package.sh: fix rm problems when builddir/srcdir contains RO files 2019-07-04 14:09:44 +03:00
Leonid Pliushch 2fa11b13ef build-package.sh: always keep info pages
Info pages usually provide more complete information
about package and its usage than man pages.
2019-07-02 00:00:02 +02:00
Tom Yan 0645971354 build-package.sh: export OBJCOPY 2019-06-26 12:14:11 +03:00
its-pointless 1900df549d avoid using system clang instead of ndk one 2019-06-19 20:26:31 +03:00
its-pointless 6c2c06fd6f fix arm-cpp properly... 2019-06-19 20:26:31 +03:00
its-pointless e83b5a2ea8 fix arm cpp 2019-06-19 20:26:31 +03:00
its-pointless 5eada22838 ndk-20 update 2019-06-19 20:26:31 +03:00
Leonid Pliushch 32ef9db225 golang: update to 1.12.6 2019-06-16 18:38:39 +03:00
Leonid Pliushch e4e0379086 cmake: update to 3.14.5 2019-06-08 01:10:02 +03:00
Leonid Pliushch de0589ea9e build-package.sh: fix license installation step 2019-05-24 23:34:33 +03:00
Leonid Pliushch b5e34cb1b9 build-package.sh: handle disable packages when building for all architectures 2019-05-22 15:01:59 +03:00
Henrik Grimler 1197b9a9e0 termux_step_massage: drop TERMUX_PKG_KEEP_SHARE_DOC 2019-05-19 21:36:30 +03:00
Henrik Grimler 4c87b7a46c termux_step_install_license: fix link path 2019-05-19 21:36:30 +03:00
Henrik Grimler de23e4c2a8 termux_step_install_license: install to usr/share/doc/ instead of usr/share/ 2019-05-19 21:36:30 +03:00
Henrik Grimler 3bfb8b45b9 termux_step_install_license: Handle spaces in license name 2019-05-19 21:36:30 +03:00
Henrik Grimler b9db6b4de8 termux_step_install_license: error if no LICENSE file is installed 2019-05-19 21:36:30 +03:00
Henrik Grimler 83177e08e3 termux_step_install_license: use license file from $TERMUX_PKG_LICENSE_FILE if specified
Otherwise use the licenses specified in $TERMUX_PKG_LICENSE
2019-05-19 21:36:30 +03:00
Henrik Grimler 9c0fd0513f build-package: licenses->LICENSES 2019-05-19 21:36:30 +03:00
Henrik Grimler 117ecbfb88 build-package: install licenses to $PREFIX/share/$PKG/LICENSE 2019-05-19 21:36:30 +03:00
Leonid Pliushch a1bb53e935 cmake: update to 3.14.4 2019-05-18 17:07:08 +03:00
Tom Yan d4d8aaeac9 build-package: fix unwind symbols hiding
Apparently because libgcc.a is now a linker script, `--exclude-libs libgcc.a` doesn't seem to do a thing. Also hiding symbols from libunwind.a.
2019-05-14 17:53:00 +03:00
Fredrik Fornwall 503c204164 protobuf: Update from 3.6.1 to 3.7.1 2019-05-12 00:22:25 +02:00
Fredrik Fornwall e0af3a3a6f Update meson from 0.49.2 to 0.50.1 2019-05-11 22:36:06 +02:00
Leonid Pliushch 7a25f8489b termux_create_subpackages.sh: fix syntax errors 2019-05-10 18:50:03 +03:00
Tom Yan fc76b5e1f4 build-package: fix subpackage-parent dependency 2019-05-10 18:50:03 +03:00
Leonid Pliushch 96f46c6a5d build-package.sh: don't write dependency list if empty 2019-05-09 22:56:26 +03:00
Leonid Pliushch 19c660dc05 build-package.sh: fix situation where subpackage's dependency list is not written to metadata 2019-05-09 22:46:46 +03:00
Leonid Pliushch c2b843a72d build-package.sh: break possible circular dependencies 2019-05-09 22:44:05 +03:00
Fredrik Fornwall 2e6aa72a19 golang: Update from 1.12.2 to 1.12.5 2019-05-07 22:41:30 +02:00
Fredrik Fornwall 264989a264 Remove not needed line in termux_setup_rust 2019-05-07 22:20:43 +02:00
Leonid Pliushch d850d1a4f1 build-package.sh: introduce field "Pre-Depends"
Required in rare cases where package update may break package manager during
installation process.

See https://www.debian.org/doc/debian-policy/ch-relationships.html for
more information.
2019-05-06 20:38:12 +03:00
Leonid Pliushch da442fc146 build-package.sh: subpackages should depend on current version of the main
Avoid potential issues caused by version mismatch.
2019-05-06 16:38:33 +03:00
Leonid Pliushch 9dda444a87 new package: libiconv 2019-05-05 21:29:36 +02:00
Leonid Pliushch d7d965db3f CI: skip packages that have long build time 2019-05-02 22:00:19 +03:00
Leonid Pliushch 599d2509d7 CI: switch to Cirrus 2019-05-01 23:45:46 +03:00
Leonid Pliushch 5ae36420eb termux_setup_rust.sh: always pick rust version from package build script
Avoid version mismatch.
2019-04-28 21:30:02 +03:00
its-pointless b089bf18c9 rust: Update from 1.33.0 to 1.34.1 2019-04-28 00:19:21 +02:00
Fredrik Fornwall 4979b0e530 cmake: Update from 3.14.2 to 3.14.3 2019-04-27 00:00:40 +02:00
Fredrik Fornwall f5fc3dfdb5 coreutils: Update from 8.30 to 8.31 2019-04-24 11:34:22 +02:00
Leonid Pliushch 99793cee35 build-package.sh: always try to download Release file (revert to old behaviour) 2019-04-22 00:42:58 +03:00
Leonid Pliushch b5ab2097ae Fast build fixes (#3696)
* Do not re=download release files.

* Efficiently handle dependencies: do not try to download \*.deb files when they already downloaded, do not try to extract them more than one time.
2019-04-21 18:05:39 +03:00
Fredrik Fornwall bfab2b63a9 cmake: Update from 3.13.4 to 3.14.2 2019-04-18 00:25:28 +02:00
Fredrik Fornwall 36e680b07d Adapt checksum for ninja-linux.zip 2019-04-18 00:12:24 +02:00
Fredrik Fornwall aae8c39e8f Let rustup install rust 1.34 2019-04-17 22:42:55 +02:00
Leonid Pliushch 16aa9acb5d termux-elf-cleaner: update to v1.6
No changes if API level is >= 23.
2019-04-15 18:39:38 +03:00
Tom Yan dab21ee7b7 zlib-dev: breaks and replaces old ndk-sysroot
also bump toolchain version for z{lib,conf}.h removal
2019-04-14 16:00:23 +03:00
Tom Yan 5170610f52 zlib: add package 2019-04-14 16:00:23 +03:00
Tom Yan 125c192664 build-package: fix conffiles for subpackages
conffiles was being created after control.tar.gz, which makes it
being omitted
2019-04-13 19:08:54 +03:00
Leonid Pliushch 8f042ae6b3 build-package.sh: do not try to gzip manpages that are already gzipped
Avoid warning and broken symlinks.
2019-04-09 17:45:43 +03:00
Tom Yan 7bfe758c81 build-package: set CMAKE_FIND_ROOT_PATH_MODE_PROGRAM to NEVER 2019-04-09 14:23:24 +03:00
Fredrik Fornwall c0d22ec7d1 golang: Update from 1.12.1 to 1.12.2 2019-04-07 22:44:13 +02:00
its-pointless 59625ccecd llvm-8 and rust with back ports for llvm-8 2019-03-29 01:28:11 +02:00
Tom Yan a57750848d build-package: add TERMUX_PKG_DEVPACKAGE_{BREAKS,REPLACES} support 2019-03-27 01:10:30 +08:00
Leonid Pliushch 5ec5a1a314 build-package.sh: fix printing of error message when trying to run script on Android device 2019-03-26 01:27:09 +02:00
Leonid Pliushch 3d0e516c64 termux_step_setup_toolchain.sh: simplify unneeded headers removal 2019-03-25 17:55:48 +02:00
Leonid Pliushch 9e682ab75f termux_step_setup_toolchain.sh: move 'rm usr/include/sys/capability.h' to correct place 2019-03-25 17:32:00 +02:00
Fredrik Fornwall 2b4652804f Remove sys/capability.h from the NDK sysroot
The sys/capability.h file will be provided by libcap-dev.
2019-03-24 23:15:44 +01:00
Tom Yan bc217587fb build-package: handle -dev package download from buildorder.py 2019-03-23 17:31:40 +02:00
Leonid Pliushch 2ee99435a9 fast builds: enable downloading from game, root & science repositories 2019-03-20 17:27:33 +02:00
Leonid Pliushch 8742fc020d termux_step_setup_variables.sh: remove unneeded variable
Not needed after cada4be0d87bc4bf8559f08304d6051624d43737.
2019-03-20 03:41:36 +02:00