- Now we use cabal (comparable to rust's cargo) to build binary packages.
Reason:
- Haskell's cabal packaging system is like rust's cargo. Every packages
depends upon some specific version of other library. Hence, it is
hard to maintain each and every version.
- Patching packages so that they use latest of dependencies breaks
compatibility.
Benefits:
- Enables building very large packages like `pandoc`.
- Reduces disk space used.
- Lesser packages to maintain.
Signed-off-by: Aditya Alok <alok@termux.dev>
Their functionality is included in libc, but some packages anyways
searches for libpthread.so and librt.so. Provide these files so that
such configure steps succeed.
Instead of in termux_setup_toolchain_XX. This helper lib does really
not have anything to do with our toolchain so it does not belong in
termux_setup_toolchain.
It is also good to only modify $TERMUX_PREFIX (for other things than
make install) before termux_step_create_timestamp_file has been run,
and termux_step_start_build fits that criteria.
and `posix_spawnp` defined in libandroid-spawn.
There are other symbols defined in libandroid-spawn, but hopefully this
is sufficient for the purpose of guarding underlinking.
Reference: https://github.com/termux/termux-packages/issues/14623
It replaces termux_setup_python_crossenv and can be used when
compiling python packages. Packages should specify their python
dependencies in TERMUX_PKG_PYTHON_TARGET_DEPS,
TERMUX_PKG_PYTHON_BUILD_DEPS, and TERMUX_PKG_PYTHON_COMMON_DEPS.
The pattern `for lib in "$(find [...])"` does not work if `find` matches
more than one file. Double quotes around `$(...)` must be removed.
This bug was introduced in 849112f9e7, and
the check did not work correctly from then on, until now.
Seems to be outdated since a long time. Let's better fix it. I don't
think there will be any breaking changes (like some weird new
compilation errors or something).
python2 is no longer available in official repositories. See https://archlinux.org/news/removing-python2-from-the-repositories/
Also depend on jq directly. I know there are a lot of packages missing
from the list. But I guess it will be better for the contributor to
install them as needed instead of keeping a lot of unnecessary stuff
installed.