* [gentoo-commits] repo/gentoo:master commit in: dev-lang/jerryscript/files/, dev-lang/jerryscript/
@ 2021-05-23 22:37 Zac Medico
0 siblings, 0 replies; 2+ messages in thread
From: Zac Medico @ 2021-05-23 22:37 UTC (permalink / raw
To: gentoo-commits
commit: 6437ce06b88dbebbcd19d5afade4f8499b49c611
Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sun May 23 22:20:55 2021 +0000
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sun May 23 22:36:59 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6437ce06
dev-lang/jerryscript: 2.4.0-r1 revbump to support USE=debugger
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>
.../files/jerryscript-2.4.0-python3.patch | 88 ++++++++++++++++++++++
...pt-2.4.0.ebuild => jerryscript-2.4.0-r1.ebuild} | 30 +++++++-
dev-lang/jerryscript/metadata.xml | 3 +
3 files changed, 119 insertions(+), 2 deletions(-)
diff --git a/dev-lang/jerryscript/files/jerryscript-2.4.0-python3.patch b/dev-lang/jerryscript/files/jerryscript-2.4.0-python3.patch
new file mode 100644
index 00000000000..4a358ac5ce9
--- /dev/null
+++ b/dev-lang/jerryscript/files/jerryscript-2.4.0-python3.patch
@@ -0,0 +1,88 @@
+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..b877a159 100644
+--- a/jerry-debugger/jerry_client_main.py
++++ b/jerry-debugger/jerry_client_main.py
+@@ -151,2 +151,12 @@ def arguments_parse():
+
++if sys.version_info.major >= 3:
++ _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):
+@@ -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,
+@@ -905,7 +915,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 +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")
+
+diff --git a/jerry-debugger/jerry_client_websocket.py b/jerry-debugger/jerry_client_websocket.py
+index fe2c761a..07c75e53 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,13 @@ WEBSOCKET_FIN_BIT = 0x80
+
++
++if sys.version_info.major >= 3:
++ _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 +106,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.ebuild b/dev-lang/jerryscript/jerryscript-2.4.0-r1.ebuild
similarity index 58%
rename from dev-lang/jerryscript/jerryscript-2.4.0.ebuild
rename to dev-lang/jerryscript/jerryscript-2.4.0-r1.ebuild
index d3949f02d59..369fd92e37c 100644
--- a/dev-lang/jerryscript/jerryscript-2.4.0.ebuild
+++ b/dev-lang/jerryscript/jerryscript-2.4.0-r1.ebuild
@@ -3,7 +3,8 @@
EAPI=7
-inherit cmake
+PYTHON_COMPAT=(python3_{7,8,9})
+inherit cmake python-any-r1
DESCRIPTION="Ultra-lightweight JavaScript engine for the Internet of Things"
HOMEPAGE="https://github.com/jerryscript-project/jerryscript"
@@ -12,13 +13,22 @@ SRC_URI="https://github.com/jerryscript-project/${PN}/archive/refs/tags/v${PV}.t
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
-IUSE=""
+IUSE="debugger"
+RDEPEND="debugger? ( ${PYTHON_DEPS} )"
+BDEPEND="${RDEPEND}"
+
+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
}
@@ -40,5 +50,21 @@ 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
}
diff --git a/dev-lang/jerryscript/metadata.xml b/dev-lang/jerryscript/metadata.xml
index 0c73846f82d..a062390ea35 100644
--- a/dev-lang/jerryscript/metadata.xml
+++ b/dev-lang/jerryscript/metadata.xml
@@ -9,4 +9,7 @@
<bugs-to>https://github.com/jerryscript-project/jerryscript/issues</bugs-to>
<remote-id type="github">jerryscript-project/jerryscript</remote-id>
</upstream>
+ <use>
+ <flag name="debugger">Install jerry-debugger</flag>
+ </use>
</pkgmetadata>
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/jerryscript/files/, dev-lang/jerryscript/
@ 2022-01-02 0:28 Zac Medico
0 siblings, 0 replies; 2+ messages in thread
From: Zac Medico @ 2022-01-02 0:28 UTC (permalink / raw
To: gentoo-commits
commit: d96caa26a673684a877edb0aceaa0c0b03739171
Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 2 00:27:30 2022 +0000
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sun Jan 2 00:28:06 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d96caa26
dev-lang/jerryscript: Remove old ebuild
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>
.../files/jerryscript-2.4.0-python3.patch | 128 ---------------------
dev-lang/jerryscript/jerryscript-2.4.0-r3.ebuild | 71 ------------
2 files changed, 199 deletions(-)
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-r3.ebuild
deleted file mode 100644
index 618eb5259a29..000000000000
--- a/dev-lang/jerryscript/jerryscript-2.4.0-r3.ebuild
+++ /dev/null
@@ -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
-}
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-01-02 0:28 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-02 0:28 [gentoo-commits] repo/gentoo:master commit in: dev-lang/jerryscript/files/, dev-lang/jerryscript/ Zac Medico
-- strict thread matches above, loose matches on Subject: below --
2021-05-23 22:37 Zac Medico
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox