Commit | Line | Data |
---|---|---|
a61e7e45 FF |
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" | |
41c85492 FF |
3 | TERMUX_PKG_VERSION=8.4.0 |
4 | TERMUX_PKG_SHA256=641a15fa822710ef2dc99793fec48d2a8ef75de0040b86568563d4ab296137ef | |
a61e7e45 | 5 | TERMUX_PKG_SRCURL=https://nodejs.org/dist/v${TERMUX_PKG_VERSION}/node-v${TERMUX_PKG_VERSION}.tar.gz |
a61e7e45 FF |
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 | |
53a2231f | 12 | TERMUX_PKG_CONFLICTS="nodejs" |
a61e7e45 FF |
13 | |
14 | termux_step_configure () { | |
15 | # See https://github.com/nodejs/build/issues/266 about enabling snapshots | |
16 | # when cross compiling. We use {CC,CXX}_host for compilation of code to | |
17 | # be run on the build maching (snapshots when cross compiling are | |
18 | # generated using a CPU emulator provided by v8) and {CC,CXX} for the | |
19 | # cross compile. We unset flags such as CFLAGS as they would affect | |
20 | # both the host and cross compiled build. | |
21 | # Remaining issue to be solved before enabling snapshots by removing | |
22 | # the --without-snapshot flag is that pkg-config picks up cross compilation | |
23 | # flags which breaks the host build. | |
53a2231f FF |
24 | export CC_host="gcc -pthread" |
25 | export CXX_host="g++ -pthread" | |
26 | export CC="$CC $CFLAGS $CPPFLAGS $LDFLAGS" | |
27 | export CXX="$CXX $CXXFLAGS $CPPFLAGS $LDFLAGS" | |
28 | export CFLAGS="-Os" | |
29 | export CXXFLAGS="-Os" | |
30 | unset CPPFLAGS LDFLAGS | |
a61e7e45 FF |
31 | |
32 | if [ $TERMUX_ARCH = "arm" ]; then | |
33 | DEST_CPU="arm" | |
34 | elif [ $TERMUX_ARCH = "i686" ]; then | |
35 | DEST_CPU="ia32" | |
36 | elif [ $TERMUX_ARCH = "aarch64" ]; then | |
37 | DEST_CPU="arm64" | |
38 | elif [ $TERMUX_ARCH = "x86_64" ]; then | |
39 | DEST_CPU="x64" | |
40 | else | |
6a3364bf | 41 | termux_error_exit "Unsupported arch '$TERMUX_ARCH'" |
a61e7e45 FF |
42 | fi |
43 | ||
53a2231f FF |
44 | export GYP_DEFINES="host_os=linux" |
45 | ||
a61e7e45 FF |
46 | # See note above TERMUX_PKG_DEPENDS why we do not use a shared libuv. |
47 | ./configure \ | |
48 | --prefix=$TERMUX_PREFIX \ | |
49 | --dest-cpu=$DEST_CPU \ | |
50 | --dest-os=android \ | |
51 | --shared-cares \ | |
52 | --shared-openssl \ | |
53 | --shared-zlib \ | |
54 | --without-inspector \ | |
55 | --without-intl \ | |
53a2231f | 56 | --cross-compiling |
a61e7e45 | 57 | } |