@ai-ecoverse/wasix-python 3.14.2-12 → 3.14.2-14
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 +15 -2
- package/THIRD-PARTY-NOTICES.md +2 -1
- package/bin/python.wasm +0 -0
- package/include/python3.14/pyconfig.h +8 -8
- package/lib/libpython3.14.a +2 -2
- package/lib/pkgconfig/python-3.14-embed.pc +1 -1
- package/lib/pkgconfig/python-3.14.pc +1 -1
- package/lib/python3.14/__pycache__/_sysconfigdata__wasi_wasm32-wasix.cpython-314.pyc +0 -0
- package/lib/python3.14/_sysconfig_vars__wasi_wasm32-wasix.json +510 -511
- package/lib/python3.14/_sysconfigdata__wasi_wasm32-wasix.py +1438 -1104
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ CPython 3.14 for slicc WASIX (`commands` `python` / `python3`).
|
|
|
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
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.53.4; FTS5, JSON, math, R*Tree; no WAL, no extensions), `readline` 8.3 (ncurses 6.5 terminfo compiled in: xterm, screen, tmux, vt100, linux), `mmap`, `fcntl`, `termios`, `resource`, `pwd`, `grp`, `select`
|
|
10
10
|
- No `fork`/`vfork`; `subprocess` via `os.posix_spawn` (`proc_spawn2`/`3`)
|
|
11
|
-
- `getuid`/`
|
|
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)
|
|
13
13
|
- stdout is line-buffered unless it is a regular file, so output streams and survives crashes
|
|
14
14
|
- `signal.alarm`/`setitimer` and `time.sleep` resuming after a signal (the sysroot's libc patches, `patches/`)
|
|
@@ -18,6 +18,19 @@ 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-14 (wasix-sysroot -21):
|
|
22
|
+
- `asyncio` subprocess pipes work: `os.fstat` gives a pipe its kernel type,
|
|
23
|
+
`S_ISFIFO` on slicc-kernel with pipe types (#307) and a socket on
|
|
24
|
+
1.47.3-1.48.x, either of which asyncio's pipe transports accept;
|
|
25
|
+
- `termios`/`tty.setraw` really switch the terminal to raw mode (^C arrives as
|
|
26
|
+
a byte), and `os.get_terminal_size` and `isatty` answer per descriptor
|
|
27
|
+
(slicc-kernel ≥ 1.48.0; older kernels keep the previous behaviour).
|
|
28
|
+
|
|
29
|
+
The license is `PSF-2.0 AND GPL-3.0-or-later`, because GNU Readline is linked
|
|
30
|
+
statically. Since 3.14.2-13, `time.tzset()` exists and honours POSIX `TZ` rules.
|
|
31
|
+
The sysconfig records (`_sysconfigdata*`, `_sysconfig_vars*.json`) carry no
|
|
32
|
+
build-machine paths, host compilers or private stub archives.
|
|
33
|
+
|
|
21
34
|
## Side modules: C++ runtime ABI
|
|
22
35
|
|
|
23
36
|
Native extensions are `dylink.0` side modules that import the C++ runtime from
|
|
@@ -56,7 +69,7 @@ On plain Wasmer without `_ssl`, use a local wheel (`--no-index --find-links`) un
|
|
|
56
69
|
python -m venv v && v/bin/pip install requests && v/bin/python -c "import requests"
|
|
57
70
|
```
|
|
58
71
|
|
|
59
|
-
**Venvs need slicc-kernel ≥ 1.29.0** (`engines`
|
|
72
|
+
**Venvs need slicc-kernel ≥ 1.29.0** (`engines` asks for ≥ 1.44.0 anyway, for the user ids). On older kernels a
|
|
60
73
|
venv's `bin/python` and `bin/pip` run as the base interpreter: `v/bin/pip
|
|
61
74
|
install` then installs into the **base** package directory, not the venv.
|
|
62
75
|
|
package/THIRD-PARTY-NOTICES.md
CHANGED
|
@@ -12,6 +12,7 @@ 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
|
-
| wasix-libc | wasix-sysroot 2025.9.30-
|
|
15
|
+
| wasix-libc | wasix-sysroot 2025.9.30-21 | Apache-2.0 WITH LLVM-exception, MIT | @ai-ecoverse/wasix-sysroot |
|
|
16
|
+
| libc++, libc++abi, libunwind | wasix-libc v2026-07-03.1 sysroot-ehpic | Apache-2.0 WITH LLVM-exception | github.com/wasix-org/wasix-libc |
|
|
16
17
|
|
|
17
18
|
lib/python3.14/site-packages/pip is pip (MIT), from CPython's ensurepip bundle.
|
package/bin/python.wasm
CHANGED
|
Binary file
|
|
@@ -506,7 +506,7 @@
|
|
|
506
506
|
#define HAVE_GETGROUPLIST 1
|
|
507
507
|
|
|
508
508
|
/* Define to 1 if you have the 'getgroups' function. */
|
|
509
|
-
|
|
509
|
+
#define HAVE_GETGROUPS 1
|
|
510
510
|
|
|
511
511
|
/* Define if you have the 'gethostbyaddr' function. */
|
|
512
512
|
#define HAVE_GETHOSTBYADDR 1
|
|
@@ -587,10 +587,10 @@
|
|
|
587
587
|
/* #undef HAVE_GETRANDOM_SYSCALL */
|
|
588
588
|
|
|
589
589
|
/* Define to 1 if you have the 'getresgid' function. */
|
|
590
|
-
|
|
590
|
+
#define HAVE_GETRESGID 1
|
|
591
591
|
|
|
592
592
|
/* Define to 1 if you have the 'getresuid' function. */
|
|
593
|
-
|
|
593
|
+
#define HAVE_GETRESUID 1
|
|
594
594
|
|
|
595
595
|
/* Define to 1 if you have the 'getrusage' function. */
|
|
596
596
|
#define HAVE_GETRUSAGE 1
|
|
@@ -1179,16 +1179,16 @@
|
|
|
1179
1179
|
/* #undef HAVE_SETPRIORITY */
|
|
1180
1180
|
|
|
1181
1181
|
/* Define to 1 if you have the 'setregid' function. */
|
|
1182
|
-
|
|
1182
|
+
#define HAVE_SETREGID 1
|
|
1183
1183
|
|
|
1184
1184
|
/* Define to 1 if you have the 'setresgid' function. */
|
|
1185
|
-
|
|
1185
|
+
#define HAVE_SETRESGID 1
|
|
1186
1186
|
|
|
1187
1187
|
/* Define to 1 if you have the 'setresuid' function. */
|
|
1188
|
-
|
|
1188
|
+
#define HAVE_SETRESUID 1
|
|
1189
1189
|
|
|
1190
1190
|
/* Define to 1 if you have the 'setreuid' function. */
|
|
1191
|
-
|
|
1191
|
+
#define HAVE_SETREUID 1
|
|
1192
1192
|
|
|
1193
1193
|
/* Define to 1 if you have the 'setsid' function. */
|
|
1194
1194
|
#define HAVE_SETSID 1
|
|
@@ -1636,7 +1636,7 @@
|
|
|
1636
1636
|
|
|
1637
1637
|
/* Define if tzset() actually switches the local timezone in a meaningful way.
|
|
1638
1638
|
*/
|
|
1639
|
-
|
|
1639
|
+
#define HAVE_WORKING_TZSET 1
|
|
1640
1640
|
|
|
1641
1641
|
/* Define to 1 if you have the 'writev' function. */
|
|
1642
1642
|
#define HAVE_WRITEV 1
|
package/lib/libpython3.14.a
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: package/lib/libpython3.14.a
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 58021622 bytes
|
|
4
|
+
sha256: 83bf115c9bdca139820be7d3d014231290c58911bd4416718fe2d5b632012e28
|
|
@@ -8,6 +8,6 @@ Name: Python
|
|
|
8
8
|
Description: Embed Python into an application
|
|
9
9
|
Requires:
|
|
10
10
|
Version: 3.14
|
|
11
|
-
Libs.private: -ldl /tmp/homescoop-wasix-python/stubs/libpython-wasix-stubs.a -Wl,--wrap=
|
|
11
|
+
Libs.private: -ldl /tmp/homescoop-wasix-python/stubs/libpython-wasix-stubs.a -Wl,--wrap=flock -Wl,--wrap=fcntl -Wl,--wrap=lockf -Wl,--export=__wrap_flock -Wl,--export=__wrap_fcntl -Wl,--export=__wrap_lockf -Wl,-u,_ZTH5errno -Wl,--export=_ZTH5errno -Wl,-u,__cxa_thread_atexit_impl -Wl,--export=__cxa_thread_atexit_impl -lwasi-emulated-getpid -lwasi-emulated-process-clocks -lpthread
|
|
12
12
|
Libs: -L${libdir} -lpython3.14
|
|
13
13
|
Cflags: -I${includedir}/python3.14
|
|
@@ -8,6 +8,6 @@ Name: Python
|
|
|
8
8
|
Description: Build a C extension for Python
|
|
9
9
|
Requires:
|
|
10
10
|
Version: 3.14
|
|
11
|
-
Libs.private: -ldl /tmp/homescoop-wasix-python/stubs/libpython-wasix-stubs.a -Wl,--wrap=
|
|
11
|
+
Libs.private: -ldl /tmp/homescoop-wasix-python/stubs/libpython-wasix-stubs.a -Wl,--wrap=flock -Wl,--wrap=fcntl -Wl,--wrap=lockf -Wl,--export=__wrap_flock -Wl,--export=__wrap_fcntl -Wl,--export=__wrap_lockf -Wl,-u,_ZTH5errno -Wl,--export=_ZTH5errno -Wl,-u,__cxa_thread_atexit_impl -Wl,--export=__cxa_thread_atexit_impl -lwasi-emulated-getpid -lwasi-emulated-process-clocks -lpthread
|
|
12
12
|
Libs: -L${libdir}
|
|
13
13
|
Cflags: -I${includedir}/python3.14
|