1 # status: Does not build
2 TERMUX_PKG_HOMEPAGE
=https
://nodejs.org
/
3 TERMUX_PKG_DESCRIPTION
="Platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications"
4 TERMUX_PKG_VERSION
=8.2.1
5 TERMUX_PKG_SHA256
=66fe1379bc7daf9a16c6b5c45ab695bf1cdcfae9738d2989e940104d6b31973f
6 TERMUX_PKG_SRCURL
=https
://nodejs.org
/dist
/v
${TERMUX_PKG_VERSION}/node-v
${TERMUX_PKG_VERSION}.
tar.gz
7 # Note that we do not use a shared libuv to avoid an issue with the Android
8 # linker, which does not use symbols of linked shared libraries when resolving
9 # symbols on dlopen(). See https://github.com/termux/termux-packages/issues/462.
10 TERMUX_PKG_DEPENDS
="openssl, c-ares"
11 TERMUX_PKG_RM_AFTER_INSTALL
="lib/node_modules/npm/html lib/node_modules/npm/make.bat share/systemtap lib/dtrace"
12 TERMUX_PKG_BUILD_IN_SRC
=yes
13 TERMUX_PKG_CONFLICTS
="nodejs"
15 termux_step_configure
() {
16 # See https://github.com/nodejs/build/issues/266 about enabling snapshots
17 # when cross compiling. We use {CC,CXX}_host for compilation of code to
18 # be run on the build maching (snapshots when cross compiling are
19 # generated using a CPU emulator provided by v8) and {CC,CXX} for the
20 # cross compile. We unset flags such as CFLAGS as they would affect
21 # both the host and cross compiled build.
22 # Remaining issue to be solved before enabling snapshots by removing
23 # the --without-snapshot flag is that pkg-config picks up cross compilation
24 # flags which breaks the host build.
25 export CC_host
="gcc -pthread"
26 export CXX_host
="g++ -pthread"
27 export CC
="$CC $CFLAGS $CPPFLAGS $LDFLAGS"
28 export CXX
="$CXX $CXXFLAGS $CPPFLAGS $LDFLAGS"
31 unset CPPFLAGS LDFLAGS
33 if [ $TERMUX_ARCH = "arm" ]; then
35 elif [ $TERMUX_ARCH = "i686" ]; then
37 elif [ $TERMUX_ARCH = "aarch64" ]; then
39 elif [ $TERMUX_ARCH = "x86_64" ]; then
42 termux_error_exit
"Unsupported arch '$TERMUX_ARCH'"
45 export GYP_DEFINES
="host_os=linux"
47 # See note above TERMUX_PKG_DEPENDS why we do not use a shared libuv.
49 --prefix
=$TERMUX_PREFIX \
50 --dest-cpu
=$DEST_CPU \
59 # Remove cross-compile directories:
60 sed -i
'/usr\/include/d; /usr\/lib/d' out
/deps
/v8
/src
/mkpeephole.
host.mk
61 # The above statement causes some straggling \ in the makefile:
62 sed -i
's|-I$(srcdir)/deps/v8 \\|-I$(srcdir)/deps/v8|' out
/deps
/v8
/src
/mkpeephole.
host.mk
63 # Remove extra libraries not needed for mkpeephole:
64 sed -i
'/-lcares/d; /-lcrypto/d; /-lssl/d' out
/deps
/v8
/src
/mkpeephole.
host.mk