summaryrefslogtreecommitdiff
path: root/dev-lang/jerryscript/jerryscript-3.0.0.ebuild
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2025-09-08 19:08:46 -0700
committerZac Medico <zmedico@gentoo.org>2025-09-08 19:10:51 -0700
commitb5dd72e3c87c81d05afd8b35eec768b301b8d4e3 (patch)
treee4810945a77b7d6dc452ea50a67c023094753b3a /dev-lang/jerryscript/jerryscript-3.0.0.ebuild
parent247c48d6111de76f40e16b057b78af60a9fc4e9e (diff)
downloadgentoo-b5dd72e3c87c81d05afd8b35eec768b301b8d4e3.tar.gz
gentoo-b5dd72e3c87c81d05afd8b35eec768b301b8d4e3.tar.bz2
gentoo-b5dd72e3c87c81d05afd8b35eec768b301b8d4e3.zip
dev-lang/jerryscript: add 3.0.0
Closes: https://bugs.gentoo.org/962353 Bug: https://bugs.gentoo.org/795312 Bug: https://bugs.gentoo.org/905089 Bug: https://bugs.gentoo.org/918550 Signed-off-by: Zac Medico <zmedico@gentoo.org>
Diffstat (limited to 'dev-lang/jerryscript/jerryscript-3.0.0.ebuild')
-rw-r--r--dev-lang/jerryscript/jerryscript-3.0.0.ebuild74
1 files changed, 74 insertions, 0 deletions
diff --git a/dev-lang/jerryscript/jerryscript-3.0.0.ebuild b/dev-lang/jerryscript/jerryscript-3.0.0.ebuild
new file mode 100644
index 000000000000..e34151cdc98a
--- /dev/null
+++ b/dev-lang/jerryscript/jerryscript-3.0.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2021-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake python-single-r1
+
+DESCRIPTION="Ultra-lightweight JavaScript engine for the Internet of Things"
+HOMEPAGE="https://github.com/jerryscript-project/jerryscript"
+SRC_URI="https://github.com/jerryscript-project/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="debugger"
+RDEPEND="debugger? ( ${PYTHON_DEPS} )"
+BDEPEND="${RDEPEND}"
+REQUIRED_USE="debugger? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}/jerryscript-3.0.0-no-werror.patch"
+)
+
+src_prepare() {
+ find . -name CMakeLists.txt -print0 | xargs -0 sed -i \
+ -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:" \
+ -e "s:DESTINATION lib):DESTINATION $(get_libdir)):" \
+ || die
+ find . -name '*.pc.in' -print0 | xargs -0 sed -i \
+ -e "s|/lib\$|/$(get_libdir)|" \
+ || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_STRIP=OFF
+ -DJERRY_DEBUGGER=ON
+ -DJERRY_ERROR_MESSAGES=ON
+ -DJERRY_EXTERNAL_CONTEXT=ON
+ -DJERRY_LINE_INFO=ON
+ -DJERRY_LOGGING=ON
+ -DJERRY_PARSER_DUMP_BYTE_CODE=ON
+ -DJERRY_PARSER=ON
+ -DJERRY_REGEXP_DUMP_BYTE_CODE=ON
+ -DJERRY_SNAPSHOT_EXEC=ON
+ -DJERRY_SNAPSHOT_SAVE=ON
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ local jerry_debugger_dir
+ cmake_src_install
+
+ if use debugger; then
+ jerry_debugger_dir=/usr/$(get_libdir)/jerryscript/jerry-debugger
+ insinto "${jerry_debugger_dir}"
+ doins jerry-debugger/*.py
+ python_optimize "${ED}${jerry_debugger_dir}"
+
+ cat <<-EOF > "${T}/jerry-debugger"
+ #!/usr/bin/python
+ import sys
+ sys.path.insert(0, "${EPREFIX}${jerry_debugger_dir}")
+ with open("${jerry_debugger_dir}/jerry_client.py") as f:
+ exec(f.read())
+ EOF
+
+ python_doscript "${T}"/jerry-debugger
+ fi
+}