From: Fredrik Fornwall Date: Sat, 14 Nov 2015 02:28:30 +0000 (-0500) Subject: Do not use /system/bin/{mkdir,install} in rbconfib X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/commitdiff_plain/f34a276b5e9a0d74944c5af6a751f3cb65f06634 Do not use /system/bin/{mkdir,install} in rbconfib Using executables in /system/bin is fragile since they may not work due to LD_LIBRARY_PATH containing libraries with the same name that the executables are linked against (but with different versions). --- diff --git a/packages/ruby/build.sh b/packages/ruby/build.sh index 4509fe94..7ff20e7e 100644 --- a/packages/ruby/build.sh +++ b/packages/ruby/build.sh @@ -2,7 +2,7 @@ TERMUX_PKG_HOMEPAGE=https://www.ruby-lang.org/ TERMUX_PKG_DESCRIPTION="Dynamic programming language with a focus on simplicity and productivity" _MAJOR_VERSION=2.2 TERMUX_PKG_VERSION=${_MAJOR_VERSION}.3 -TERMUX_PKG_BUILD_REVISION=2 +TERMUX_PKG_BUILD_REVISION=3 TERMUX_PKG_SRCURL=http://cache.ruby-lang.org/pub/ruby/${_MAJOR_VERSION}/ruby-${TERMUX_PKG_VERSION}.tar.xz # libbffi is used by the fiddle extension module: TERMUX_PKG_DEPENDS="libffi, libgmp, readline, openssl" @@ -23,14 +23,17 @@ 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}-gcc should - # be used, but we want normal gcc + # 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/arm-linux-androideabi/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 - perl -p -i -e 's@"/bin/mkdir@"/system/bin/mkdir@' $RBCONFIG - perl -p -i -e "s@/usr/bin/install@$TERMUX_PREFIX/bin/applets/install@" $RBCONFIG + + # Fix absolute paths to executables: + perl -p -i -e 's@"/bin/mkdir@"mkdir@' $RBCONFIG + perl -p -i -e "s@/usr/bin/install@install@" $RBCONFIG + # Make C++-using gems link against libgnustl_shared instead of the limited system libstdc++: perl -p -i -e 's/\(CXX\) -shared/\(CXX\) -shared -lgnustl_shared/' $RBCONFIG # Fix mention of $_SPECSFLAG in rbconfig: