Files
termux-packages/packages/nodejs/build.sh
termux-pacman-bot 12a96e0e0a root-packages/aircrack-ng&&root-packages/nethogs&&packages/aapt&&packages/cgal&&packages/libgraphite&&packages/libgrpc&&packages/libhdf5&&packages/libheif&&packages/libhtmlcxx&&packages/libical&&packages/libicu&&packages/libimtui&&packages/libkokkos&&packages/libmariadbcpp&&packages/cgdb&&packages/libmediainfo&&packages/libmodplug&&packages/libmosquitto&&packages/libmuparser&&packages/libmusicbrainz&&packages/libobjc2&&packages/libopencc&&packages/libp8-platform&&packages/libpangomm-1.4&&packages/libpangomm-2.48&&packages/clamav&&packages/libplist&&packages/libpoco&&packages/libprotobuf-c&&packages/libprotobuf&&packages/libre2&&packages/librime&&packages/librocksdb&&packages/librtmidi&&packages/libsigc++-2.0&&packages/libsigc++-3.0&&packages/clpeak&&packages/libspdlog&&packages/libspice-server&&packages/libt3widget&&packages/libtbb&&packages/libtiff&&packages/libtiledb&&packages/libtinyxml2&&packages/libtvision&&packages/libuchardet&&packages/libupscaledb&&packages/clvk&&packages/libvigra&&packages/libvips&&packages/libwebrtc-audio-processing&&packages/libxapian&&packages/libyaml-cpp&&packages/libzen&&packages/libzita-convolver&&packages/libzmq&&packages/libzopfli&&packages/libzthread&&packages/cmake&&packages/libzxing-cpp&&packages/lilypond&&packages/llbuild&&packages/ltrace&&packages/lzip&&packages/mailsync&&packages/mapserver&&packages/mariadb&&packages/matplotlib&&packages/matterbridge&&packages/coinor-clp&&packages/mediainfo&&packages/megacmd&&packages/mold&&packages/moria&&packages/mosh-git&&packages/mosh&&packages/mu&&packages/muchsync&&packages/ncmpcpp&&packages/ncpamixer&&packages/crypto-monitor&&packages/newsboat&&packages/ngspice&&packages/ninja&&packages/nlopt&&packages/nmap&&packages/nodejs-lts&&packages/nodejs&&packages/notmuch&&packages/nsis&&packages/nsnake&&packages/cryptopp&&packages/nzbget&&packages/ocrad&&packages/oorexx&&packages/openbabel&&packages/opencv&&packages/openethereum&&packages/outfieldr&&packages/p7zip&&packages/panda3d&&packages/par2&&packages/curseofwar&&packages/patchelf&&packages/pdf2djvu&&packages/pdfgrep&&packages/pika&&packages/play-audio&&packages/plzip&&packages/polyml&&packages/poppler&&packages/portaudio&&packages/proj&&packages/android-tools&&packages/ddrescue&&packages/proxmark3-git&&packages/proxmark3&&packages/python-apt&&packages/qalc&&packages/qemu-system-x86-64-headless&&packages/qpdf&&packages/qrsspig&&packages/quick-lint-js&&packages/ragel&&packages/ravencoin&&packages/djvulibre&&packages/re2c&&packages/rig&&packages/rtorrent&&packages/sdcv&&packages/snapcast-server&&packages/squid&&packages/ssdb&&packages/ssdeep&&packages/sshping&&packages/stuntman&&packages/docopt&&packages/swig&&packages/taglib&&packages/tasksh&&packages/taskwarrior&&packages/teckit&&packages/termux-elf-cleaner&&packages/tesseract&&packages/texlive-bin&&packages/tilde&&packages/timewarrior&&packages/doxygen&&packages/timg&&packages/tsmuxer&&packages/unar&&packages/unrar&&packages/utfdecode&&packages/vamp-plugin-sdk&&packages/vde2&&packages/vera&&packages/vlc&&packages/vobsub2srt&&packages/emscripten&&packages/vtm&&packages/vtutils&&packages/vulkan-tools&&packages/wasmedge&&packages/wiz&&packages/woff2&&packages/yosys&&packages/zig&&packages/zipios&&packages/zstd&&packages/enblend&&packages/enchant&&packages/et&&packages/exiv2&&packages/fact++&&packages/aria2&&packages/fex&&packages/fish&&packages/flatbuffers&&packages/frei0r-plugins&&packages/frobtads&&packages/fte&&packages/game-music-emu&&packages/gdb&&packages/gegl&&packages/gengetopt&&packages/aspell&&packages/gettext&&packages/gexiv2&&packages/gflags&&packages/git-crypt&&packages/gluelang&&packages/gmic&&packages/gnucap&&packages/gnuchess&&packages/go-findimagedupes&&packages/google-glog&&packages/atomicparsley&&packages/googletest&&packages/gperf&&packages/graphicsmagick&&packages/groff&&packages/harfbuzz&&packages/hashdeep&&packages/html2text&&packages/hugo&&packages/hunspell&&packages/id3lib&&packages/bastet&&packages/id3ted&&packages/id3v2&&packages/innoextract&&packages/iverilog&&packages/jbig2enc&&packages/jigdo&&packages/jsoncpp&&packages/kakoune&&packages/keystone&&packages/kphp&&packages/binutils&&packages/ladspa-sdk&&packages/ldc&&packages/ledger&&packages/leveldb&&packages/lfortran&&packages/lftp&&packages/lgogdownloader&&packages/libaom&&packages/libbs2b&&packages/libcaca&&packages/boost&&packages/libcairomm-1.0&&packages/libcairomm-1.16&&packages/libcec&&packages/libcln&&packages/libcoinor-osi&&packages/libcoinor-utils&&packages/libconfig&&packages/libdb&&packages/libde265&&packages/libdevil&&packages/cccc&&packages/libduckdb&&packages/libfinalcut&&packages/libflac&&packages/libflann&&packages/libftxui&&packages/libgeos&&packages/libglibmm-2.4&&packages/libglibmm-2.68&&packages/libgmp&&packages/libgnustep-base&&x11-packages/audacity&&x11-packages/glu&&x11-packages/gtkmm2&&x11-packages/gtkmm3&&x11-packages/gtkmm4&&x11-packages/hugin&&x11-packages/inkscape&&x11-packages/kid3&&x11-packages/lenmus&&x11-packages/libatkmm-1.6&&x11-packages/love10&&x11-packages/bochs&&x11-packages/mesa&&x11-packages/ocs-url&&x11-packages/olivia&&x11-packages/polybar&&x11-packages/polyphone&&x11-packages/pong2&&x11-packages/poppler-qt&&x11-packages/pulseeffects&&x11-packages/qcustomplot&&x11-packages/qemu-system-x86-64&&x11-packages/cuse&&x11-packages/qt5-qtbase&&x11-packages/scite&&x11-packages/sfml&&x11-packages/texstudio&&x11-packages/the-powder-toy&&x11-packages/tigervnc&&x11-packages/tint2&&x11-packages/tsmuxergui&&x11-packages/vlc-qt&&x11-packages/webkit2gtk&&x11-packages/dosbox&&x11-packages/wxmaxima&&x11-packages/xournalpp&&x11-packages/fltk&&x11-packages/fluxbox&&x11-packages/fontforge-gtk&&x11-packages/geany&&x11-packages/gimp
2022-08-13 10:39:53 +00:00

