From: Fredrik Fornwall Date: Sun, 10 Apr 2016 22:53:05 +0000 (-0400) Subject: Add a first stab at building racket X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/termux-packages/commitdiff_plain/c11e3fc9563a7f9a2c06aabf47af284bf3c95754?hp=-c Add a first stab at building racket --- c11e3fc9563a7f9a2c06aabf47af284bf3c95754 diff --git a/disabled-packages/racket/build.sh b/disabled-packages/racket/build.sh index b59cd9a0..8e840c16 100644 --- a/disabled-packages/racket/build.sh +++ b/disabled-packages/racket/build.sh @@ -1,13 +1,31 @@ TERMUX_PKG_HOMEPAGE=https://racket-lang.org TERMUX_PKG_DESCRIPTION="Full-spectrum programming language going beyond Lisp and Scheme" -TERMUX_PKG_VERSION=6.3 -TERMUX_PKG_SRCURL=https://mirror.racket-lang.org/releases/6.3/installers/racket-minimal-${TERMUX_PKG_VERSION}-src-builtpkgs.tgz -TERMUX_PKG_DEPENDS="libffi, libandroid-support" -# TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-ssl=openssl --disable-iri" -# TERMUX_PKG_HOSTBUILD=true +TERMUX_PKG_VERSION=6.4 +TERMUX_PKG_SRCURL=https://mirror.racket-lang.org/installers/${TERMUX_PKG_VERSION}/racket-minimal-${TERMUX_PKG_VERSION}-src-builtpkgs.tgz TERMUX_PKG_FOLDERNAME=racket-${TERMUX_PKG_VERSION} -TERMUX_MAKE_PROCESSES=1 +TERMUX_PKG_HOSTBUILD=true +TERMUX_PKG_DEPENDS="libffi, libandroid-support" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--enable-racket=$TERMUX_PKG_HOSTBUILD_DIR/racket/racketcgc" +# Building racket hits the 'the wrong gcc-problem' detailed at http://www.metastatic.org/text/libtool.html +# due to --tag=CC being used. To avoid that a cross libtool built in termux_step_post_extract_package() +# below and used due to this configure argument: +_CROSS_LIBTOOL_DIR=$TERMUX_PKG_CACHEDIR/libtool-cross-2.4.6-${TERMUX_HOST_PLATFORM} +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --enable-lt=$_CROSS_LIBTOOL_DIR/bin/${TERMUX_HOST_PLATFORM}-libtool" + +LDFLAGS+=" -llog" termux_step_post_extract_package () { + if [ ! -d $_CROSS_LIBTOOL_DIR ]; then + LIBTOOL_TARFILE=$TERMUX_PKG_CACHEDIR/libtool-2.4.6.tar.gz + if [ ! -f $LIBTOOL_TARFILE ]; then + curl -L -o $LIBTOOL_TARFILE http://ftpmirror.gnu.org/libtool/libtool-2.4.6.tar.gz + fi + cd $TERMUX_PKG_CACHEDIR + tar xf $LIBTOOL_TARFILE + cd libtool-2.4.6 + ./configure --prefix=$_CROSS_LIBTOOL_DIR --host=$TERMUX_HOST_PLATFORM --program-prefix=${TERMUX_HOST_PLATFORM}- + make install + fi + export TERMUX_PKG_SRCDIR=$TERMUX_PKG_SRCDIR/src } diff --git a/disabled-packages/racket/port.c.patch b/disabled-packages/racket/port.c.patch new file mode 100644 index 00000000..a9e5b127 --- /dev/null +++ b/disabled-packages/racket/port.c.patch @@ -0,0 +1,36 @@ +"The getdtablesize functions has been deprecated by Posix and has been +removed from Android's LB64 ABI. Replace calls to it with the modern +equivalent sysconf(_SC_OPEN_MAX)." + +- https://groups.google.com/a/chromium.org/forum/#!topic/chromium-reviews/AXhZapYuHi8 + +diff -u -r ../../racket-6.4/src/racket/src/port.c ./racket/src/port.c +--- ../../racket-6.4/src/racket/src/port.c 2016-01-14 12:11:20.000000000 -0500 ++++ ./racket/src/port.c 2016-04-10 17:43:40.039414493 -0400 +@@ -1090,7 +1090,7 @@ + # ifdef USE_ULIMIT + dynamic_fd_size = ulimit(4, 0); + # else +- dynamic_fd_size = getdtablesize(); ++ dynamic_fd_size = sysconf(_SC_OPEN_MAX); + # endif + /* divide by bits-per-byte: */ + dynamic_fd_size = (dynamic_fd_size + 7) >> 3; +@@ -1365,7 +1365,7 @@ + # ifdef FIXED_FD_LIMIT + limit = FIXED_FD_LIMIT; + # else +- limit = getdtablesize(); ++ limit = sysconf(_SC_OPEN_MAX); + # endif + # endif + # endif +@@ -10390,7 +10390,7 @@ + # ifdef USE_ULIMIT + i = ulimit(4, 0); + # else +- i = getdtablesize(); ++ i = sysconf(_SC_OPEN_MAX); + # endif + while (i--) { + int cr;