dev-libs/quickjs-ng: new package, add 0.11.0

A small and embeddable JavaScript engine. Out two existing build systems
in the project, CMake and meson, I opted to use meson, because that has
better supports for tests.

quickjs-ng is also a dependency of www-nginx/njs.

Signed-off-by: Zurab Kvachadze <zurabid2016@gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/44669
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Zurab Kvachadze
2025-10-31 20:03:12 +01:00
committed by Sam James
parent 8e692a77fa
commit 71ff86d1b6
3 changed files with 70 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST quickjs-ng-0.11.0.tar.gz 784539 BLAKE2B da4151ddb0000d17196a4cdc495e1cf7a4d4d82aa8e8447e66afa2ae1e8985fb262554336263f1e7c5fe6b4db5e35a3ba4f26c4e8f32d517253b030ca2f717c0 SHA512 c8b1920bab954f5fa891956f330875478e5b17161d24f8b96db05108d61354dab0621f2a36c5ae421ffbfb9817d90c7a62fe1bd4f84ad149dd2d569c356a2788

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>zurabid2016@gmail.com</email>
<name>Zurab Kvachadze</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<longdescription>
QuickJS is a small and embeddable JavaScript engine. It aims to support the latest
ECMAScript specification.
QuickJS-ng is a fork of the original QuickJS project by Fabrice Bellard and Charlie
Gordon, after it went dormant, with the intent of reigniting its development.
</longdescription>
<upstream>
<bugs-to>https://github.com/quickjs-ng/quickjs/issues</bugs-to>
<remote-id type="github">quickjs-ng/quickjs</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,46 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit meson
DESCRIPTION="QuickJS, the Next Generation: a mighty JavaScript engine"
HOMEPAGE="https://github.com/quickjs-ng/quickjs"
SRC_URI="
https://github.com/quickjs-ng/quickjs/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
"
MY_PN="quickjs"
S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="MIT"
SLOT="0/$(ver_cut 1)"
KEYWORDS="~amd64"
IUSE="test"
RESTRICT="!test? ( test )"
src_prepare() {
# meson.build is a bit behind: specifies version 0.10.1 when it should be
# 0.11.0.
sed -E -i "s/^\s*version: '.*'/version: '${PV}'/" meson.build || die "sed failed"
default
}
src_configure() {
local emesonargs=(
-Ddefault_library=shared # default_library=static hardcoded.
-Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
"$(meson_feature test tests)"
-Dlibc=true
-Dexamples=disabled
)
meson_src_configure
}
src_install() {
# Source code files under examples.
docompress -x "/usr/share/doc/${PF}/examples"
meson_src_install
}