From ed198efe08283cc4bb823e818daf2946fc4d9c45 Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Sat, 14 Jan 2017 03:45:44 -0500 Subject: [PATCH] ruby: Update from 2.3.3 to 2.4.0 --- packages/ruby/build.sh | 34 +++++++++++++--------------------- packages/ruby/pty.c.patch | 24 ++++++++++++------------ 2 files changed, 25 insertions(+), 33 deletions(-) diff --git a/packages/ruby/build.sh b/packages/ruby/build.sh index ae12a1c98..07eb05024 100644 --- a/packages/ruby/build.sh +++ b/packages/ruby/build.sh @@ -1,9 +1,9 @@ TERMUX_PKG_HOMEPAGE=https://www.ruby-lang.org/ TERMUX_PKG_DESCRIPTION="Dynamic programming language with a focus on simplicity and productivity" -_MAJOR_VERSION=2.3 -TERMUX_PKG_VERSION=${_MAJOR_VERSION}.3 +_MAJOR_VERSION=2.4 +TERMUX_PKG_VERSION=${_MAJOR_VERSION}.0 TERMUX_PKG_SRCURL=https://cache.ruby-lang.org/pub/ruby/${_MAJOR_VERSION}/ruby-${TERMUX_PKG_VERSION}.tar.xz -TERMUX_PKG_SHA256=1a4fa8c2885734ba37b97ffdb4a19b8fba0e8982606db02d936e65bac07419dc +TERMUX_PKG_SHA256=3a87fef45cba48b9322236be60c455c13fd4220184ce7287600361319bb63690 # libbffi is used by the fiddle extension module: TERMUX_PKG_DEPENDS="libandroid-support, libffi, libgmp, readline, openssl, libutil" # Needed to fix compilation on android: @@ -18,9 +18,6 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" rb_cv_type_deprecated=x" # TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" ac_cv_func_getresuid=no" termux_step_pre_configure() { - # Ruby does not use this directly, but specify for gem building C++-using extensions: - CXXFLAGS+=" -frtti -fexceptions" - export GEM_HOME=$TERMUX_PREFIX/var/lib/gems mkdir -p $GEM_HOME } @@ -30,27 +27,22 @@ termux_step_make_install () { make uninstall # remove possible remains to get fresh timestamps make install - # rbconfig.rb, used to build native gems, thinks that ${TERMUX_HOST_PLATFORM}-$TOOLNAME should - # be used, but we want the unprefixed $TOOLNAME: - local RBCONFIG=$TERMUX_PREFIX/lib/ruby/${_MAJOR_VERSION}.0/${TERMUX_HOST_PLATFORM}/rbconfig.rb - for tool in gcc "g\+\+" strip nm objdump ar ranlib ld cpp; do - perl -p -i -e "s/${TERMUX_HOST_PLATFORM}-$tool/$tool/g" $RBCONFIG - done + local RBCONFIG=$TERMUX_PREFIX/lib/ruby/${_MAJOR_VERSION}.0/${TERMUX_HOST_PLATFORM}/rbconfig.rb # Fix absolute paths to executables: - perl -p -i -e 's/^.*CONFIG\["INSTALL"\].*$/ CONFIG["INSTALL"] = "install -c"/' $RBCONFIG - perl -p -i -e 's/^.*CONFIG\["PKG_CONFIG"\].*$/ CONFIG["PKG_CONFIG"] = "pkg-config"/' $RBCONFIG - perl -p -i -e 's/^.*CONFIG\["MAKEDIRS"\].*$/ CONFIG["MAKEDIRS"] = "mkdir -p"/' $RBCONFIG - perl -p -i -e 's/^.*CONFIG\["MKDIR_P"\].*$/ CONFIG["MKDIR_P"] = "mkdir -p"/' $RBCONFIG - perl -p -i -e 's/^.*CONFIG\["EGREP"\].*$/ CONFIG["EGREP"] = "grep -E"/' $RBCONFIG - perl -p -i -e 's/^.*CONFIG\["GREP"\].*$/ CONFIG["GREP"] = "grep"/' $RBCONFIG + perl -p -i -e 's/^.*CONFIG\["INSTALL"\].*$/ CONFIG["INSTALL"] = "install -c"/' $RBCONFIG + perl -p -i -e 's/^.*CONFIG\["PKG_CONFIG"\].*$/ CONFIG["PKG_CONFIG"] = "pkg-config"/' $RBCONFIG + perl -p -i -e 's/^.*CONFIG\["MAKEDIRS"\].*$/ CONFIG["MAKEDIRS"] = "mkdir -p"/' $RBCONFIG + perl -p -i -e 's/^.*CONFIG\["MKDIR_P"\].*$/ CONFIG["MKDIR_P"] = "mkdir -p"/' $RBCONFIG + perl -p -i -e 's/^.*CONFIG\["EGREP"\].*$/ CONFIG["EGREP"] = "grep -E"/' $RBCONFIG + perl -p -i -e 's/^.*CONFIG\["GREP"\].*$/ CONFIG["GREP"] = "grep"/' $RBCONFIG # Fix mention of $_SPECSFLAG in rbconfig: perl -p -i -e "s|${_SPECSFLAG}||g" $RBCONFIG } termux_step_post_massage () { - if [ ! -f $TERMUX_PREFIX/lib/ruby/${_MAJOR_VERSION}.0/${TERMUX_HOST_PLATFORM}/readline.so ]; then - echo "Error: The readline extension was not built" - fi + if [ ! -f $TERMUX_PREFIX/lib/ruby/${_MAJOR_VERSION}.0/${TERMUX_HOST_PLATFORM}/readline.so ]; then + echo "Error: The readline extension was not built" + fi } diff --git a/packages/ruby/pty.c.patch b/packages/ruby/pty.c.patch index 1d23783cb..317d1e7be 100644 --- a/packages/ruby/pty.c.patch +++ b/packages/ruby/pty.c.patch @@ -1,12 +1,12 @@ -diff -u -r ../ruby-2.1.2/ext/pty/pty.c ./ext/pty/pty.c ---- ../ruby-2.1.2/ext/pty/pty.c 2014-02-10 12:45:14.000000000 +0100 -+++ ./ext/pty/pty.c 2014-06-27 02:17:31.936710571 +0200 -@@ -174,7 +174,7 @@ - if (pwent && pwent->pw_shell) - shellname = pwent->pw_shell; - else -- shellname = "/bin/sh"; -+ shellname = "@TERMUX_PREFIX@/bin/sh"; - } - v = rb_str_new2(shellname); - argc = 1; +diff -u -r ../ruby-2.4.0/ext/pty/pty.c ./ext/pty/pty.c +--- ../ruby-2.4.0/ext/pty/pty.c 2016-04-29 21:12:52.000000000 -0400 ++++ ./ext/pty/pty.c 2017-01-13 07:15:02.848063672 -0500 +@@ -164,7 +164,7 @@ + char errbuf[32]; + + if (argc == 0) { +- const char *shellname = "/bin/sh"; ++ const char *shellname = "@TERMUX_PREFIX@/bin/sh"; + + if ((p = getenv("SHELL")) != NULL) { + shellname = p;