From 442464c5be50338c9e4d2fd03b06c316a294193c Mon Sep 17 00:00:00 2001 From: its-pointless Date: Wed, 21 Mar 2018 09:04:46 +1100 Subject: [PATCH] update to newest version compiles and raco works on host. (#2259) Needs some testing. --- disabled-packages/racket/build.sh | 32 +++++--------------------- disabled-packages/racket/newgc.c.patch | 10 +++++++++ disabled-packages/racket/port.c.patch | 36 ------------------------------ disabled-packages/racket/rktio_dll.c.patch | 18 +++++++++++++++ disabled-packages/racket/sconfig.h.patch | 32 ++++++++++++++++++++++++++ 5 files changed, 66 insertions(+), 62 deletions(-) create mode 100644 disabled-packages/racket/newgc.c.patch delete mode 100644 disabled-packages/racket/port.c.patch create mode 100644 disabled-packages/racket/rktio_dll.c.patch create mode 100644 disabled-packages/racket/sconfig.h.patch diff --git a/disabled-packages/racket/build.sh b/disabled-packages/racket/build.sh index e21243b5..f679e080 100644 --- a/disabled-packages/racket/build.sh +++ b/disabled-packages/racket/build.sh @@ -1,32 +1,13 @@ TERMUX_PKG_HOMEPAGE=https://racket-lang.org TERMUX_PKG_DESCRIPTION="Full-spectrum programming language going beyond Lisp and Scheme" -TERMUX_PKG_VERSION=6.7 +TERMUX_PKG_VERSION=6.12 TERMUX_PKG_SRCURL=https://mirror.racket-lang.org/installers/${TERMUX_PKG_VERSION}/racket-minimal-${TERMUX_PKG_VERSION}-src-builtpkgs.tgz -TERMUX_PKG_SHA256=4203d9b51a0de7ea549db966cfa49a736f8605ab51e2f198cbdb9cfaf428b0f3 + +TERMUX_PKG_SHA256=295a422d60af2a3186a18783d033c167eeed07b936c79f404d25123a0209d683 +TERMUX_PKG_NO_DEVELSPLIT=true 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" - -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 -} +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--enable-racket=$TERMUX_PKG_HOSTBUILD_DIR/racket/racketcgc --enable-libs --disable-shared --disable-gracket --enable-libffi" termux_step_host_build () { $TERMUX_PKG_SRCDIR/src/configure ${TERMUX_PKG_EXTRA_HOSTBUILD_CONFIGURE_ARGS} @@ -34,9 +15,8 @@ termux_step_host_build () { } termux_step_pre_configure () { + CPPFLAGS+=" -I$TERMUX_PKG_SRCDIR/src/racket/include -I$TERMUX_PKG_BUILDDIR/racket" # Due to use of syslog. LDFLAGS+=" -llog" - - # Do this after patching: export TERMUX_PKG_SRCDIR=$TERMUX_PKG_SRCDIR/src } diff --git a/disabled-packages/racket/newgc.c.patch b/disabled-packages/racket/newgc.c.patch new file mode 100644 index 00000000..3a35fa38 --- /dev/null +++ b/disabled-packages/racket/newgc.c.patch @@ -0,0 +1,10 @@ +--- ../cache/racket-6.11/src/racket/gc2/newgc.c 2017-07-07 19:13:22.000000000 +0000 ++++ ./src/racket/gc2/newgc.c 2018-01-05 05:55:28.900376813 +0000 +@@ -10,6 +10,7 @@ + #include + #include + #include ++#include + #include "platforms.h" + #include "../src/schpriv.h" + #include "gc2.h" diff --git a/disabled-packages/racket/port.c.patch b/disabled-packages/racket/port.c.patch deleted file mode 100644 index a276c420..00000000 --- a/disabled-packages/racket/port.c.patch +++ /dev/null @@ -1,36 +0,0 @@ -"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/src/port.c ---- ../../racket-6.4/src/racket/src/port.c 2016-01-14 12:11:20.000000000 -0500 -+++ ./src/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; diff --git a/disabled-packages/racket/rktio_dll.c.patch b/disabled-packages/racket/rktio_dll.c.patch new file mode 100644 index 00000000..921fd4b0 --- /dev/null +++ b/disabled-packages/racket/rktio_dll.c.patch @@ -0,0 +1,18 @@ +--- ../cache/racket-6.12/src/rktio/rktio_dll.c 2017-10-12 18:23:27.000000000 +0000 ++++ ./src/rktio/rktio_dll.c 2018-03-18 01:22:17.345952252 +0000 +@@ -1,5 +1,6 @@ + #include "rktio.h" + #include "rktio_private.h" ++#include "scheme.h" + #include + #include + +@@ -63,7 +64,7 @@ + return dll; + + #ifdef RKTIO_SYSTEM_UNIX +-# if defined(__ANDROID__) ++# if defined(__ANDROID__) && !defined(__x86_64__) && !defined(__aarch64__) + if (!name) handle = RTLD_DEFAULT; else + # elif defined(__CYGWIN32__) + if (!name) { handle = RTLD_DEFAULT; null_ok = 1; } else diff --git a/disabled-packages/racket/sconfig.h.patch b/disabled-packages/racket/sconfig.h.patch new file mode 100644 index 00000000..1d5478a5 --- /dev/null +++ b/disabled-packages/racket/sconfig.h.patch @@ -0,0 +1,32 @@ +--- ../cache/racket-6.12/src/racket/sconfig.h 2017-10-12 18:23:27.000000000 +0000 ++++ ./src/racket/sconfig.h 2018-02-07 01:18:13.911569478 +0000 +@@ -124,10 +124,12 @@ + # endif + # if defined(__x86_64__) + # define SCHEME_PLATFORM_LIBRARY_SUBPATH "x86_64-"SPLS_LINUX + # define REGISTER_POOR_MACHINE + # define ASM_DBLPREC_CONTROL_87 ++#ifndef __ANDROID__ + # define MZ_TRY_EXTFLONUMS + # endif ++# endif + # ifndef SCHEME_PLATFORM_LIBRARY_SUBPATH + # define SCHEME_PLATFORM_LIBRARY_SUBPATH "unknown-"SPLS_LINUX + # endif +@@ -147,12 +149,16 @@ + #if defined(__i386__) + # define MZ_USE_JIT_I386 + # define MZ_JIT_USE_MPROTECT ++#ifndef __ANDROID__ + # define MZ_USE_DWARF_LIBUNWIND + #endif ++#endif + #if defined(__x86_64__) + # define MZ_USE_JIT_X86_64 + # define MZ_JIT_USE_MPROTECT ++#ifndef __ANDROID__ + # define MZ_USE_DWARF_LIBUNWIND ++#endif + #endif + #if defined(__powerpc__) && !defined(__powerpc64__) + # define MZ_USE_JIT_PPC -- 2.11.0