Before, trying to compile some perl modules on arm fails with an
error like
t/01-simple.t ..... 5/7 "./add": error: Android 5.0 and later only support position-independent executables (-fPIE).
No idea why it occurs on arm but not on aarch64 or x86_64. Error
should probably be fixed properly elsewhere in perl's source code, but
let's go for this easy fix for now. Adding -pie here also introduces
warnings when building perl packages on device due to clang -E not
recognizing it, but at least they compile..
Tested on lineage-18.1 arm tablet.
I.e. preprocessor mode. This silences warning messages both when
cross-compiling perl and when compiling perl packages on device.
Note that the main perl binary ends up with RUNPATH set to
$PREFIX/lib/perl5/5.32.1/arm-android/CORE, instead of $PREFIX/lib
_and_ $PREFIX/lib/perl5/5.32.1/arm-android/CORE. perl only links
against the standard libraries and libperl.so though, and the latter
is in $PREFIX/lib/perl5/5.32.1/arm-android/CORE so there should be no
need to add $PREFIX/lib to RUNPATH (unless I am missing something).
Tested by running perl and installing some perl modules on an arm
tablet,
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
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