@ai-ecoverse/wasix-python 3.14.2-15 → 3.14.2-16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -0
- package/THIRD-PARTY-NOTICES.md +2 -2
- package/bin/python.wasm +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -18,6 +18,24 @@ CPython 3.14 for slicc WASIX (`commands` `python` / `python3`).
|
|
|
18
18
|
|
|
19
19
|
Since 3.14.2-12 the package is cross-built from source in CI (`build.sh`); see `THIRD-PARTY-NOTICES.md` for the statically linked libraries.
|
|
20
20
|
|
|
21
|
+
Since 3.14.2-16 (wasix-sysroot -22: the `slicc.libc` marker, no exported
|
|
22
|
+
itimer helper):
|
|
23
|
+
- ctypes calls variadic C functions (`printf`, `snprintf`, `sscanf`,
|
|
24
|
+
`open(path, flags, mode)`, `fcntl`, `ioctl`, …): our libffi passes the
|
|
25
|
+
variadic arguments the way the wasm32 C ABI does
|
|
26
|
+
(`patches/libffi-wasix-varargs.patch`). As on Apple arm64, set `argtypes` to
|
|
27
|
+
the **fixed** parameters (e.g. `[c_char_p]` for `printf`) and pass the rest
|
|
28
|
+
as typed ctypes values (`c_int`, `c_double`, …); without `argtypes` every
|
|
29
|
+
argument is taken as fixed, which is wrong for a variadic function on wasm32.
|
|
30
|
+
Pass `c_double` for `%f`: ctypes does not promote, and a variadic `c_float`
|
|
31
|
+
raises `RuntimeError: ffi_prep_cif_var failed` (libffi rejects it, as on
|
|
32
|
+
every platform).
|
|
33
|
+
- Signals during blocking calls follow PEP 475 on slicc-kernel ≥ 1.53.3, which
|
|
34
|
+
answers -22-marked programs with EINTR: a signal whose handler returns does
|
|
35
|
+
not shorten `time.sleep`/`select`/`poll`, and ^C raises `KeyboardInterrupt`
|
|
36
|
+
at once (`cert/signals.mjs`).
|
|
37
|
+
3.14.2-15 could not call them at all ("ffi_prep_cif_var failed").
|
|
38
|
+
|
|
21
39
|
Since 3.14.2-15:
|
|
22
40
|
- `ctypes` / `_ctypes` (wasix-org/libffi) — needs slicc-kernel ≥ 1.51.0 (#306 /
|
|
23
41
|
#316: `call_dynamic`, `closure_{allocate,prepare,free}`, POSIX `dlopen(NULL)` /
|
package/THIRD-PARTY-NOTICES.md
CHANGED
|
@@ -12,8 +12,8 @@ bin/python.wasm statically links:
|
|
|
12
12
|
| SQLite | 3.53.4 | public domain | sqlite.org |
|
|
13
13
|
| GNU Readline | 8.3 | GPL-3.0-or-later | gnu.org/software/readline |
|
|
14
14
|
| ncurses (tinfo) | 6.5 | X11 | invisible-island.net/ncurses |
|
|
15
|
-
| libffi | 3.5.1 | MIT | github.com/wasix-org/libffi |
|
|
16
|
-
| wasix-libc | wasix-sysroot 2025.9.30-
|
|
15
|
+
| libffi | 3.5.1 (wasix-org 09cbf7d + patches/libffi-wasix-varargs.patch) | MIT | github.com/wasix-org/libffi |
|
|
16
|
+
| wasix-libc | wasix-sysroot 2025.9.30-22 | Apache-2.0 WITH LLVM-exception, MIT | @ai-ecoverse/wasix-sysroot |
|
|
17
17
|
| libc++, libc++abi, libunwind | wasix-libc v2026-07-03.1 sysroot-ehpic | Apache-2.0 WITH LLVM-exception | github.com/wasix-org/wasix-libc |
|
|
18
18
|
|
|
19
19
|
lib/python3.14/site-packages/pip is pip (MIT), from CPython's ensurepip bundle.
|
package/bin/python.wasm
CHANGED
|
Binary file
|
package/package.json
CHANGED