0
0
Fork 0
haikuports/net-libs/nodejs/nodejs16-16.11.1.recipe

90 lines
2.2 KiB
Bash

SUMMARY="A JavaScript runtime built on Chrome's V8 Engine"
DESCRIPTION="Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. \
As an asynchronous event driven JavaScript runtime, Node is designed to build scalable \
network applications. In the following \"hello world\" example, many connections can be \
handled concurrently. Upon each connection the callback is fired, but if there is no work \
to be done, Node will sleep."
HOMEPAGE="https://nodejs.org/"
COPYRIGHT="2006-2019 The Node.js Foundation"
LICENSE="BSD (2-clause)"
REVISION="1"
SOURCE_URI="https://github.com/nodejs/node/archive/v$portVersion/nodejs-$portVersion.tar.gz"
SOURCE_DIR="node-$portVersion"
CHECKSUM_SHA256="cae2cee190c66d1c077f9284ff001b05901daf16e6bc0082fe2069f5623109cf"
PATCHES="nodejs-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
nodejs16$secondaryArchSuffix = $portVersion
cmd:node = $portVersion compat >= 16
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcares$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libexecinfo$secondaryArchSuffix
lib:libnghttp2$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libuv$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
nodejs16${secondaryArchSuffix}_devel
"
REQUIRES_devel="
nodejs16$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcares$secondaryArchSuffix >= 2.4
devel:libexecinfo$secondaryArchSuffix
devel:libnghttp2$secondaryArchSuffix >= 14.20
devel:libssl$secondaryArchSuffix >= 1.1
devel:libuv$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:find
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:python3.9
cmd:which
"
BUILD()
{
./configure --with-intl=none --dest-os=haiku \
--shared-cares --shared-libuv --shared-nghttp2 --shared-openssl \
--shared-zlib \
--prefix=$prefix --without-npm
make $jobArgs
}
INSTALL()
{
make install
mkdir -p $(dirname $docDir $includeDir $manDir)
mv $prefix/include $includeDir
mv $prefix/share/man $manDir
mv $prefix/share/doc $docDir
packageEntries devel \
$developDir
strip $prefix/bin/node
rm -rf $prefix/share
}
TEST()
{
make test-only
}