Commit Graph

25 Commits

Author SHA1 Message Date
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
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
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
ddf7066863 build-package.sh: fix url for unstable & x11 packages 2019-11-17 14:56:25 +02:00
Leonid Pliushch
5493481c5c build-package.sh: better support for metapackages 2019-08-14 20:29:58 +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
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
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
6e70277fb3 no more develsplit + provide static libraries as separate package
%ci:no-build
2019-07-28 21:17:12 +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
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
Tom Yan
a57750848d build-package: add TERMUX_PKG_DEVPACKAGE_{BREAKS,REPLACES} support 2019-03-27 01:10:30 +08: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
Leonid Pliushch
2ea0b724aa fast builds: enable downloading from unstable and x11 repositories 2019-03-20 02:57:52 +02:00
Leonid Pliushch
2d66d967eb termux_step_setup_variables.sh: fix gpg keys 2019-03-10 21:46:41 +02:00
Leonid Pliushch
d22ac1b2fb fast-builds: switch to bintray url 2019-03-10 15:42:58 +02:00
Leonid Pliushch
c508560e40 build-package.sh: enable use of DT_RUNPATH, set minimal API level to 24 2019-03-10 15:41:38 +02:00
Henrik Grimler
530eddf30a build-package: add new env. var. TERMUX_PACKAGES_DIRECTORIES
Can be set to the path to packages/ directories in other repos (like
unstable-package/packages/, termux-root-packages/packages/,
..). buildorder.py then searches these directories for packages and
dependencies
2019-03-03 01:40:22 +02:00
Henrik Grimler
063eaac334 build-package: mv termux_setup_variables to scripts/build/ 2019-02-27 21:59:08 +02:00