| 1 | TERMUX_PKG_HOMEPAGE=https://nodejs.org/ |
| 2 | TERMUX_PKG_DESCRIPTION="Platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications" |
| 3 | TERMUX_PKG_VERSION=6.9.5 |
| 4 | TERMUX_PKG_SRCURL=https://nodejs.org/dist/v${TERMUX_PKG_VERSION}/node-v${TERMUX_PKG_VERSION}.tar.gz |
| 5 | TERMUX_PKG_SHA256=f7e9ab702c5d1f5a3521199c04cc670fda3cf4b0e48548b09ac7ac874ccb504a |
| 6 | # Note that we do not use a shared libuv to avoid an issue with the Android |
| 7 | # linker, which does not use symbols of linked shared libraries when resolving |
| 8 | # symbols on dlopen(). See https://github.com/termux/termux-packages/issues/462. |
| 9 | TERMUX_PKG_DEPENDS="openssl, c-ares" |
| 10 | TERMUX_PKG_RM_AFTER_INSTALL="lib/node_modules/npm/html lib/node_modules/npm/make.bat share/systemtap lib/dtrace" |
| 11 | TERMUX_PKG_BUILD_IN_SRC=yes |
| 12 | |
| 13 | termux_step_configure () { |
| 14 | # See https://github.com/nodejs/build/issues/266 about enabling snapshots |
| 15 | # when cross compiling. We use {CC,CXX}_host for compilation of code to |
| 16 | # be run on the build maching (snapshots when cross compiling are |
| 17 | # generated using a CPU emulator provided by v8) and {CC,CXX} for the |
| 18 | # cross compile. We unset flags such as CFLAGS as they would affect |
| 19 | # both the host and cross compiled build. |
| 20 | # Remaining issue to be solved before enabling snapshots by removing |
| 21 | # the --without-snapshot flag is that pkg-config picks up cross compilation |
| 22 | # flags which breaks the host build. |
| 23 | #export CC_host="gcc -pthread" |
| 24 | #export CXX_host="g++ -pthread" |
| 25 | #export CC="$CC $CFLAGS $CPPFLAGS $LDFLAGS" |
| 26 | #export CXX="$CXX $CXXFLAGS $CPPFLAGS $LDFLAGS" |
| 27 | #export CFLAGS="-Os" |
| 28 | #export CXXFLAGS="-Os" |
| 29 | #unset CPPFLAGS LDFLAGS |
| 30 | |
| 31 | if [ $TERMUX_ARCH = "arm" ]; then |
| 32 | DEST_CPU="arm" |
| 33 | elif [ $TERMUX_ARCH = "i686" ]; then |
| 34 | DEST_CPU="ia32" |
| 35 | elif [ $TERMUX_ARCH = "aarch64" ]; then |
| 36 | DEST_CPU="arm64" |
| 37 | elif [ $TERMUX_ARCH = "x86_64" ]; then |
| 38 | DEST_CPU="x64" |
| 39 | else |
| 40 | echo "Unsupported arch: $TERMUX_ARCH" |
| 41 | exit 1 |
| 42 | fi |
| 43 | |
| 44 | # See note above TERMUX_PKG_DEPENDS why we do not use a shared libuv. |
| 45 | ./configure \ |
| 46 | --prefix=$TERMUX_PREFIX \ |
| 47 | --dest-cpu=$DEST_CPU \ |
| 48 | --dest-os=android \ |
| 49 | --shared-cares \ |
| 50 | --shared-openssl \ |
| 51 | --shared-zlib \ |
| 52 | --without-inspector \ |
| 53 | --without-intl \ |
| 54 | --without-snapshot |
| 55 | } |