95 lines
3.3 KiB
Bash

TERMUX_PKG_HOMEPAGE=https://nodejs.org/
TERMUX_PKG_DESCRIPTION="Open Source, cross-platform JavaScript runtime environment"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="Yaksh Bariya <yakshbari4@gmail.com>"
TERMUX_PKG_VERSION=18.7.0
TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://nodejs.org/dist/v${TERMUX_PKG_VERSION}/node-v${TERMUX_PKG_VERSION}.tar.xz
TERMUX_PKG_SHA256=8834a33c92dfe6ba8903e6715caeaa25dff4657e703c54cd06ec113493e2c3c2
# 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="libc++, openssl, c-ares, libicu, zlib"
TERMUX_PKG_CONFLICTS="nodejs-lts, nodejs-current"
TERMUX_PKG_BREAKS="nodejs-dev"
TERMUX_PKG_REPLACES="nodejs-current, nodejs-dev"
TERMUX_PKG_SUGGESTS="clang, make, pkg-config, python"
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=true
TERMUX_PKG_HOSTBUILD=true
termux_step_post_get_source() {
# Prevent caching of host build:
rm -Rf $TERMUX_PKG_HOSTBUILD_DIR
}
termux_step_host_build() {
local ICU_VERSION=71.1
local ICU_TAR=icu4c-${ICU_VERSION//./_}-src.tgz
local ICU_DOWNLOAD=https://github.com/unicode-org/icu/releases/download/release-${ICU_VERSION//./-}/$ICU_TAR
termux_download \
$ICU_DOWNLOAD\
$TERMUX_PKG_CACHEDIR/$ICU_TAR \
67a7e6e51f61faf1306b6935333e13b2c48abd8da6d2f46ce6adca24b1e21ebf
tar xf $TERMUX_PKG_CACHEDIR/$ICU_TAR
cd icu/source
if [ "$TERMUX_ARCH_BITS" = 32 ]; then
./configure --prefix $TERMUX_PKG_HOSTBUILD_DIR/icu-installed \
--disable-samples \
--disable-tests \
--build=i686-pc-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"
else
./configure --prefix $TERMUX_PKG_HOSTBUILD_DIR/icu-installed \
--disable-samples \
--disable-tests
fi
make -j $TERMUX_MAKE_PROCESSES install
}
termux_step_configure() {
local DEST_CPU
if [ $TERMUX_ARCH = "arm" ]; then
DEST_CPU="arm"
elif [ $TERMUX_ARCH = "i686" ]; then
DEST_CPU="ia32"
elif [ $TERMUX_ARCH = "aarch64" ]; then
DEST_CPU="arm64"
elif [ $TERMUX_ARCH = "x86_64" ]; then
DEST_CPU="x64"
else
termux_error_exit "Unsupported arch '$TERMUX_ARCH'"
fi
export GYP_DEFINES="host_os=linux"
export CC_host=gcc
export CXX_host=g++
export LINK_host=g++
LDFLAGS+=" -ldl"
# 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 \
--with-intl=system-icu \
--cross-compiling
export LD_LIBRARY_PATH=$TERMUX_PKG_HOSTBUILD_DIR/icu-installed/lib
perl -p -i -e "s@LIBS := \\$\\(LIBS\\)@LIBS := -L$TERMUX_PKG_HOSTBUILD_DIR/icu-installed/lib -lpthread -licui18n -licuuc -licudata -ldl -lz@" \
$TERMUX_PKG_SRCDIR/out/tools/v8_gypfiles/mksnapshot.host.mk \
$TERMUX_PKG_SRCDIR/out/tools/v8_gypfiles/torque.host.mk \
$TERMUX_PKG_SRCDIR/out/tools/v8_gypfiles/bytecode_builtins_list_generator.host.mk \
$TERMUX_PKG_SRCDIR/out/tools/v8_gypfiles/v8_libbase.host.mk \
$TERMUX_PKG_SRCDIR/out/tools/v8_gypfiles/gen-regexp-special-case.host.mk
}
termux_step_create_debscripts() {
cat <<- EOF > ./postinst
#!$TERMUX_PREFIX/bin/sh
npm config set foreground-scripts true
EOF
}