| 1 | TERMUX_PKG_HOMEPAGE=https://racket-lang.org |
| 2 | TERMUX_PKG_DESCRIPTION="Full-spectrum programming language going beyond Lisp and Scheme" |
| 3 | TERMUX_PKG_VERSION=6.6 |
| 4 | TERMUX_PKG_SRCURL=https://mirror.racket-lang.org/installers/${TERMUX_PKG_VERSION}/racket-minimal-${TERMUX_PKG_VERSION}-src-builtpkgs.tgz |
| 5 | TERMUX_PKG_FOLDERNAME=racket-${TERMUX_PKG_VERSION} |
| 6 | TERMUX_PKG_HOSTBUILD=true |
| 7 | TERMUX_PKG_DEPENDS="libffi, libandroid-support" |
| 8 | TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--enable-racket=$TERMUX_PKG_HOSTBUILD_DIR/racket/racketcgc" |
| 9 | # Building racket hits the 'the wrong gcc-problem' detailed at http://www.metastatic.org/text/libtool.html |
| 10 | # due to --tag=CC being used. To avoid that a cross libtool built in termux_step_post_extract_package() |
| 11 | # below and used due to this configure argument: |
| 12 | _CROSS_LIBTOOL_DIR=$TERMUX_PKG_CACHEDIR/libtool-cross-2.4.6-${TERMUX_HOST_PLATFORM} |
| 13 | TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --enable-lt=$_CROSS_LIBTOOL_DIR/bin/${TERMUX_HOST_PLATFORM}-libtool" |
| 14 | |
| 15 | termux_step_pre_configure () { |
| 16 | LDFLAGS+=" -llog" |
| 17 | } |
| 18 | |
| 19 | termux_step_pre_make () { |
| 20 | cd "$TERMUX_PKG_SRCDIR/.." |
| 21 | sed "s%\@TERMUX_PREFIX\@%${TERMUX_PREFIX}%g" $TERMUX_PKG_BUILDER_DIR/system.rkt.patch.special | patch -p1 |
| 22 | } |
| 23 | |
| 24 | termux_step_post_extract_package () { |
| 25 | if [ ! -d $_CROSS_LIBTOOL_DIR ]; then |
| 26 | LIBTOOL_TARFILE=$TERMUX_PKG_CACHEDIR/libtool-2.4.6.tar.gz |
| 27 | if [ ! -f $LIBTOOL_TARFILE ]; then |
| 28 | curl -L -o $LIBTOOL_TARFILE http://ftpmirror.gnu.org/libtool/libtool-2.4.6.tar.gz |
| 29 | fi |
| 30 | cd $TERMUX_PKG_CACHEDIR |
| 31 | tar xf $LIBTOOL_TARFILE |
| 32 | cd libtool-2.4.6 |
| 33 | ./configure --prefix=$_CROSS_LIBTOOL_DIR --host=$TERMUX_HOST_PLATFORM --program-prefix=${TERMUX_HOST_PLATFORM}- |
| 34 | make install |
| 35 | fi |
| 36 | |
| 37 | export TERMUX_PKG_SRCDIR=$TERMUX_PKG_SRCDIR/src |
| 38 | } |