mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-lang/jerryscript: Remove old ebuild
Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Zac Medico <zmedico@gentoo.org>
This commit is contained in:
@@ -1,128 +0,0 @@
|
||||
From 3f725c9a6e62048dcc7e1d0dd0f9c3e8d2e092f6 Mon Sep 17 00:00:00 2001
|
||||
From: Zac Medico <zmedico@gmail.com>
|
||||
Date: Sun, 23 May 2021 13:46:30 -0700
|
||||
Subject: [PATCH] Python debugger support for Python 3 (in addition to Python 2)
|
||||
|
||||
https://github.com/jerryscript-project/jerryscript/pull/4678
|
||||
|
||||
- Added ord builtin compatibility to pass through int arguments
|
||||
- Fixed JerryDebugger _parse_source method to decode bytes as utf8 strings
|
||||
- Fixed WebSocket send_message method to use packed_data[0:1] bytes slice
|
||||
|
||||
JerryScript-DCO-1.0-Signed-off-by: Zac Medico <zmedico@gmail.com>
|
||||
---
|
||||
jerry-debugger/jerry_client_main.py | 26 ++++++++++++++++--------
|
||||
jerry-debugger/jerry_client_websocket.py | 14 ++++++++++++-
|
||||
2 files changed, 31 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/jerry-debugger/jerry_client_main.py b/jerry-debugger/jerry_client_main.py
|
||||
index e65d0e14..b465955f 100644
|
||||
--- a/jerry-debugger/jerry_client_main.py
|
||||
+++ b/jerry-debugger/jerry_client_main.py
|
||||
@@ -151,2 +151,13 @@ def arguments_parse():
|
||||
|
||||
+if sys.version_info.major >= 3:
|
||||
+ # pylint: disable=invalid-name
|
||||
+ _ord_orig = ord
|
||||
+ def _ord_compat(c):
|
||||
+ if isinstance(c, int):
|
||||
+ return c
|
||||
+ return _ord_orig(c)
|
||||
+ # pylint: disable=redefined-builtin
|
||||
+ ord = _ord_compat
|
||||
+
|
||||
+
|
||||
class JerryBreakpoint(object):
|
||||
@@ -563,2 +574,3 @@ class JerryDebugger(object):
|
||||
def _send_string(self, args, message_type, index=0):
|
||||
+ args = args.encode("utf8")
|
||||
|
||||
@@ -810,3 +822,3 @@ class JerryDebugger(object):
|
||||
elif buffer_type in [JERRY_DEBUGGER_SCOPE_VARIABLES, JERRY_DEBUGGER_SCOPE_VARIABLES_END]:
|
||||
- self.scope_vars += "".join(data[1:])
|
||||
+ self.scope_vars += "".join(data[1:].decode("utf8"))
|
||||
|
||||
@@ -866,5 +878,5 @@ class JerryDebugger(object):
|
||||
def _parse_source(self, data):
|
||||
- source_code = ""
|
||||
- source_code_name = ""
|
||||
- function_name = ""
|
||||
+ source_code = b""
|
||||
+ source_code_name = b""
|
||||
+ function_name = b""
|
||||
stack = [{"line": 1,
|
||||
@@ -905,7 +917,7 @@ class JerryDebugger(object):
|
||||
|
||||
- stack.append({"source": source_code,
|
||||
- "source_name": source_code_name,
|
||||
+ stack.append({"source": source_code.decode("utf8"),
|
||||
+ "source_name": source_code_name.decode("utf8"),
|
||||
"line": position[0],
|
||||
"column": position[1],
|
||||
- "name": function_name,
|
||||
+ "name": function_name.decode("utf8"),
|
||||
"lines": [],
|
||||
@@ -939,4 +951,4 @@ class JerryDebugger(object):
|
||||
if not stack:
|
||||
- func_desc["source"] = source_code
|
||||
- func_desc["source_name"] = source_code_name
|
||||
+ func_desc["source"] = source_code.decode("utf8")
|
||||
+ func_desc["source_name"] = source_code_name.decode("utf8")
|
||||
|
||||
@@ -1153,4 +1165,4 @@ class JerryDebugger(object):
|
||||
message = self.current_out + message
|
||||
- lines = message.split("\n")
|
||||
- self.current_out = lines.pop()
|
||||
+ lines = message.decode("utf8").split("\n")
|
||||
+ self.current_out = lines.pop().encode("utf8")
|
||||
|
||||
@@ -1162,4 +1174,4 @@ class JerryDebugger(object):
|
||||
message = self.current_log + message
|
||||
- lines = message.split("\n")
|
||||
- self.current_log = lines.pop()
|
||||
+ lines = message.decode("utf8").split("\n")
|
||||
+ self.current_log = lines.pop().encode("utf8")
|
||||
|
||||
@@ -1171,7 +1183,7 @@ class JerryDebugger(object):
|
||||
if subtype == JERRY_DEBUGGER_OUTPUT_WARNING:
|
||||
- return "%swarning: %s%s" % (self.yellow, self.nocolor, message)
|
||||
+ return "%swarning: %s%s" % (self.yellow, self.nocolor, message.decode("utf8"))
|
||||
elif subtype == JERRY_DEBUGGER_OUTPUT_ERROR:
|
||||
- return "%serr: %s%s" % (self.red, self.nocolor, message)
|
||||
+ return "%serr: %s%s" % (self.red, self.nocolor, message.decode("utf8"))
|
||||
elif subtype == JERRY_DEBUGGER_OUTPUT_TRACE:
|
||||
- return "%strace: %s%s" % (self.blue, self.nocolor, message)
|
||||
+ return "%strace: %s%s" % (self.blue, self.nocolor, message.decode("utf8"))
|
||||
|
||||
@@ -1180,2 +1192,3 @@ class JerryDebugger(object):
|
||||
|
||||
+ message = message.decode("utf8")
|
||||
if not message.endswith("\n"):
|
||||
diff --git a/jerry-debugger/jerry_client_websocket.py b/jerry-debugger/jerry_client_websocket.py
|
||||
index fe2c761a..9c755966 100644
|
||||
--- a/jerry-debugger/jerry_client_websocket.py
|
||||
+++ b/jerry-debugger/jerry_client_websocket.py
|
||||
@@ -17,2 +17,3 @@
|
||||
import struct
|
||||
+import sys
|
||||
|
||||
@@ -22,2 +23,14 @@ WEBSOCKET_FIN_BIT = 0x80
|
||||
|
||||
+
|
||||
+if sys.version_info.major >= 3:
|
||||
+ # pylint: disable=invalid-name
|
||||
+ _ord_orig = ord
|
||||
+ def _ord_compat(c):
|
||||
+ if isinstance(c, int):
|
||||
+ return c
|
||||
+ return _ord_orig(c)
|
||||
+ # pylint: disable=redefined-builtin
|
||||
+ ord = _ord_compat
|
||||
+
|
||||
+
|
||||
class WebSocket(object):
|
||||
@@ -94,3 +107,3 @@ class WebSocket(object):
|
||||
WEBSOCKET_BINARY_FRAME | WEBSOCKET_FIN_BIT,
|
||||
- WEBSOCKET_FIN_BIT + struct.unpack(byte_order + "B", packed_data[0])[0],
|
||||
+ WEBSOCKET_FIN_BIT + struct.unpack(byte_order + "B", packed_data[0:1])[0],
|
||||
0) + packed_data[1:]
|
||||
@@ -1,71 +0,0 @@
|
||||
# Copyright 2021-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=(python3_{7,8,9,10})
|
||||
inherit cmake python-any-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}"
|
||||
RESTRICT+=" test"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/jerryscript-2.4.0-python3.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"
|
||||
#!/bin/sh
|
||||
export PYTHONPATH=${EPREFIX}${jerry_debugger_dir}
|
||||
exec python "${jerry_debugger_dir}/jerry_client.py" "\$@"
|
||||
EOF
|
||||
|
||||
dobin "${T}"/jerry-debugger
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user