@ai-ecoverse/wasix-python 3.14.2-18 → 3.14.2-19
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 +24 -4
- package/THIRD-PARTY-NOTICES.md +3444 -6
- package/bin/python.wasm +0 -0
- package/lib/libpython3.14.a +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,9 +4,9 @@ CPython 3.14 for slicc WASIX (`commands` `python` / `python3`).
|
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
|
-
- PIE dynamic-main (`dylink.0`) on wasix-sysroot 2025.9.30-
|
|
7
|
+
- PIE dynamic-main (`dylink.0`) on wasix-sysroot 2025.9.30-28's `sysroot-ehpic` (legacy wasm EH), SOABI `cpython-314-wasm32-wasix`; native side modules (py-numpy, py-scipy, py-pandas, …) load by `dlopen`
|
|
8
8
|
- **File modes** (3.14.2-12, on slicc-kernel ≥ 1.35.1; older kernels keep the no-op modes): `os.umask`, `open()`/`os.mkdir` create modes, `os.chmod`, `tempfile.mkstemp` 600 / `mkdtemp` 700, pip console scripts 755
|
|
9
|
-
- Built in: `ssl`/`hashlib` (OpenSSL 3.5.9, `@ai-ecoverse/wasix-openssl`), `zlib` 1.3.1, `bz2`, `lzma` (xz 5.8.4), `sqlite3` (3.
|
|
9
|
+
- Built in: `ssl`/`hashlib` (OpenSSL 3.5.9, `@ai-ecoverse/wasix-openssl`), `zlib` 1.3.1, `bz2`, `lzma` (xz 5.8.4), `sqlite3` (3.54.0; FTS5, JSON, math, R*Tree; no WAL, no extensions), `readline` 8.3 (ncurses 6.5 terminfo compiled in: xterm, screen, tmux, vt100, linux), `ctypes` / `_ctypes` (wasix-org/libffi; needs slicc-kernel#306 step 1 for `call_dynamic` + `closure_{allocate,free}`), `mmap`, `fcntl`, `termios`, `resource`, `pwd`, `grp`, `select`
|
|
10
10
|
- No `fork`/`vfork`; `subprocess` via `os.posix_spawn` (`proc_spawn2`/`3`)
|
|
11
11
|
- `os.getuid()`/`getgid()`/`getgroups()` and `pwd`/`grp` come from slicc-kernel's process credentials and its `/etc/passwd`/`/etc/group` (3.14.2-13, wasix-sysroot -20; slicc-kernel ≥ 1.44.0, no fallback: ids are -1 on older kernels). Root is uid 0 with home `/root`.
|
|
12
12
|
- Advisory file locks (`flock`, `fcntl` F_SETLK*, `lockf`) are no-ops (Emscripten parity)
|
|
@@ -18,6 +18,18 @@ 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-19 (wasix-sysroot -28):
|
|
22
|
+
- signal masks are real: `signal.pthread_sigmask` blocks and unblocks
|
|
23
|
+
through slicc-kernel (≥ 1.88.0), a blocked signal stays pending
|
|
24
|
+
(`signal.sigpending()`) without running its handler or interrupting
|
|
25
|
+
`time.sleep`, and its handler runs once when it is unblocked. Up to
|
|
26
|
+
3.14.2-18 `pthread_sigmask` raised `OSError(0, 'Error')`. Kernels
|
|
27
|
+
before 1.88.0 take wasix-sysroot -28's ENOSYS fallback (its README).
|
|
28
|
+
`signal.sigtimedwait`/`sigwaitinfo`/`sigwait` raise ENOSYS (slicc-kernel#520);
|
|
29
|
+
- `sqlite3` (3.54.0 since this release, 3.53.4 before) keeps its compile options; `PRAGMA compile_options` adds `MAX_SCHEMA=10000000`;
|
|
30
|
+
- `THIRD-PARTY-NOTICES.md` carries the licence text of every statically
|
|
31
|
+
linked component (see the license paragraph below).
|
|
32
|
+
|
|
21
33
|
Since 3.14.2-18:
|
|
22
34
|
- `ctypes.CDLL(None)` has no `fork` (nor `_Fork`, `__wasi_proc_fork`, …):
|
|
23
35
|
python.wasm no longer exports them (homescoop#296). In 3.14.2-17 calling
|
|
@@ -106,8 +118,16 @@ Since 3.14.2-14 (wasix-sysroot -21):
|
|
|
106
118
|
a byte), and `os.get_terminal_size` and `isatty` answer per descriptor
|
|
107
119
|
(slicc-kernel ≥ 1.48.0; older kernels keep the previous behaviour).
|
|
108
120
|
|
|
109
|
-
The license is `PSF-2.0 AND GPL-3.0-or-later`, because GNU Readline
|
|
110
|
-
|
|
121
|
+
The license is `PSF-2.0 AND GPL-3.0-or-later`, because GNU Readline
|
|
122
|
+
(GPL-3.0-or-later) is linked statically: `bin/python.wasm` as a whole is a
|
|
123
|
+
combined work distributed under the GPL-3.0-or-later. CPython's PSF-2.0 and
|
|
124
|
+
the other linked components' licences are GPL-compatible. If you redistribute
|
|
125
|
+
`python.wasm`, or an application that bundles it, the GPL-3.0's terms apply to
|
|
126
|
+
it: redistributors pass on the Corresponding Source, which is the homescoop
|
|
127
|
+
repository at the release's commit plus the sha256-pinned upstream archives
|
|
128
|
+
its recipe lists; homescoop keeps those available. Since 3.14.2-19,
|
|
129
|
+
`THIRD-PARTY-NOTICES.md` has every linked component's licence text, not just a
|
|
130
|
+
table. Since 3.14.2-13, `time.tzset()` exists and honours POSIX `TZ` rules.
|
|
111
131
|
The sysconfig records (`_sysconfigdata*`, `_sysconfig_vars*.json`) carry no
|
|
112
132
|
build-machine paths, host compilers or private stub archives.
|
|
113
133
|
|