| 1 | TERMUX_PKG_HOMEPAGE=https://www.perl.org/ |
| 2 | TERMUX_PKG_DESCRIPTION="Capable, feature-rich programming language" |
| 3 | # cpan modules will require make: |
| 4 | TERMUX_PKG_VERSION=5.24.1 |
| 5 | TERMUX_PKG_SRCURL=http://www.cpan.org/src/5.0/perl-${TERMUX_PKG_VERSION}.tar.gz |
| 6 | TERMUX_PKG_SHA256=e6c185c9b09bdb3f1b13f678999050c639859a7ef39c8cad418448075f5918af |
| 7 | # Does not work with parallell builds: |
| 8 | TERMUX_MAKE_PROCESSES=1 |
| 9 | TERMUX_PKG_RM_AFTER_INSTALL="bin/perl${TERMUX_PKG_VERSION}" |
| 10 | TERMUX_PKG_BUILD_IN_SRC="yes" |
| 11 | TERMUX_PKG_NO_DEVELSPLIT=yes |
| 12 | TERMUX_PKG_REVISION=1 |
| 13 | termux_step_post_extract_package () { |
| 14 | # This port uses perl-cross: http://arsv.github.io/perl-cross/ |
| 15 | local PERLCROSS_VERSION=1.1.4 |
| 16 | local PERLCROSS_FILE=perl-cross-${PERLCROSS_VERSION}.tar.gz |
| 17 | local PERLCROSS_TAR=$TERMUX_PKG_CACHEDIR/$PERLCROSS_FILE |
| 18 | if [ ! -f $PERLCROSS_TAR ]; then |
| 19 | termux_download https://github.com/arsv/perl-cross/releases/download/$PERLCROSS_VERSION/$PERLCROSS_FILE \ |
| 20 | $PERLCROSS_TAR \ |
| 21 | c840a327d5464ca271cac40d52e2d199330875527bf1003c28a6e550fb7bcc57 |
| 22 | fi |
| 23 | tar xf $PERLCROSS_TAR |
| 24 | cd perl-cross-${PERLCROSS_VERSION} |
| 25 | cp -Rf * ../ |
| 26 | |
| 27 | # Remove old installation to force fresh: |
| 28 | rm -rf $TERMUX_PREFIX/lib/perl5 |
| 29 | |
| 30 | # Export variable used by Kid.pm.patch: |
| 31 | export TERMUX_PKG_SRCDIR |
| 32 | } |
| 33 | |
| 34 | termux_step_configure () { |
| 35 | export PATH=$PATH:$TERMUX_STANDALONE_TOOLCHAIN/bin |
| 36 | |
| 37 | ORIG_AR=$AR; unset AR |
| 38 | ORIG_AS=$AS; unset AS |
| 39 | ORIG_CC=$CC; unset CC |
| 40 | ORIG_CXX=$CXX; unset CXX |
| 41 | ORIG_CPP=$CPP; unset CPP |
| 42 | ORIG_CFLAGS=$CFLAGS; unset CFLAGS |
| 43 | ORIG_CPPFLAGS=$CPPFLAGS; unset CPPFLAGS |
| 44 | ORIG_CXXFLAGS=$CXXFLAGS; unset CXXFLAGS |
| 45 | ORIG_LDFLAGS=$LDFLAGS; unset LDFLAGS |
| 46 | ORIG_RANLIB=$RANLIB; unset RANLIB |
| 47 | ORIG_LD=$LD; unset LD |
| 48 | |
| 49 | # Since we specify $TERMUX_PREFIX/bin/sh below for the shell |
| 50 | # it will be run during the build, so temporarily (removed in |
| 51 | # termux_step_post_make_install below) setup symlink: |
| 52 | rm -f $TERMUX_PREFIX/bin/sh |
| 53 | ln -s /bin/sh $TERMUX_PREFIX/bin/sh |
| 54 | |
| 55 | cd $TERMUX_PKG_BUILDDIR |
| 56 | $TERMUX_PKG_SRCDIR/configure \ |
| 57 | --target=$TERMUX_HOST_PLATFORM \ |
| 58 | -Dsysroot=$TERMUX_STANDALONE_TOOLCHAIN/sysroot \ |
| 59 | -Dprefix=$TERMUX_PREFIX \ |
| 60 | -Dsh=$TERMUX_PREFIX/bin/sh \ |
| 61 | -Dcc=$ORIG_CC \ |
| 62 | -Duseshrplib |
| 63 | } |
| 64 | |
| 65 | termux_step_post_make_install () { |
| 66 | # Replace hardlinks with symlinks: |
| 67 | cd $TERMUX_PREFIX/share/man/man1 |
| 68 | rm {perlbug.1,c2ph.1} |
| 69 | ln -s perlthanks.1 perlbug.1 |
| 70 | ln -s pstruct.1 c2ph.1 |
| 71 | |
| 72 | # Cleanup: |
| 73 | rm $TERMUX_PREFIX/bin/sh |
| 74 | |
| 75 | cd $TERMUX_PREFIX/lib |
| 76 | ln -f -s perl5/${TERMUX_PKG_VERSION}/${TERMUX_ARCH}-android/CORE/libperl.so libperl.so |
| 77 | |
| 78 | cd $TERMUX_PREFIX/include |
| 79 | ln -f -s ../lib/perl5/${TERMUX_PKG_VERSION}/${TERMUX_ARCH}-android/CORE perl |
| 80 | cd ../lib/perl5/${TERMUX_PKG_VERSION}/${TERMUX_ARCH}-android/ |
| 81 | chmod +w Config_heavy.pl |
| 82 | sed 's',"--sysroot=$TERMUX_STANDALONE_TOOLCHAIN"/sysroot,"-I/data/data/com.termux/files/usr/include",'g' Config_heavy.pl > Config_heavy.pl.new |
| 83 | sed 's',"$TERMUX_STANDALONE_TOOLCHAIN"/sysroot,"-I/data/data/com.termux/files",'g' Config_heavy.pl.new > Config_heavy.pl |
| 84 | rm Config_heavy.pl.new |
| 85 | } |