Cirrus CI has huge startup delays when using high CPU configuration, which
happen due to limited availability of the community cluster resources.
Unfortunately we can't use lower CPU configuration for termux-packages
because llvm/rust/swift may hit timeout.
Probably we will have more benefits with using Github Actions even without
-I option supplied to build-package.sh
By moving the checks we can make the function more general, and
thereby re-use it for creating subpackages and potentially hostbuild
tools packages.
tests: building libandroid-support and build-essential.
Aptly mixes the all debs into the folders for the other arches, unless
the all arch is explicitly added. This workaround tries to find the
package in the aarch64 Packages file if the all Packages file is not
found.
Most packages have subpackages that are the same arch or
arch-independent compared to the parent package. Emscripten and its
subpackages emscripten-{binaryen,llvm} are an exception, the main
package are arch independent while the subpackages are not. To handle
this correctly we need to modify termux_extract_dep_info as done here.
Use non-IPFS repositories for fetching dependencies when building packages.
This is required at least for CI as gateways seem to block requests due to
either rate limit or restriction for usage by cloud platforms.
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.
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
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.