* add rust-demangler
* drop deprecated rls
* drop unnecessary x86_64-unknown-linux-gnu stage 1 build
* force CI only pack tar.gz instead of both tar.gz and tar.xz
* further split subpackages into rust-std-*
* add subpackages rust-src, rustc-src
* add TERMUX_PKG_{BREAKS,REPLACES} on rust subpackages
termux_setup_rust might be run several times in a build recipe, so
that continued (`./build-packages.sh -c`) builds can be supported.
The setup function uses and then unsets CFLAGS, resulting in an error
the second time termux_setup_rust is run.
Make changes as per new design implemented in termux/termux-app@b950efec and termux/termux-app#2740
The package build and termux-tools scripts use current package manager for custom logic. The `termux-tools/termux-setup-package-manager` script has been added that will now be used to provide backward compatibility for termux-app `< 0.119.0` (when its released) and validate the package manager. It will also ensure the variable in not unset to prevent `unbound variable` errors if `set -u` is being used by calling scripts.
Closes#10782
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
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.