summaryrefslogtreecommitdiff
path: root/dev-lang/jerryscript
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-01-04 01:27:12 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-01-04 01:27:12 +0000
commit3517852e3b8a68d1e997770fc0650c5053bafc6c (patch)
tree44068672445b1418489aed82de58df3c470289e7 /dev-lang/jerryscript
parent0f15659d48c193027158492acb726297501202c5 (diff)
gentoo resync : 04.01.2022
Diffstat (limited to 'dev-lang/jerryscript')
-rw-r--r--dev-lang/jerryscript/Manifest4
-rw-r--r--dev-lang/jerryscript/files/jerryscript-2.4.0-python3-r4.patch236
-rw-r--r--dev-lang/jerryscript/files/jerryscript-2.4.0-python3.patch128
-rw-r--r--dev-lang/jerryscript/jerryscript-2.4.0-r4.ebuild (renamed from dev-lang/jerryscript/jerryscript-2.4.0-r3.ebuild)19
4 files changed, 249 insertions, 138 deletions
diff --git a/dev-lang/jerryscript/Manifest b/dev-lang/jerryscript/Manifest
index 347d36f81fc4..05cfc0a5c593 100644
--- a/dev-lang/jerryscript/Manifest
+++ b/dev-lang/jerryscript/Manifest
@@ -1,4 +1,4 @@
-AUX jerryscript-2.4.0-python3.patch 5463 BLAKE2B ad2fdaf83a2be714194c3ee6e6703211792a8a1dbe4bbb13914f37e50c9ade6cbad915236fae3a74eb2bfed22a640c1daf0958570c2e792450dd5d59a2e5eacc SHA512 445dabde9b8c5c48b6ceb3663b234a0a7f26c2f310a4a0673bdb7301409cd6e76dbedc590bbd1a27814021e8917a7ec55487070b39c2508d061c156e408063a7
+AUX jerryscript-2.4.0-python3-r4.patch 9837 BLAKE2B 5758af36551b8ea75fe8719bf6bfaa41fc03cb32012af61b1747a1d7464038e2fb5ddd5523bd894dbd7e23d399f5e330f163e87d6b1d9a485f393706ef74e98f SHA512 5e490949df94120e077dab74998275b02d0edca63288f1358499981a664ddeff8b2947837cf3bec356072ce40634b0945bcedb9ae689f430ba943dd5cbedd1ca
DIST jerryscript-2.4.0.tar.gz 2802799 BLAKE2B 18a3f71e7d3e2fc43772cb94aa3b0d4d28d72c6cd174eb0195f09283c5da5140ef85e86c6ed7a82e672724563549294c26d870b55c8bd9d0a92251b1002c612a SHA512 e96e6c6a2207ff869474801a1f8bbd3ce453d4076e558736ebf6962ccab08540f57cf932ec43bcd40429e21f1c6453d77874dd0a467d91a15d8357257533c1ea
-EBUILD jerryscript-2.4.0-r3.ebuild 1740 BLAKE2B 519e56171297f4044fb34a40cc0a17580ff1dcb83cc9bb34e3e50aece4b2457a78daa01dfb84ff839f860257fc02325c981ed7db605195f0405c654ec5b3fa35 SHA512 f19ad96f5260bfa2eb4b69644efcd47b21438d5fcead63ae18b2f96e46de7ec5b963fed5f057024baf4e7e791be2b185d5458bd0f7cadc47666c0ad1329bdbc4
+EBUILD jerryscript-2.4.0-r4.ebuild 1861 BLAKE2B c8c4adb196c14fae623ead03f4d63170cb98b73b465fe917d613610132ae27873037c8ff90b7b1a3810c9622de3dd8f6704332297d8411caeb775438411d75ec SHA512 12ea0a863fe85a9868a6695fe318535bbb1990c38c50ba1d5e5e2c0bf100390b9accce5f4681350db97ce141a559b895ed83b2961df4fdac40a26226ad8726bb
MISC metadata.xml 489 BLAKE2B 7bfef37a187374e80e86e4015d2501d7b105f19e2c33e2ccbfd0c216da6d01abfe42816890d27f5691d81103365e87d8c74ca439cc2266e8e0ee4b37e6d9fff5 SHA512 ca4df019071b344c7326998bb7c5e1cd533a540f955c85b20bd1166c80941de134fe6d2772f97ac9dd72dd4ea45123ca7c12af2c714d5b144c3ca6b236a5aba5
diff --git a/dev-lang/jerryscript/files/jerryscript-2.4.0-python3-r4.patch b/dev-lang/jerryscript/files/jerryscript-2.4.0-python3-r4.patch
new file mode 100644
index 000000000000..92198f3901d4
--- /dev/null
+++ b/dev-lang/jerryscript/files/jerryscript-2.4.0-python3-r4.patch
@@ -0,0 +1,236 @@
+From 22d8b904d85e548aa06d2d665aeaaee510a2435a 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)
+
+- Added safe_ord compatibility to pass through int arguments
+- Fixed JerryDebugger to decode bytes as utf8 strings when necessary
+- 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 | 82 ++++++++++++++----------
+ jerry-debugger/jerry_client_rawpacket.py | 13 +++-
+ jerry-debugger/jerry_client_websocket.py | 15 ++++-
+ 3 files changed, 74 insertions(+), 36 deletions(-)
+
+diff --git a/jerry-debugger/jerry_client_main.py b/jerry-debugger/jerry_client_main.py
+index e65d0e14..ee3ffd26 100644
+--- a/jerry-debugger/jerry_client_main.py
++++ b/jerry-debugger/jerry_client_main.py
+@@ -151,2 +151,11 @@ def arguments_parse():
+
++if sys.version_info.major >= 3:
++ def safe_ord(c):
++ if isinstance(c, int):
++ return c
++ return ord(c)
++else:
++ safe_ord = ord
++
++
+ class JerryBreakpoint(object):
+@@ -309,8 +318,8 @@ class JerryDebugger(object):
+
+- if len(result) != config_size or ord(result[0]) != JERRY_DEBUGGER_CONFIGURATION:
++ if len(result) != config_size or safe_ord(result[0]) != JERRY_DEBUGGER_CONFIGURATION:
+ raise Exception("Unexpected configuration")
+
+- self.little_endian = ord(result[1]) & JERRY_DEBUGGER_LITTLE_ENDIAN
+- self.max_message_size = ord(result[6])
+- self.cp_size = ord(result[7])
++ self.little_endian = safe_ord(result[1]) & JERRY_DEBUGGER_LITTLE_ENDIAN
++ self.max_message_size = safe_ord(result[6])
++ self.cp_size = safe_ord(result[7])
+
+@@ -402,3 +411,3 @@ class JerryDebugger(object):
+ if args != "pending":
+- for i in self.active_breakpoint_list.values():
++ for i in list(self.active_breakpoint_list.values()):
+ breakpoint = self.active_breakpoint_list[i.active_index]
+@@ -563,2 +572,3 @@ class JerryDebugger(object):
+ def _send_string(self, args, message_type, index=0):
++ args = args.encode("utf8")
+
+@@ -686,3 +696,3 @@ class JerryDebugger(object):
+
+- buffer_type = ord(data[0])
++ buffer_type = safe_ord(data[0])
+ buffer_size = len(data) -1
+@@ -740,6 +750,6 @@ class JerryDebugger(object):
+ elif buffer_type == JERRY_DEBUGGER_EXCEPTION_STR:
+- self.exception_string += data[1:]
++ self.exception_string += data[1:].decode("utf8")
+
+ elif buffer_type == JERRY_DEBUGGER_EXCEPTION_STR_END:
+- self.exception_string += data[1:]
++ self.exception_string += data[1:].decode("utf8")
+
+@@ -810,3 +820,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 +876,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,
+@@ -881,3 +891,3 @@ class JerryDebugger(object):
+
+- buffer_type = ord(data[0])
++ buffer_type = safe_ord(data[0])
+ buffer_size = len(data) - 1
+@@ -905,10 +915,10 @@ 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": [],
+ "offsets": []})
+- function_name = ""
++ function_name = b""
+
+@@ -939,4 +949,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")
+
+@@ -991,3 +1001,3 @@ class JerryDebugger(object):
+
+- for breakpoint_index, breakpoint in bp_list.items():
++ for breakpoint_index, breakpoint in list(bp_list.items()):
+ source_lines = 0
+@@ -1134,3 +1144,3 @@ class JerryDebugger(object):
+ JERRY_DEBUGGER_OUTPUT_RESULT_END]:
+- subtype = ord(data[-1])
++ subtype = safe_ord(data[-1])
+ message += data[1:-1]
+@@ -1141,3 +1151,3 @@ class JerryDebugger(object):
+ data = self.channel.get_message(True)
+- buffer_type = ord(data[0])
++ buffer_type = safe_ord(data[0])
+ # Checks if the next frame would be an invalid data frame.
+@@ -1153,4 +1163,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 +1172,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")
+
+@@ -1167,2 +1177,3 @@ class JerryDebugger(object):
+
++ message = message.decode("utf8")
+ if not message.endswith("\n"):
+@@ -1176,2 +1187,5 @@ class JerryDebugger(object):
+ return "%strace: %s%s" % (self.blue, self.nocolor, message)
++ else:
++ message = message.decode("utf8")
++
+
+@@ -1195,3 +1209,3 @@ class JerryDebugger(object):
+ # Process name
+- name_length = ord(self.scope_vars[buff_pos:buff_pos + 1])
++ name_length = safe_ord(self.scope_vars[buff_pos:buff_pos + 1])
+ buff_pos += 1
+@@ -1201,3 +1215,3 @@ class JerryDebugger(object):
+ # Process type
+- value_type = ord(self.scope_vars[buff_pos:buff_pos + 1])
++ value_type = safe_ord(self.scope_vars[buff_pos:buff_pos + 1])
+
+@@ -1205,3 +1219,3 @@ class JerryDebugger(object):
+
+- value_length = ord(self.scope_vars[buff_pos:buff_pos + 1])
++ value_length = safe_ord(self.scope_vars[buff_pos:buff_pos + 1])
+ buff_pos += 1
+@@ -1236,12 +1250,12 @@ class JerryDebugger(object):
+ for i, level in enumerate(self.scope_data):
+- if ord(level) == JERRY_DEBUGGER_SCOPE_WITH:
++ if safe_ord(level) == JERRY_DEBUGGER_SCOPE_WITH:
+ table.append([str(i), 'with'])
+- elif ord(level) == JERRY_DEBUGGER_SCOPE_GLOBAL:
++ elif safe_ord(level) == JERRY_DEBUGGER_SCOPE_GLOBAL:
+ table.append([str(i), 'global'])
+- elif ord(level) == JERRY_DEBUGGER_SCOPE_NON_CLOSURE:
++ elif safe_ord(level) == JERRY_DEBUGGER_SCOPE_NON_CLOSURE:
+ # Currently it is only marks the catch closure.
+ table.append([str(i), 'catch'])
+- elif ord(level) == JERRY_DEBUGGER_SCOPE_LOCAL:
++ elif safe_ord(level) == JERRY_DEBUGGER_SCOPE_LOCAL:
+ table.append([str(i), 'local'])
+- elif ord(level) == JERRY_DEBUGGER_SCOPE_CLOSURE:
++ elif safe_ord(level) == JERRY_DEBUGGER_SCOPE_CLOSURE:
+ table.append([str(i), 'closure'])
+diff --git a/jerry-debugger/jerry_client_rawpacket.py b/jerry-debugger/jerry_client_rawpacket.py
+index 5c3304ed..275be83c 100644
+--- a/jerry-debugger/jerry_client_rawpacket.py
++++ b/jerry-debugger/jerry_client_rawpacket.py
+@@ -17,2 +17,3 @@
+ import struct
++import sys
+
+@@ -20,2 +21,12 @@ MAX_BUFFER_SIZE = 256
+
++
++if sys.version_info.major >= 3:
++ def safe_ord(c):
++ if isinstance(c, int):
++ return c
++ return ord(c)
++else:
++ safe_ord = ord
++
++
+ class RawPacket(object):
+@@ -72,3 +83,3 @@ class RawPacket(object):
+ if len(self.data_buffer) >= 1:
+- size = ord(self.data_buffer[0])
++ size = safe_ord(self.data_buffer[0])
+ if size == 0:
+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:]
diff --git a/dev-lang/jerryscript/files/jerryscript-2.4.0-python3.patch b/dev-lang/jerryscript/files/jerryscript-2.4.0-python3.patch
deleted file mode 100644
index a7046b4b6453..000000000000
--- a/dev-lang/jerryscript/files/jerryscript-2.4.0-python3.patch
+++ /dev/null
@@ -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:]
diff --git a/dev-lang/jerryscript/jerryscript-2.4.0-r3.ebuild b/dev-lang/jerryscript/jerryscript-2.4.0-r4.ebuild
index f7f6592c87ba..bc0002817e91 100644
--- a/dev-lang/jerryscript/jerryscript-2.4.0-r3.ebuild
+++ b/dev-lang/jerryscript/jerryscript-2.4.0-r4.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021 Gentoo Authors
+# Copyright 2021-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=(python3_{7,8,9})
-inherit cmake python-any-r1
+PYTHON_COMPAT=(python3_{7,8,9,10})
+inherit cmake python-single-r1
DESCRIPTION="Ultra-lightweight JavaScript engine for the Internet of Things"
HOMEPAGE="https://github.com/jerryscript-project/jerryscript"
@@ -16,10 +16,11 @@ KEYWORDS="~amd64"
IUSE="debugger"
RDEPEND="debugger? ( ${PYTHON_DEPS} )"
BDEPEND="${RDEPEND}"
+REQUIRED_USE="debugger? ( ${PYTHON_REQUIRED_USE} )"
RESTRICT+=" test"
PATCHES=(
- "${FILESDIR}/jerryscript-2.4.0-python3.patch"
+ "${FILESDIR}/jerryscript-2.4.0-python3-r4.patch"
)
src_prepare() {
@@ -61,11 +62,13 @@ src_install() {
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" "\$@"
+ #!/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
- dobin "${T}"/jerry-debugger
+ python_doscript "${T}"/jerry-debugger
fi
}