X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/d53dc64470906af49b9a6a47c88077ffc34c89eb..73d77d8ac7562cd897c84c6cbcadc6346cd6dc27:/packages/nodejs/build.sh diff --git a/packages/nodejs/build.sh b/packages/nodejs/build.sh index dd2f7c13..444792f1 100644 --- a/packages/nodejs/build.sh +++ b/packages/nodejs/build.sh @@ -1,42 +1,41 @@ -TERMUX_PKG_HOMEPAGE=http://nodejs.org/ +TERMUX_PKG_HOMEPAGE=https://nodejs.org/ TERMUX_PKG_DESCRIPTION="Platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications" -TERMUX_PKG_VERSION=4.2.3 -TERMUX_PKG_SRCURL=https://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-libuv" -TERMUX_PKG_DEPENDS="openssl, libuv" +TERMUX_PKG_VERSION=8.9.3 +TERMUX_PKG_SHA256=748ddb3baa6b85e6a56e38aacd066586e7581952f84a92bc8152248a9be6b2da +TERMUX_PKG_SRCURL=https://nodejs.org/dist/v${TERMUX_PKG_VERSION}/node-v${TERMUX_PKG_VERSION}.tar.xz +# Note that we do not use a shared libuv to avoid an issue with the Android +# linker, which does not use symbols of linked shared libraries when resolving +# symbols on dlopen(). See https://github.com/termux/termux-packages/issues/462. +TERMUX_PKG_DEPENDS="openssl, 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_PKG_CONFLICTS="nodejs-current" termux_step_configure () { - #XXX: node.js build does not handle already installed headers - # https://github.com/nodejs/node/issues/2637 - # So we remove them here and restore afterwards. - rm -Rf $TERMUX_PKG_CACHEDIR/gtest-include-dir $TERMUX_PKG_CACHEDIR/ares-includes - test -d $TERMUX_PREFIX/include/gtest && - mv $TERMUX_PREFIX/include/gtest $TERMUX_PKG_CACHEDIR/gtest-include-dir - test -f $TERMUX_PREFIX/include/ares.h && - mkdir $TERMUX_PKG_CACHEDIR/ares-includes/ && - mv $TERMUX_PREFIX/include/ares* $TERMUX_PKG_CACHEDIR/ares-includes/ - if [ $TERMUX_ARCH = "arm" ]; then - TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --dest-cpu=arm" + DEST_CPU="arm" elif [ $TERMUX_ARCH = "i686" ]; then - TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --dest-cpu=ia32" + DEST_CPU="ia32" elif [ $TERMUX_ARCH = "aarch64" ]; then - TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --dest-cpu=arm64" + DEST_CPU="arm64" elif [ $TERMUX_ARCH = "x86_64" ]; then - TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --dest-cpu=x64" + DEST_CPU="x64" else - echo "Unsupported arch: $TERMUX_ARCH" - exit 1 + termux_error_exit "Unsupported arch '$TERMUX_ARCH'" fi - ./configure --prefix=$TERMUX_PREFIX ${TERMUX_PKG_EXTRA_CONFIGURE_ARGS} -} + export GYP_DEFINES="host_os=linux" -termux_step_post_massage () { - test -d $TERMUX_PKG_CACHEDIR/gtest-include-dir && - mv $TERMUX_PKG_CACHEDIR/gtest-include-dir $TERMUX_PREFIX/include/gtest - test -d $TERMUX_PKG_CACHEDIR/ares-includes && - mv $TERMUX_PKG_CACHEDIR/ares-includes/* $TERMUX_PREFIX/include/ + # See note above TERMUX_PKG_DEPENDS why we do not use a shared libuv. + ./configure \ + --prefix=$TERMUX_PREFIX \ + --dest-cpu=$DEST_CPU \ + --dest-os=android \ + --shared-cares \ + --shared-openssl \ + --shared-zlib \ + --without-inspector \ + --without-intl \ + --without-snapshot \ + --cross-compiling }