From 7237eed42fd580295a7b3201eb4652994228f349 Mon Sep 17 00:00:00 2001 From: "riseproject-dev[bot]" <330740410+riseproject-dev[bot]@users.noreply.github.com> Date: Thu, 22 Oct 2026 12:09:16 +0000 Subject: [PATCH 1/3] pyjnius: Add versions 1.8.0, 1.9.0 Signed-off-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com> --- docs/packages/pyjnius.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/packages/pyjnius.yaml b/docs/packages/pyjnius.yaml index ce9e82057832..effcdcdab415 100644 --- a/docs/packages/pyjnius.yaml +++ b/docs/packages/pyjnius.yaml @@ -14,3 +14,5 @@ versions: sha256: 3bf5ee52e57bc18b6ac6e9b56c74e033413bba95455b6280b0744e0655b7b3f0 - filename: pyjnius-1.7.0-cp314-cp314t-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl sha256: c5718bd952e193830626ba0884e54f418fa7efaaf2cf7bfc90803b56859d4f25 +- version: 1.8.0 +- version: 1.9.0 From 0bccaec42dd0c18ee5272ed02b5fe5c01a675dd8 Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Fri, 23 Oct 2026 16:51:29 +0800 Subject: [PATCH 2/3] pyjnius: carry the JVM stdout warning test patch to 1.8.0 --- ...M-stdout-warning-in-test_jvm_options.patch | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 patches/pyjnius/1.8.0/0001-tests-tolerate-a-riscv64-JVM-stdout-warning-in-test_jvm_options.patch diff --git a/patches/pyjnius/1.8.0/0001-tests-tolerate-a-riscv64-JVM-stdout-warning-in-test_jvm_options.patch b/patches/pyjnius/1.8.0/0001-tests-tolerate-a-riscv64-JVM-stdout-warning-in-test_jvm_options.patch new file mode 100644 index 000000000000..244ac0b0be07 --- /dev/null +++ b/patches/pyjnius/1.8.0/0001-tests-tolerate-a-riscv64-JVM-stdout-warning-in-test_jvm_options.patch @@ -0,0 +1,39 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ludovic Henry +Date: Wed, 30 Sep 2026 00:00:00 +0000 +Subject: [PATCH] tests: tolerate a riscv64 JVM stdout warning in + test_jvm_options + +test_jvm_options spawns a subprocess that imports jnius (starting the JVM) +and then json.dumps the JVM's own input arguments straight to stdout, +which the parent process parses with json.loads(stdoutdata.decode()). + +On riscv64 the JVM itself prints a startup diagnostic to stdout before +any Python code runs: + + WARNING: Not able to assign machine() = riscv64 to a cpu value! + Using cpu = 'riscv64' instead! + +That line lands ahead of the JSON in the same stdout stream, so +json.loads sees "WARNING: ...\n[...]" and fails with +JSONDecodeError: Expecting value: line 1 column 1 (char 0), even though +the JVM started fine and the arguments round-tripped correctly. The +child's own json.dump() output is always the last line written, so +parse only that line instead of the whole stream. + +Upstream-Status: To upstream [not yet submitted; riscv64-specific JVM startup diagnostic, no reference to check it against yet] + +Signed-off-by: Ludovic Henry +--- +--- a/tests/test_jvm_options.py ++++ b/tests/test_jvm_options.py +@@ -27,5 +27,8 @@ + bufsize=-1, stdin=subprocess.PIPE, stdout=subprocess.PIPE) + stdoutdata, _ = process.communicate(json.dumps(options).encode()) + assert process.wait() == 0 +- actual_options = json.loads(stdoutdata.decode()) ++ # The JVM itself can print a startup diagnostic to stdout ahead of ++ # the child's own json.dump() output; that dump is always the last ++ # line written, so parse only it. ++ actual_options = json.loads(stdoutdata.decode().splitlines()[-1]) + assert list(sorted(options)) == list(sorted(actual_options)) From 34b50d6c1dd095c8d14782590efc020e322e6dbd Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Fri, 23 Oct 2026 16:51:34 +0800 Subject: [PATCH 3/3] pyjnius: carry the JVM stdout warning test patch to 1.9.0 --- ...M-stdout-warning-in-test_jvm_options.patch | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 patches/pyjnius/1.9.0/0001-tests-tolerate-a-riscv64-JVM-stdout-warning-in-test_jvm_options.patch diff --git a/patches/pyjnius/1.9.0/0001-tests-tolerate-a-riscv64-JVM-stdout-warning-in-test_jvm_options.patch b/patches/pyjnius/1.9.0/0001-tests-tolerate-a-riscv64-JVM-stdout-warning-in-test_jvm_options.patch new file mode 100644 index 000000000000..244ac0b0be07 --- /dev/null +++ b/patches/pyjnius/1.9.0/0001-tests-tolerate-a-riscv64-JVM-stdout-warning-in-test_jvm_options.patch @@ -0,0 +1,39 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ludovic Henry +Date: Wed, 30 Sep 2026 00:00:00 +0000 +Subject: [PATCH] tests: tolerate a riscv64 JVM stdout warning in + test_jvm_options + +test_jvm_options spawns a subprocess that imports jnius (starting the JVM) +and then json.dumps the JVM's own input arguments straight to stdout, +which the parent process parses with json.loads(stdoutdata.decode()). + +On riscv64 the JVM itself prints a startup diagnostic to stdout before +any Python code runs: + + WARNING: Not able to assign machine() = riscv64 to a cpu value! + Using cpu = 'riscv64' instead! + +That line lands ahead of the JSON in the same stdout stream, so +json.loads sees "WARNING: ...\n[...]" and fails with +JSONDecodeError: Expecting value: line 1 column 1 (char 0), even though +the JVM started fine and the arguments round-tripped correctly. The +child's own json.dump() output is always the last line written, so +parse only that line instead of the whole stream. + +Upstream-Status: To upstream [not yet submitted; riscv64-specific JVM startup diagnostic, no reference to check it against yet] + +Signed-off-by: Ludovic Henry +--- +--- a/tests/test_jvm_options.py ++++ b/tests/test_jvm_options.py +@@ -27,5 +27,8 @@ + bufsize=-1, stdin=subprocess.PIPE, stdout=subprocess.PIPE) + stdoutdata, _ = process.communicate(json.dumps(options).encode()) + assert process.wait() == 0 +- actual_options = json.loads(stdoutdata.decode()) ++ # The JVM itself can print a startup diagnostic to stdout ahead of ++ # the child's own json.dump() output; that dump is always the last ++ # line written, so parse only it. ++ actual_options = json.loads(stdoutdata.decode().splitlines()[-1]) + assert list(sorted(options)) == list(sorted(actual_options))