Files
haikuports/net-libs/nodejs/nodejs20-20.9.0.recipe
2024-02-21 12:50:02 +01:00

98 lines
2.5 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="2"
SOURCE_URI="https://github.com/nodejs/node/archive/v$portVersion/nodejs-$portVersion.tar.gz"
SOURCE_DIR="node-$portVersion"
CHECKSUM_SHA256="97fa9283e5472d4252794c930ad59270e4851cc523fe5469f37f65a344f5f2e2"
PATCHES="nodejs-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
nodejs20$secondaryArchSuffix = $portVersion
cmd:corepack = $portVersion compat >= 16
cmd:node = $portVersion compat >= 16
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcares$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libexecinfo$secondaryArchSuffix
lib:libicudata$secondaryArchSuffix
lib:libicui18n$secondaryArchSuffix
lib:libicuuc$secondaryArchSuffix
lib:libnghttp2$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libuv$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
nodejs20${secondaryArchSuffix}_devel
"
REQUIRES_devel="
nodejs20$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcares$secondaryArchSuffix
devel:libexecinfo$secondaryArchSuffix
devel:libicudata$secondaryArchSuffix >= 74
devel:libicui18n$secondaryArchSuffix >= 74
devel:libicuuc$secondaryArchSuffix >= 74
devel:libnghttp2$secondaryArchSuffix
devel:libssl$secondaryArchSuffix
devel:libuv$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:find
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:which
"
BUILD()
{
./configure --with-intl=system-icu --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
}