X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/cdf33bce04a62288d2f19958c4336ee8eeeec4b5..382cfb780ca9a40f80e3932544bd32aeccb66e5a:/packages/nodejs/build.sh diff --git a/packages/nodejs/build.sh b/packages/nodejs/build.sh index e0877fb0..9789145b 100644 --- a/packages/nodejs/build.sh +++ b/packages/nodejs/build.sh @@ -1,29 +1,40 @@ TERMUX_PKG_HOMEPAGE=http://nodejs.org/ TERMUX_PKG_DESCRIPTION="Platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications" -TERMUX_PKG_VERSION=0.12.5 -TERMUX_PKG_SRCURL=http://nodejs.org/dist/v${TERMUX_PKG_VERSION}/node-v${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--dest-os=android --shared-openssl --shared-zlib --shared-cares --shared-libuv --without-snapshot" -TERMUX_PKG_DEPENDS="c-ares, openssl, libuv" +TERMUX_PKG_VERSION=6.3.1 +TERMUX_PKG_SRCURL=https://nodejs.org/dist/v${TERMUX_PKG_VERSION}/node-v${TERMUX_PKG_VERSION}.tar.gz +TERMUX_PKG_DEPENDS="openssl, libuv, libgnustl, c-ares" TERMUX_PKG_RM_AFTER_INSTALL="lib/node_modules/npm/html lib/node_modules/npm/make.bat share/systemtap lib/dtrace" TERMUX_PKG_BUILD_IN_SRC=yes termux_step_configure () { + # https://github.com/nodejs/build/issues/266: "V8 can handle cross compiling of + # snapshots if the {CC,CXX}_host variables are defined, by compiling the + # mksnapshot executable with the host compiler". But this currently fails + # due to the host build picking up targets flags. + export CC_host=gcc + export CXX_host=g++ + + local _EXTRA_CONFIGURE_ARGS="" if [ $TERMUX_ARCH = "arm" ]; then - TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --dest-cpu=arm" + DEST_CPU="arm" + _EXTRA_CONFIGURE_ARGS=" --with-arm-float-abi=hard --with-arm-fpu=neon" elif [ $TERMUX_ARCH = "i686" ]; then - TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --dest-cpu=ia32" + DEST_CPU="ia32" + elif [ $TERMUX_ARCH = "aarch64" ]; then + DEST_CPU="arm64" + elif [ $TERMUX_ARCH = "x86_64" ]; then + DEST_CPU="x64" else echo "Unsupported arch: $TERMUX_ARCH" exit 1 fi - # Some v8 code checks for ANDROID instead of __ANDROID__: - export CFLAGS="$CFLAGS -DANDROID=1" - export CXXFLAGS="$CXXFLAGS -DANDROID=1" - # The cc_macros() function in configure executes $CC to look at features such as armv7 and neon: - export CC="$CC $CFLAGS" - # To avoid build process trying to use linux-specific flock which breaks build on mac: - export LINK=$CXX - env $TERMUX_PKG_SRCDIR/configure \ + + ./configure \ --prefix=$TERMUX_PREFIX \ - ${TERMUX_PKG_EXTRA_CONFIGURE_ARGS} + --dest-cpu=$DEST_CPU \ + --dest-os=android \ + --shared-openssl --shared-zlib --shared-libuv --shared-cares \ + --without-snapshot \ + --without-intl \ + $_EXTRA_CONFIGURE_ARGS }