1 # This port uses perl-cross: http://arsv.github.io/perl-cross/index.html
2 TERMUX_PKG_HOMEPAGE
=http
://www.perl.org
/
3 TERMUX_PKG_DESCRIPTION
="Capable, feature-rich programming language"
4 # cpan modules will require make:
5 TERMUX_PKG_VERSION
=5.24.0
6 TERMUX_PKG_SRCURL
=http
://www.cpan.org
/src
/5.0/perl-
${TERMUX_PKG_VERSION}.
tar.gz
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
13 termux_step_post_extract_package
() {
14 PERLCROSS_VERSION
=1.0.3
15 PERLCROSS_PERL_VERSION
=5.24.0
16 PERLCROSS_FILE
=perl-
${PERLCROSS_PERL_VERSION}-cross-
${PERLCROSS_VERSION}.
tar.gz
17 PERLCROSS_TAR
=$TERMUX_PKG_CACHEDIR/$PERLCROSS_FILE
18 test ! -f
$PERLCROSS_TAR && curl
-o
$PERLCROSS_TAR -L https
://github.com
/arsv
/perl-cross
/releases
/download
/$PERLCROSS_VERSION/$PERLCROSS_FILE
21 cd perl-
${PERLCROSS_PERL_VERSION}
24 # Remove old installation to force fresh:
25 rm -rf
$TERMUX_PREFIX/lib
/perl5
27 # Remove patch from perl-cross for file we patch ourselves:
28 rm $TERMUX_PKG_SRCDIR/cnf
/diffs
/liblist.
patch
29 # Export variable used by Kid.pm.patch:
30 export TERMUX_PKG_SRCDIR
33 termux_step_configure
() {
34 export PATH
=$PATH:$TERMUX_STANDALONE_TOOLCHAIN/bin
39 ORIG_CXX
=$CXX; unset CXX
40 ORIG_CPP
=$CPP; unset CPP
41 ORIG_CFLAGS
=$CFLAGS; unset CFLAGS
42 ORIG_CPPFLAGS
=$CPPFLAGS; unset CPPFLAGS
43 ORIG_CXXFLAGS
=$CXXFLAGS; unset CXXFLAGS
44 ORIG_LDFLAGS
=$LDFLAGS; unset LDFLAGS
45 ORIG_RANLIB
=$RANLIB; unset RANLIB
48 # Since we specify $TERMUX_PREFIX/bin/sh below for the shell
49 # it will be run during the build, so temporarily (removed in
50 # termux_step_post_make_install below) setup symlink:
51 rm -f
$TERMUX_PREFIX/bin
/sh
52 ln -s
/bin
/sh
$TERMUX_PREFIX/bin
/sh
54 cd $TERMUX_PKG_BUILDDIR
55 $TERMUX_PKG_SRCDIR/configure \
56 --target
=$TERMUX_HOST_PLATFORM \
57 -Dsysroot
=$TERMUX_STANDALONE_TOOLCHAIN/sysroot \
58 -Dprefix
=$TERMUX_PREFIX \
59 -Dsh
=$TERMUX_PREFIX/bin
/sh \
61 -A ccflags
="-specs=$TERMUX_SCRIPTDIR/termux.spec" \
62 -A ldflags
="-specs=$TERMUX_SCRIPTDIR/termux.spec"
65 termux_step_post_make_install
() {
66 # Replace hardlinks with symlinks:
67 cd $TERMUX_PREFIX/share
/man
/man1
69 ln -s perlthanks
.1 perlbug
.1
70 ln -s pstruct
.1 c2ph
.1
72 # Fix reference to termux.spec used only when cross compiling:
73 perl
-p
-i
-e
's@-specs=/home/fornwall/dc/termux.spec@@g' $TERMUX_PREFIX/lib
/perl5
/*/*-linux
/Config_heavy.pl
75 # lib/perl5/5.22.0/arm-linux/Config_heavy.pl
77 rm $TERMUX_PREFIX/bin
/sh
80 ln -f
-s perl5
/${TERMUX_PKG_VERSION}/${TERMUX_ARCH}-linux
/CORE
/libperl.so libperl.so
82 cd $TERMUX_PREFIX/include
83 ln -f
-s ..
/lib
/perl5
/${TERMUX_PKG_VERSION}/${TERMUX_ARCH}-linux
/CORE perl