Files
BMLFS/build-scripts/nodejs.build
2020-10-24 11:08:04 -05:00

68 lines
2.2 KiB
Bash

#! /bin/bash
# Node.js
# Source: https://nodejs.org/dist/v12.19.0/node-v12.19.0.tar.xz
# Source: https://nodejs.org/dist/v14.13.1/node-v14.13.1.tar.gz (void)
#
# $BUILD = Directory to temporarily install
# $PKGS = Directory to store built packages
#
# DEPS
# Required: Python2, Which
# Recommended: c-ares, ICU, libuv, nghttp2
# Optional: http-parser, NPM
#
# Node.js does not compile with LibreSSL. Use the bundled openssl.
patch -Np1 -i ../patches/nodejs-alpine/dont-run-gyp-files-for-bundled-deps.patch
patch -Np1 -i ../patches/nodejs-alpine/link-with-libatomic-on-mips32.patch
patch -Np1 -i ../patches/nodejs-alpine/unbundle-uv.patch
#patch -Np0 -i ../patches/nodejs-void/shared-uv.patch
#patch -Np0 -i ../patches/nodejs-void/python3.9.patch
case $(uname -m) in
i686) export LDFLAGS="-Wl,--no-keep-memory" ;;
esac &&
export CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" &&
export CXXFLAGS="$CXXFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" &&
#rm -rvf deps/brotli deps/cares deps/openssl deps/uv deps/zlib &&
rm -rvf deps/brotli deps/cares deps/uv deps/zlib &&
python3 configure.py --prefix=/usr \
--shared-brotli \
--shared-zlib \
--shared-libuv \
--shared-cares \
--shared-nghttp2 &&
read -p "Compile?" && make BUILDTYPE=Release -j2 &&
sudo -S make DESTDIR=$BUILD install &&
unset CXXFLAGS CFLAGS LDFLAGS &&
cd $BUILD && sudo -S mkdir -v ${BUILD}/install &&
cat > /tmp/slack-desc << "EOF"
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
nodejs: nodejs (JavaScript runtime)
nodejs:
nodejs: Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript
nodejs: engine.
nodejs:
nodejs:
nodejs:
nodejs: https://nodejs.org/
nodejs:
nodejs:
nodejs:
EOF
sudo -S mv -v /tmp/slack-desc install/ &&
sudo -S makepkg -l y -c n $PKGS/nodejs-12.19.0-$(uname -m)-mlfs.txz &&
sudo -S rm -rf ${BUILD}/*