X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/93982adb09992eab1b804770a9ebccdd5e515fb9..7bc54734da0dafad2a66e6f04a65395dcda6cb16:/packages/nodejs/build.sh diff --git a/packages/nodejs/build.sh b/packages/nodejs/build.sh index fc824558..8abe8ff6 100644 --- a/packages/nodejs/build.sh +++ b/packages/nodejs/build.sh @@ -1,22 +1,54 @@ -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.0.0 -TERMUX_PKG_BUILD_REVISION=1 -TERMUX_PKG_SRCURL=https://nodejs.org/dist/latest/node-v${TERMUX_PKG_VERSION}.tar.xz -TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--dest-os=android --shared-openssl --shared-zlib --shared-libuv" -TERMUX_PKG_DEPENDS="openssl, libuv" +TERMUX_PKG_VERSION=6.10.2 +TERMUX_PKG_SRCURL=https://nodejs.org/dist/v${TERMUX_PKG_VERSION}/node-v${TERMUX_PKG_VERSION}.tar.gz +TERMUX_PKG_SHA256=9b897dd6604d50ae5fff25fd14b1c4035462d0598735799e0cfb4f17cb6e0d19 +# 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_step_configure () { + # See https://github.com/nodejs/build/issues/266 about enabling snapshots + # when cross compiling. We use {CC,CXX}_host for compilation of code to + # be run on the build maching (snapshots when cross compiling are + # generated using a CPU emulator provided by v8) and {CC,CXX} for the + # cross compile. We unset flags such as CFLAGS as they would affect + # both the host and cross compiled build. + # Remaining issue to be solved before enabling snapshots by removing + # the --without-snapshot flag is that pkg-config picks up cross compilation + # flags which breaks the host build. + #export CC_host="gcc -pthread" + #export CXX_host="g++ -pthread" + #export CC="$CC $CFLAGS $CPPFLAGS $LDFLAGS" + #export CXX="$CXX $CXXFLAGS $CPPFLAGS $LDFLAGS" + #export CFLAGS="-Os" + #export CXXFLAGS="-Os" + #unset CPPFLAGS LDFLAGS + 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 + DEST_CPU="arm64" + elif [ $TERMUX_ARCH = "x86_64" ]; then + 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} + # 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 }