Install this version:
emerge -a =dev-libs/njs-9999
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =dev-libs/njs-9999
Or alternatively:
emerge --autounmask-write -a =dev-libs/njs-9999
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 9999 | 8 | 0 |
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit git-r3 toolchain-funcs
DESCRIPTION="NGINX JavaScript"
HOMEPAGE="https://github.com/nginx/njs"
EGIT_REPO_URI="https://github.com/nginx/${PN}.git"
LICENSE="BSD-2"
SLOT="0"
IUSE="debug static-libs test tools +ssl +xml +zlib"
REQUIRED_USE="test? ( tools )"
RESTRICT="!test? ( test )"
RDEPEND="!www-nginx/njs[tools]
dev-libs/libpcre2:0=
dev-libs/quickjs-ng:0=
tools? ( dev-libs/libedit:= )
ssl? ( dev-libs/openssl:0= )
xml? ( dev-libs/libxml2:2= )
zlib? ( virtual/zlib:0= )"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig
test? ( dev-tcltk/expect )"
PATCHES=( "${FILESDIR}/${PN}"-0.9.9-configure.patch
"${FILESDIR}/${PN}"-0.9.9-no-werror.patch
"${FILESDIR}/${PN}"-0.9.9-shared-lib.patch )
src_prepare() {
default
# auto/make currently hardcodes njs.pc as a build-tree pc file
sed -e "s#@PREFIX@#${EPREFIX}/usr#g" \
-e "s#@LIBDIR@#${EPREFIX}\${prefix}/$(get_libdir)#g" \
-e "s#@CFLAGS@#-I${EPREFIX}/usr/include#g" \
-e "s#@VERSION@#${PV}#g" \
-e "s#@EXTRA_LIBS@#-lm -lpcre2-8 -lqjs $(use ssl -lcrypto) $(use xml -lxml2) $(use zlib -lz)#g" \
src/njs.pc.in > njs.pc || die "sed failed"
}
src_configure() {
econf --ar="$(tc-getAR)" \
--cc="$(tc-getCC)" \
--ld-opt="${LDFLAGS}" \
"$(usex debug --debug=YES --no-debug)" \
"$(usex ssl --openssl --no-openssl)" \
"$(usex xml --libxml2 --no-libxml2)" \
"$(usex zlib --zlib --no-zlib)"
}
src_compile() {
emake libnjs.so
use static-libs && emake libnjs
use tools || use test && emake njs
}
src_test() {
# test262 fails in JS_FreeRuntime() assertions of QuickJS build
emake lib_test shell_test unit_test
}
src_install() {
einstalldocs
doheader build/njs_auto_config.h src/*.h
dolib.so build/libnjs.so{,."${PV}"}
use static-libs && dolib.a build/libnjs.a
use tools && dobin build/njs
insinto /usr/"$(get_libdir)"/pkgconfig
doins njs.pc
}
Manage flags for this package:
euse -i <flag> -p dev-libs/njs |
euse -E <flag> -p dev-libs/njs |
euse -D <flag> -p dev-libs/njs
!www-nginx/njs[tools] dev-libs/libpcre2:0= dev-libs/quickjs-ng:0= tools? ( dev-libs/libedit:= ) ssl? ( dev-libs/openssl:0= ) xml? ( dev-libs/libxml2:2= ) zlib? ( virtual/zlib:0= )
!www-nginx/njs[tools] dev-libs/libpcre2:0= dev-libs/quickjs-ng:0= tools? ( dev-libs/libedit:= ) ssl? ( dev-libs/openssl:0= ) xml? ( dev-libs/libxml2:2= ) zlib? ( virtual/zlib:0= )
virtual/pkgconfig test? ( dev-tcltk/expect )